diff --git a/CHANGES.md b/CHANGES.md index 4b7a73dc..45789ed6 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -24,6 +24,14 @@ OpenSSL 3.0 ### Changes between 1.1.1 and 3.0 [xx XXX xxxx] ### + * Deprecated EC_POINT_set_Jprojective_coordinates_GFp() and + EC_POINT_get_Jprojective_coordinates_GFp(). These functions are not widely + used and applications should instead use the + L and + L functions. + + *Billy Bob Brumley* + * Added OSSL_PARAM_BLD to the public interface. This allows OSSL_PARAM arrays to be more easily constructed via a series of utility functions. Create a parameter builder using OSSL_PARAM_BLD_new(), add parameters using @@ -79,10 +87,17 @@ OpenSSL 3.0 *Richard Levitte* - * The command line utilities ecparam and ec have been deprecated. Instead - use the pkeyparam, pkey and genpkey programs. + * Added an implementation of CMP and CRMF (RFC 4210, RFC 4211 RFC 6712). + This adds crypto/cmp/, crpyto/crmf/, and test/cmp_*. + See L as starting point. - *Paul Dale* + *David von Oheimb* + + * Generalized the HTTP client code from crypto/ocsp/ into crpyto/http/. + The legacy OCSP-focused and only partly documented API is retained. + See L etc. for details. + + *David von Oheimb* * All of the low level RSA functions have been deprecated including: @@ -138,25 +153,35 @@ OpenSSL 3.0 *Kurt Roeckx* * The command line utilities dhparam, dsa, gendsa and dsaparam have been - deprecated. Instead use the pkeyparam, pkey, genpkey and pkeyparam - programs respectively. + modified to use PKEY APIs. These commands are now in maintenance mode + and no new features will be added to them. + + *Paul Dale* + + * The command line utility rsautl has been deprecated. + Instead use the pkeyutl program. + + *Paul Dale* + + * The command line utilities genrsa and rsa have been modified to use PKEY + APIs These commands are now in maintenance mode and no new features will + be added to them. *Paul Dale* * All of the low level DH functions have been deprecated including: - DH_OpenSSL, DH_set_default_method, DH_get_default_method, DH_set_method, - DH_new_method, DH_bits, DH_size, DH_security_bits, DH_get_ex_new_index, - DH_set_ex_data, DH_get_ex_data, DH_generate_parameters_ex, - DH_check_params_ex, DH_check_ex, DH_check_pub_key_ex, - DH_check, DH_check_pub_key, DH_generate_key, DH_compute_key, - DH_compute_key_padded, DHparams_print_fp, DHparams_print, DH_get_nid, - DH_KDF_X9_42, DH_get0_engine, DH_get_length, DH_set_length, DH_meth_new, + DH_OpenSSL, DH_set_default_method, DH_get_default_method, + DH_set_method, DH_new_method, DH_bits, DH_size, DH_security_bits, + DH_get_ex_new_index, DH_set_ex_data, DH_get_ex_data, + DH_generate_parameters_ex, DH_check_params_ex, DH_check_ex, + DH_check_pub_key_ex, DH_check, DH_check_pub_key, DH_generate_key, + DH_compute_key, DH_compute_key_padded, DHparams_print_fp, + DHparams_print, DH_get_nid, DH_KDF_X9_42, DH_get0_engine, DH_meth_new, DH_meth_free, DH_meth_dup, DH_meth_get0_name, DH_meth_set1_name, DH_meth_get_flags, DH_meth_set_flags, DH_meth_get0_app_data, - DH_meth_set0_app_data, DH_meth_get_generate_key, - DH_meth_set_generate_key, DH_meth_get_compute_key, - DH_meth_set_compute_key, DH_meth_get_bn_mod_exp, + DH_meth_set0_app_data, DH_meth_get_generate_key, DH_meth_set_generate_key, + DH_meth_get_compute_key, DH_meth_set_compute_key, DH_meth_get_bn_mod_exp, DH_meth_set_bn_mod_exp, DH_meth_get_init, DH_meth_set_init, DH_meth_get_finish, DH_meth_set_finish, DH_meth_get_generate_params and DH_meth_set_generate_params. @@ -392,6 +417,11 @@ OpenSSL 3.0 replaced with no-ops. *Rich Salz* + + * Added documentation for the STACK API. OpenSSL only defines the STACK + functions where they are used. + + *Rich Salz* * Introduced a new method type and API, OSSL_SERIALIZER, to represent generic serializers. An implementation is expected to diff --git a/Configurations/00-base-templates.conf b/Configurations/00-base-templates.conf index 451a808f..821a211c 100644 --- a/Configurations/00-base-templates.conf +++ b/Configurations/00-base-templates.conf @@ -10,7 +10,7 @@ my %targets=( includes => [], lib_cflags => "", lib_cppflags => "", - lib_defines => [ 'OPENSSL_BUILDING_OPENSSL' ], + lib_defines => [], thread_scheme => "(unknown)", # Assume we don't know thread_defines => [], @@ -47,7 +47,7 @@ my %targets=( defines => sub { - my @defs = (); + my @defs = ( 'OPENSSL_BUILDING_OPENSSL' ); push @defs, "ZLIB" unless $disabled{zlib}; push @defs, "ZLIB_SHARED" unless $disabled{"zlib-dynamic"}; return [ @defs ]; diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl index 8ce6e789..2eb05d12 100644 --- a/Configurations/descrip.mms.tmpl +++ b/Configurations/descrip.mms.tmpl @@ -50,6 +50,10 @@ grep { !$unified_info{attributes}->{modules}->{$_}->{noinst} && $unified_info{attributes}->{modules}->{$_}->{engine} } @{$unified_info{modules}}; + our @install_modules = + grep { !$unified_info{attributes}->{modules}->{$_}->{noinst} + && !$unified_info{attributes}->{modules}->{$_}->{engine} } + @{$unified_info{modules}}; our @install_programs = grep { !$unified_info{attributes}->{programs}->{$_}->{noinst} } @{$unified_info{programs}}; @@ -132,6 +136,7 @@ GENERATED={- # common0.tmpl provides @generated INSTALL_LIBS={- join(", ", map { "-\n\t".$_.".OLB" } @install_libs) -} INSTALL_SHLIBS={- join(", ", map { "-\n\t".$_.".EXE" } @install_shlibs) -} INSTALL_ENGINES={- join(", ", map { "-\n\t".$_.".EXE" } @install_engines) -} +INSTALL_MODULES={- join(", ", map { "-\n\t".$_.".EXE" } @install_modules) -} INSTALL_PROGRAMS={- join(", ", map { "-\n\t".$_.".EXE" } @install_programs) -} BIN_SCRIPTS={- join(", ", @install_bin_scripts) -} MISC_SCRIPTS={- join(", ", @install_misc_scripts) -} @@ -521,11 +526,11 @@ descrip.mms : FORCE # Install helper targets ############################################# -install_sw : install_dev install_engines install_runtime - - install_startup install_ivp +install_sw : install_dev install_engines install_modules - + install_runtime install_startup install_ivp -uninstall_sw : uninstall_dev uninstall_engines uninstall_runtime - - uninstall_startup uninstall_ivp +uninstall_sw : uninstall_dev uninstall_modules uninstall_engines - + uninstall_runtime uninstall_startup uninstall_ivp install_docs : install_html_docs @@ -566,13 +571,22 @@ install_dev : check_INSTALLTOP install_runtime_libs install_engines : check_INSTALLTOP install_runtime_libs build_modules @ {- output_off() unless scalar @install_engines; "" -} ! - @ WRITE SYS$OUTPUT "*** Installing ENGINE modules" + @ WRITE SYS$OUTPUT "*** Installing engines" - CREATE/DIR ossl_installroot:[ENGINES{- $sover_dirname.$target{pointer_size} -}.'arch'] {- join("\n ", map { "COPY/PROT=W:RE $_.EXE ossl_installroot:[ENGINES$sover_dirname$target{pointer_size}.'arch']" } @install_engines) -} @ {- output_on() unless scalar @install_engines; "" -} ! +install_modules : check_INSTALLTOP install_runtime_libs build_modules + @ {- output_off() unless scalar @install_modules; "" -} ! + @ WRITE SYS$OUTPUT "*** Installing modules" + - CREATE/DIR ossl_installroot:[MODULES{- $sover_dirname.$target{pointer_size} -}.'arch'] + {- join("\n ", + map { "COPY/PROT=W:RE $_.EXE ossl_installroot:[MODULES$sover_dirname$target{pointer_size}.'arch']" } + @install_modules) -} + @ {- output_on() unless scalar @install_modules; "" -} ! + install_runtime : install_programs install_runtime_libs : check_INSTALLTOP build_libs diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index a35ce10c..e7f5f405 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -138,6 +138,14 @@ INSTALL_ENGINES={- && $unified_info{attributes}->{modules}->{$_}->{engine} } @{$unified_info{modules}})) -} +INSTALL_MODULES={- + join(" \\\n" . ' ' x 16, + fill_lines(" ", $COLUMNS - 16, + map { platform->dso($_) } + grep { !$unified_info{attributes}->{modules}->{$_}->{noinst} + && !$unified_info{attributes}->{modules}->{$_}->{engine} } + @{$unified_info{modules}})) +-} INSTALL_PROGRAMS={- join(" \\\n" . ' ' x 16, fill_lines(" ", $COLUMNS - 16, map { platform->bin($_) } @@ -532,9 +540,9 @@ depend: # Install helper targets ############################################# -install_sw: install_dev install_engines install_runtime +install_sw: install_dev install_engines install_modules install_runtime -uninstall_sw: uninstall_runtime uninstall_engines uninstall_dev +uninstall_sw: uninstall_runtime uninstall_modules uninstall_engines uninstall_dev install_docs: install_man_docs install_html_docs @@ -702,10 +710,12 @@ uninstall_dev: uninstall_runtime_libs -$(RMDIR) $(DESTDIR)$(libdir)/pkgconfig -$(RMDIR) $(DESTDIR)$(libdir) -install_engines: install_runtime_libs build_modules +_install_modules_deps: install_runtime_libs build_modules + +install_engines: _install_modules_deps @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(ENGINESDIR)/ - @$(ECHO) "*** Installing ENGINE modules" + @$(ECHO) "*** Installing engines" @set -e; for e in dummy $(INSTALL_ENGINES); do \ if [ "$$e" = "dummy" ]; then continue; fi; \ fn=`basename $$e`; \ @@ -717,7 +727,7 @@ install_engines: install_runtime_libs build_modules done uninstall_engines: - @$(ECHO) "*** Uninstalling ENGINE modules" + @$(ECHO) "*** Uninstalling engines" @set -e; for e in dummy $(INSTALL_ENGINES); do \ if [ "$$e" = "dummy" ]; then continue; fi; \ fn=`basename $$e`; \ @@ -729,6 +739,33 @@ uninstall_engines: done -$(RMDIR) $(DESTDIR)$(ENGINESDIR) +install_modules: _install_modules_deps + @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) + @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(MODULESDIR)/ + @$(ECHO) "*** Installing modules" + @set -e; for e in dummy $(INSTALL_MODULES); do \ + if [ "$$e" = "dummy" ]; then continue; fi; \ + fn=`basename $$e`; \ + $(ECHO) "install $$e -> $(DESTDIR)$(MODULESDIR)/$$fn"; \ + cp $$e $(DESTDIR)$(MODULESDIR)/$$fn.new; \ + chmod 755 $(DESTDIR)$(MODULESDIR)/$$fn.new; \ + mv -f $(DESTDIR)$(MODULESDIR)/$$fn.new \ + $(DESTDIR)$(MODULESDIR)/$$fn; \ + done + +uninstall_modules: + @$(ECHO) "*** Uninstalling modules" + @set -e; for e in dummy $(INSTALL_MODULES); do \ + if [ "$$e" = "dummy" ]; then continue; fi; \ + fn=`basename $$e`; \ + if [ "$$fn" = '{- platform->dso("ossltest") -}' ]; then \ + continue; \ + fi; \ + $(ECHO) "$(RM) $(DESTDIR)$(MODULESDIR)/$$fn"; \ + $(RM) $(DESTDIR)$(MODULESDIR)/$$fn; \ + done + -$(RMDIR) $(DESTDIR)$(MODULESDIR) + install_runtime: install_programs install_runtime_libs: build_libs @@ -983,6 +1020,7 @@ generate_crypto_objects: crypto/objects/obj_mac.num \ crypto/objects/obj_xref.txt \ > crypto/objects/obj_xref.h ) + ( cd $(SRCDIR); cat crypto/objects/obj_compat.h >> include/openssl/obj_mac.h ) generate_crypto_conf: ( cd $(SRCDIR); $(PERL) crypto/conf/keysets.pl \ diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl index 04383997..c9f6ccfc 100644 --- a/Configurations/windows-makefile.tmpl +++ b/Configurations/windows-makefile.tmpl @@ -94,6 +94,20 @@ INSTALL_ENGINEPDBS={- && $unified_info{attributes}->{modules}->{$_}->{engine} } @{$unified_info{modules}}) -} +INSTALL_MODULES={- + join(" \\\n" . ' ' x 16, + fill_lines(" ", $COLUMNS - 16, + map { platform->dso($_) } + grep { !$unified_info{attributes}->{modules}->{$_}->{noinst} + && !$unified_info{attributes}->{modules}->{$_}->{engine} } + @{$unified_info{modules}})) +-} +INSTALL_MODULEPDBS={- + join(" ", map { quotify1(platform->dsopdb($_)) } + grep { !$unified_info{attributes}->{modules}->{$_}->{noinst} + && !$unified_info{attributes}->{modules}->{$_}->{engine} } + @{$unified_info{modules}}) +-} INSTALL_PROGRAMS={- join(" ", map { quotify1(platform->bin($_)) } grep { !$unified_info{attributes}->{programs}->{$_}->{noinst} } @@ -441,9 +455,9 @@ depend: # Install helper targets ############################################# -install_sw: install_dev install_engines install_runtime +install_sw: install_dev install_engines install_modules install_runtime -uninstall_sw: uninstall_runtime uninstall_engines uninstall_dev +uninstall_sw: uninstall_runtime uninstall_modules uninstall_engines uninstall_dev install_docs: install_html_docs @@ -487,9 +501,11 @@ install_dev: install_runtime_libs uninstall_dev: -install_engines: install_runtime_libs build_modules +_install_modules_deps: install_runtime_libs build_modules + +install_engines: _install_modules_deps @if "$(INSTALLTOP)"=="" ( $(ECHO) "INSTALLTOP should not be empty" & exit 1 ) - @$(ECHO) "*** Installing ENGINE modules" + @$(ECHO) "*** Installing engines" @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(ENGINESDIR)" @if not "$(INSTALL_ENGINES)"=="" \ "$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_ENGINES) "$(ENGINESDIR)" @@ -498,6 +514,17 @@ install_engines: install_runtime_libs build_modules uninstall_engines: +install_modules: _install_modules_deps + @if "$(INSTALLTOP)"=="" ( $(ECHO) "INSTALLTOP should not be empty" & exit 1 ) + @$(ECHO) "*** Installing modules" + @"$(PERL)" "$(SRCDIR)\util\mkdir-p.pl" "$(MODULESDIR)" + @if not "$(INSTALL_MODULES)"=="" \ + "$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_MODULES) "$(MODULESDIR)" + @if not "$(INSTALL_MODULES)"=="" \ + "$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_MODULEPDBS) "$(MODULESDIR)" + +uninstall_modules: + install_runtime: install_programs install_runtime_libs: build_libs diff --git a/Configure b/Configure index 64e30fe2..48ebe4eb 100755 --- a/Configure +++ b/Configure @@ -1,6 +1,6 @@ #! /usr/bin/env perl # -*- mode: perl; -*- -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 @@ -286,7 +286,13 @@ collect_information( qr/\s*(\w+)\s*=\s*(.*?)\s*$/ => sub { # Only define it if there is a value at all - $version{uc $1} = $2 if $2 ne ''; + if ($2 ne '') { + my $k = $1; + my $v = $2; + # Some values are quoted. Trim the quotes + $v = $1 if $v =~ /^"(.*)"$/; + $version{uc $k} = $v; + } }, "OTHERWISE" => sub { die "Something wrong with this line:\n$_\nin $srcdir/VERSION" }, @@ -518,7 +524,7 @@ my @disable_cascades = ( "ssl3-method" => [ "ssl3" ], "zlib" => [ "zlib-dynamic" ], "des" => [ "mdc2" ], - "ec" => [ "ecdsa", "ecdh", "sm2" ], + "ec" => [ "ecdsa", "ecdh", "sm2", "gost" ], sub { $disabled{"ec"} && $disabled{"dh"} } => [ "tls1_3" ], "dgram" => [ "dtls", "sctp" ], diff --git a/INSTALL.md b/INSTALL.md index 8eefeb30..e19f6693 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -207,6 +207,9 @@ To avoid breaking other applications, install your copy of OpenSSL to a [different location](#installing-to-a-different-location) which is not in the global search path for system libraries. +Finally, if you plan on using the FIPS module, you need to read the +[Post-installation Notes](#post-installation-notes) further down. + ### Unix / Linux / macOS ### Depending on your distribution, you need to run the following command as @@ -861,11 +864,11 @@ never be used in production environments. It will only work when used with gcc or clang and should be used in conjunction with the `-DPEDANTIC` option (or the `--strict-warnings` option). -### no-ui ### +### no-ui-console ### -Don't build with the User Interface (UI) capability +Don't build with the User Interface (UI) console method -The User Interface is the set of features enabling text based prompts. +The User Interface console method enables text based console prompts. ### enable-unit-test ### @@ -1344,6 +1347,18 @@ Some APIs have changed as well. However, older APIs have been preserved when possible. +Post-installation Notes +----------------------- + +With the default OpenSSL installation comes a FIPS provider module, which +needs some post-installation attention, without which it will not be usable. +This involves using the following command: + + openssl fipsinstall + +See the openssl-fipsinstall(1) manual for details and examples. + + Advanced Build Options ====================== diff --git a/NEWS.md b/NEWS.md index 9f29a593..59081b0c 100644 --- a/NEWS.md +++ b/NEWS.md @@ -21,6 +21,9 @@ OpenSSL 3.0 ### Major changes between OpenSSL 1.1.1 and OpenSSL 3.0 [under development] ### + * The X25519, X448, Ed25519, Ed448 and SHAKE256 algorithms are included in + the FIPS provider. None have the "fips=yes" property set and, as such, + will not be accidentially used. * The algorithm specific public key command line applications have been deprecated. These include dhparam, gendsa and others. The pkey alternatives should be used intead: pkey, pkeyparam and genpkey. @@ -30,6 +33,12 @@ OpenSSL 3.0 authenticate servers or clients. * enable-crypto-mdebug and enable-crypto-mdebug-backtrace were mostly disabled; the project uses address sanitize/leak-detect instead. + * Added a Certificate Management Protocol (CMP, RFC 4210) implementation + also covering CRMF (RFC 4211) and HTTP transfer (RFC 6712). + It is part of the crypto lib, while a 'cmp' app using it is in preparation. + All widely used CMP features are supported for both clients and servers. + * Added a proper HTTP(S) client to libcrypto supporting GET and POST, + redirection, plain and ASN.1-encoded contents, proxies, and timeouts. * Added OSSL_SERIALIZER, a generic serializer API. * Added OSSL_PARAM_BLD, an easier to use API to OSSL_PARAM. * Added error raising macros, ERR_raise() and ERR_raise_data(). diff --git a/README.md b/README.md index 6efcf301..98a07f7f 100644 --- a/README.md +++ b/README.md @@ -118,6 +118,9 @@ document. * [NOTES.VMS](NOTES.VMS) * [NOTES.WIN](NOTES.WIN) +Specific notes on upgrading to OpenSSL 3.0 from previous versions, as well as +known issues are available on the OpenSSL +[wiki](https://wiki.openssl.org/index.php/OpenSSL_3.0). Documentation ============= diff --git a/VERSION b/VERSION index cba848ce..dde825f8 100644 --- a/VERSION +++ b/VERSION @@ -1,7 +1,7 @@ MAJOR=3 MINOR=0 PATCH=0 -PRE_RELEASE_TAG=dev +PRE_RELEASE_TAG=alpha2-dev BUILD_METADATA= -RELEASE_DATE= +RELEASE_DATE="" SHLIB_VERSION=3 diff --git a/apps/CA.pl.in b/apps/CA.pl.in index 918534d6..c0afb967 100644 --- a/apps/CA.pl.in +++ b/apps/CA.pl.in @@ -1,5 +1,5 @@ #!{- $config{HASHBANGPERL} -} -# Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2000-2020 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 diff --git a/apps/asn1pars.c b/apps/asn1pars.c index 342e12d9..4b34e7e6 100644 --- a/apps/asn1pars.c +++ b/apps/asn1pars.c @@ -18,6 +18,9 @@ #include #include +DEFINE_STACK_OF(ASN1_OBJECT) +DEFINE_STACK_OF_STRING() + typedef enum OPTION_choice { OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, OPT_INFORM, OPT_IN, OPT_OUT, OPT_INDENT, OPT_NOOUT, diff --git a/apps/build.info b/apps/build.info index e161bd2c..30e0c751 100644 --- a/apps/build.info +++ b/apps/build.info @@ -34,16 +34,14 @@ ENDIF IF[{- !$disabled{'ts'} -}] $OPENSSLSRC=$OPENSSLSRC ts.c ENDIF -IF[{- !$disabled{'deprecated-3.0'} -}] - IF[{- !$disabled{'dh'} -}] - $OPENSSLSRC=$OPENSSLSRC dhparam.c - ENDIF - IF[{- !$disabled{'dsa'} -}] - $OPENSSLSRC=$OPENSSLSRC dsa.c dsaparam.c gendsa.c - ENDIF - IF[{- !$disabled{'engine'} -}] - $OPENSSLSRC=$OPENSSLSRC engine.c - ENDIF +IF[{- !$disabled{'dh'} -}] +$OPENSSLSRC=$OPENSSLSRC dhparam.c +ENDIF +IF[{- !$disabled{'dsa'} -}] +$OPENSSLSRC=$OPENSSLSRC dsa.c dsaparam.c gendsa.c +ENDIF +IF[{- !$disabled{'engine'} -}] +$OPENSSLSRC=$OPENSSLSRC engine.c ENDIF IF[{- !$disabled{'cmp'} -}] $OPENSSLSRC=$OPENSSLSRC cmp_mock_srv.c diff --git a/apps/ca.c b/apps/ca.c index a2cd4d98..a18ff099 100644 --- a/apps/ca.c +++ b/apps/ca.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -34,6 +34,11 @@ #include "apps.h" #include "progs.h" +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_EXTENSION) +DEFINE_STACK_OF(CONF_VALUE) +DEFINE_STACK_OF_STRING() + #ifndef W_OK # define F_OK 0 # define W_OK 2 @@ -88,7 +93,8 @@ typedef enum { static char *lookup_conf(const CONF *conf, const char *group, const char *tag); -static int certify(X509 **xret, const char *infile, EVP_PKEY *pkey, X509 *x509, +static int certify(X509 **xret, const char *infile, int informat, + EVP_PKEY *pkey, X509 *x509, const EVP_MD *dgst, STACK_OF(OPENSSL_STRING) *sigopts, STACK_OF(OPENSSL_STRING) *vfyopts, @@ -99,7 +105,8 @@ static int certify(X509 **xret, const char *infile, EVP_PKEY *pkey, X509 *x509, long days, int batch, const char *ext_sect, CONF *conf, int verbose, unsigned long certopt, unsigned long nameopt, int default_op, int ext_copy, int selfsign); -static int certify_cert(X509 **xret, const char *infile, EVP_PKEY *pkey, X509 *x509, +static int certify_cert(X509 **xret, const char *infile, int informat, + EVP_PKEY *pkey, X509 *x509, const EVP_MD *dgst, STACK_OF(OPENSSL_STRING) *sigopts, STACK_OF(OPENSSL_STRING) *vfyopts, @@ -145,7 +152,8 @@ typedef enum OPTION_choice { OPT_ENGINE, OPT_VERBOSE, OPT_CONFIG, OPT_NAME, OPT_SUBJ, OPT_UTF8, OPT_CREATE_SERIAL, OPT_MULTIVALUE_RDN, OPT_STARTDATE, OPT_ENDDATE, OPT_DAYS, OPT_MD, OPT_POLICY, OPT_KEYFILE, OPT_KEYFORM, OPT_PASSIN, - OPT_KEY, OPT_CERT, OPT_SELFSIGN, OPT_IN, OPT_OUT, OPT_OUTDIR, OPT_VFYOPT, + OPT_KEY, OPT_CERT, OPT_CERTFORM, OPT_SELFSIGN, + OPT_IN, OPT_INFORM, OPT_OUT, OPT_OUTDIR, OPT_VFYOPT, OPT_SIGOPT, OPT_NOTEXT, OPT_BATCH, OPT_PRESERVEDN, OPT_NOEMAILDN, OPT_GENCRL, OPT_MSIE_HACK, OPT_CRLDAYS, OPT_CRLHOURS, OPT_CRLSEC, OPT_INFILES, OPT_SS_CERT, OPT_SPKAC, OPT_REVOKE, OPT_VALID, @@ -163,7 +171,8 @@ const OPTIONS ca_options[] = { {"help", OPT_HELP, '-', "Display this summary"}, {"verbose", OPT_VERBOSE, '-', "Verbose output during processing"}, {"outdir", OPT_OUTDIR, '/', "Where to put output cert"}, - {"in", OPT_IN, '<', "The input PEM encoded cert request(s)"}, + {"in", OPT_IN, '<', "The input cert request(s)"}, + {"inform", OPT_INFORM, 'F', "CSR input format (DER or PEM); default PEM"}, {"infiles", OPT_INFILES, '-', "The last argument, requests to process"}, {"out", OPT_OUT, '>', "Where to put the output file(s)"}, {"notext", OPT_NOTEXT, '-', "Do not print the generated certificate"}, @@ -185,7 +194,7 @@ const OPTIONS ca_options[] = { OPT_SECTION("Certificate"), {"subj", OPT_SUBJ, 's', "Use arg instead of request's subject"}, - {"utf8", OPT_UTF8, '-', "Input characters are UTF8 (default ASCII)"}, + {"utf8", OPT_UTF8, '-', "Input characters are UTF8; default ASCII"}, {"create_serial", OPT_CREATE_SERIAL, '-', "If reading serial fails, create a new random serial"}, {"rand_serial", OPT_RAND_SERIAL, '-', @@ -210,6 +219,8 @@ const OPTIONS ca_options[] = { {"passin", OPT_PASSIN, 's', "Input file pass phrase source"}, {"key", OPT_KEY, 's', "Key to decode the private key if it is encrypted"}, {"cert", OPT_CERT, '<', "The CA cert"}, + {"certform", OPT_CERTFORM, 'F', + "certificate input format (DER or PEM); default PEM"}, {"selfsign", OPT_SELFSIGN, '-', "Sign a cert with the key associated with it"}, {"sigopt", OPT_SIGOPT, 's', "Signature parameter in n:v form"}, @@ -262,6 +273,7 @@ int ca_main(int argc, char **argv) char *configfile = default_config_file, *section = NULL; char *md = NULL, *policy = NULL, *keyfile = NULL; char *certfile = NULL, *crl_ext = NULL, *crlnumberfile = NULL, *key = NULL; + int certformat = FORMAT_PEM, informat = FORMAT_PEM; const char *infile = NULL, *spkac_file = NULL, *ss_cert_file = NULL; const char *extensions = NULL, *extfile = NULL, *passinarg = NULL; char *outdir = NULL, *outfile = NULL, *rev_arg = NULL, *ser_status = NULL; @@ -301,6 +313,10 @@ opthelp: req = 1; infile = opt_arg(); break; + case OPT_INFORM: + if (!opt_format(opt_arg(), OPT_FMT_PEMDER, &informat)) + goto opthelp; + break; case OPT_OUT: outfile = opt_arg(); break; @@ -368,6 +384,10 @@ opthelp: case OPT_CERT: certfile = opt_arg(); break; + case OPT_CERTFORM: + if (!opt_format(opt_arg(), OPT_FMT_PEMDER, &certformat)) + goto opthelp; + break; case OPT_SELFSIGN: selfsign = 1; break; @@ -566,7 +586,7 @@ end_of_options: && (certfile = lookup_conf(conf, section, ENV_CERTIFICATE)) == NULL) goto end; - x509 = load_cert(certfile, FORMAT_PEM, "CA certificate"); + x509 = load_cert(certfile, certformat, "CA certificate"); if (x509 == NULL) goto end; @@ -921,7 +941,7 @@ end_of_options: } if (ss_cert_file != NULL) { total++; - j = certify_cert(&x, ss_cert_file, pkey, x509, dgst, + j = certify_cert(&x, ss_cert_file, certformat, pkey, x509, dgst, sigopts, vfyopts, attribs, db, serial, subj, chtype, multirdn, email_dn, startdate, enddate, days, batch, extensions, @@ -942,8 +962,8 @@ end_of_options: } if (infile != NULL) { total++; - j = certify(&x, infile, pkey, x509p, dgst, sigopts, vfyopts, - attribs, db, + j = certify(&x, infile, informat, pkey, x509p, dgst, + sigopts, vfyopts, attribs, db, serial, subj, chtype, multirdn, email_dn, startdate, enddate, days, batch, extensions, conf, verbose, certopt, get_nameopt(), default_op, ext_copy, selfsign); @@ -962,7 +982,8 @@ end_of_options: } for (i = 0; i < argc; i++) { total++; - j = certify(&x, argv[i], pkey, x509p, dgst, sigopts, vfyopts, + j = certify(&x, argv[i], informat, pkey, x509p, dgst, + sigopts, vfyopts, attribs, db, serial, subj, chtype, multirdn, email_dn, startdate, enddate, days, batch, extensions, conf, verbose, @@ -1242,7 +1263,7 @@ end_of_options: goto end; } else { X509 *revcert; - revcert = load_cert(infile, FORMAT_PEM, infile); + revcert = load_cert(infile, certformat, infile); if (revcert == NULL) goto end; if (dorevoke == 2) @@ -1295,7 +1316,8 @@ static char *lookup_conf(const CONF *conf, const char *section, const char *tag) return entry; } -static int certify(X509 **xret, const char *infile, EVP_PKEY *pkey, X509 *x509, +static int certify(X509 **xret, const char *infile, int informat, + EVP_PKEY *pkey, X509 *x509, const EVP_MD *dgst, STACK_OF(OPENSSL_STRING) *sigopts, STACK_OF(OPENSSL_STRING) *vfyopts, @@ -1308,20 +1330,12 @@ static int certify(X509 **xret, const char *infile, EVP_PKEY *pkey, X509 *x509, int default_op, int ext_copy, int selfsign) { X509_REQ *req = NULL; - BIO *in = NULL; EVP_PKEY *pktmp = NULL; int ok = -1, i; - in = BIO_new_file(infile, "r"); - if (in == NULL) { - ERR_print_errors(bio_err); + req = load_csr(infile, informat, "certificate request"); + if (req == NULL) goto end; - } - if ((req = PEM_read_bio_X509_REQ(in, NULL, NULL, NULL)) == NULL) { - BIO_printf(bio_err, "Error reading certificate request in %s\n", - infile); - goto end; - } if (verbose) X509_REQ_print_ex(bio_err, req, nameopt, X509_FLAG_COMPAT); @@ -1362,11 +1376,11 @@ static int certify(X509 **xret, const char *infile, EVP_PKEY *pkey, X509 *x509, end: X509_REQ_free(req); - BIO_free(in); return ok; } -static int certify_cert(X509 **xret, const char *infile, EVP_PKEY *pkey, X509 *x509, +static int certify_cert(X509 **xret, const char *infile, int certformat, + EVP_PKEY *pkey, X509 *x509, const EVP_MD *dgst, STACK_OF(OPENSSL_STRING) *sigopts, STACK_OF(OPENSSL_STRING) *vfyopts, @@ -1382,7 +1396,7 @@ static int certify_cert(X509 **xret, const char *infile, EVP_PKEY *pkey, X509 *x EVP_PKEY *pktmp = NULL; int ok = -1, i; - if ((req = load_cert(infile, FORMAT_PEM, infile)) == NULL) + if ((req = load_cert(infile, certformat, infile)) == NULL) goto end; if (verbose) X509_print(bio_err, req); diff --git a/apps/ciphers.c b/apps/ciphers.c index 9bbc12ae..380091f1 100644 --- a/apps/ciphers.c +++ b/apps/ciphers.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -15,6 +15,8 @@ #include #include +DEFINE_STACK_OF_CONST(SSL_CIPHER) + typedef enum OPTION_choice { OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, OPT_STDNAME, diff --git a/apps/cmp_mock_srv.c b/apps/cmp_mock_srv.c index 8ffe4ca5..b45f9855 100644 --- a/apps/cmp_mock_srv.c +++ b/apps/cmp_mock_srv.c @@ -15,6 +15,10 @@ #include #include +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(OSSL_CMP_ITAV) +DEFINE_STACK_OF(ASN1_UTF8STRING) + /* the context for the CMP mock server */ typedef struct { diff --git a/apps/cms.c b/apps/cms.c index c8c303ea..0c8af3da 100644 --- a/apps/cms.c +++ b/apps/cms.c @@ -1,5 +1,5 @@ /* - * Copyright 2008-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2008-2020 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 @@ -23,6 +23,12 @@ # include # include +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(CMS_SignerInfo) +DEFINE_STACK_OF(GENERAL_NAME) +DEFINE_STACK_OF(GENERAL_NAMES) +DEFINE_STACK_OF_STRING() + static int save_certs(char *signerfile, STACK_OF(X509) *signers); static int cms_cb(int ok, X509_STORE_CTX *ctx); static void receipt_request_print(CMS_ContentInfo *cms); diff --git a/apps/crl.c b/apps/crl.c index 5e0a517a..8028fef5 100644 --- a/apps/crl.c +++ b/apps/crl.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -46,7 +46,7 @@ const OPTIONS crl_options[] = { #ifndef OPENSSL_NO_MD5 {"hash_old", OPT_HASH_OLD, '-', "Print old-style (MD5) hash value"}, #endif - {"nameopt", OPT_NAMEOPT, 's', "Various certificate name options"}, + {"nameopt", OPT_NAMEOPT, 's', "Certificate subject/issuer name printing options"}, {"", OPT_MD, '-', "Any supported digest"}, OPT_SECTION("CRL"), @@ -205,7 +205,7 @@ int crl_main(int argc, char **argv) if (argc != 0) goto opthelp; - x = load_crl(infile, informat); + x = load_crl(infile, informat, "CRL"); if (x == NULL) goto end; @@ -250,7 +250,7 @@ int crl_main(int argc, char **argv) BIO_puts(bio_err, "Missing CRL signing key\n"); goto end; } - newcrl = load_crl(crldiff, informat); + newcrl = load_crl(crldiff, informat, "other CRL"); if (!newcrl) goto end; pkey = load_key(keyfile, keyformat, 0, NULL, NULL, "CRL signing key"); diff --git a/apps/crl2p7.c b/apps/crl2p7.c index 53bc88f7..e0de95a1 100644 --- a/apps/crl2p7.c +++ b/apps/crl2p7.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -19,6 +19,11 @@ #include #include +DEFINE_STACK_OF(X509_CRL) +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_INFO) +DEFINE_STACK_OF_STRING() + static int add_certs_from_file(STACK_OF(X509) *stack, char *certfile); typedef enum OPTION_choice { diff --git a/apps/dgst.c b/apps/dgst.c index dcb4c094..90aaf982 100644 --- a/apps/dgst.c +++ b/apps/dgst.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -21,6 +21,8 @@ #include #include +DEFINE_STACK_OF_STRING() + #undef BUFSIZE #define BUFSIZE 1024*8 diff --git a/apps/dhparam.c b/apps/dhparam.c index 019a7ce8..3e5f4095 100644 --- a/apps/dhparam.c +++ b/apps/dhparam.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -7,9 +7,10 @@ * https://www.openssl.org/source/license.html */ +#ifndef OPENSSL_NO_DEPRECATED_3_0 /* We need to use some deprecated APIs */ -#define OPENSSL_SUPPRESS_DEPRECATED - +# define OPENSSL_SUPPRESS_DEPRECATED +#endif #include #include @@ -25,13 +26,16 @@ #include #include -#ifndef OPENSSL_NO_DSA +#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0) # include #endif #define DEFBITS 2048 +#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0) static int dh_cb(int p, int n, BN_GENCB *cb); +#endif +static int gendh_cb(EVP_PKEY_CTX *ctx); typedef enum OPTION_choice { OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, @@ -81,9 +85,11 @@ int dhparam_main(int argc, char **argv) { BIO *in = NULL, *out = NULL; DH *dh = NULL; + EVP_PKEY *pkey = NULL; + EVP_PKEY_CTX *ctx = NULL; char *infile = NULL, *outfile = NULL, *prog; ENGINE *e = NULL; -#ifndef OPENSSL_NO_DSA +#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0) int dsaparam = 0; #endif int i, text = 0, C = 0, ret = 1, num = 0, g = 0; @@ -127,7 +133,11 @@ int dhparam_main(int argc, char **argv) break; case OPT_DSAPARAM: #ifndef OPENSSL_NO_DSA +# ifdef OPENSSL_NO_DEPRECATED_3_0 + BIO_printf(bio_err, "The dsaparam option is deprecated.\n"); +# else dsaparam = 1; +# endif #endif break; case OPT_C: @@ -164,7 +174,7 @@ int dhparam_main(int argc, char **argv) if (g && !num) num = DEFBITS; -#ifndef OPENSSL_NO_DSA +#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0) if (dsaparam && g) { BIO_printf(bio_err, "generator may not be chosen for DSA parameters\n"); @@ -182,18 +192,18 @@ int dhparam_main(int argc, char **argv) if (num) { - BN_GENCB *cb; - cb = BN_GENCB_new(); - if (cb == NULL) { - ERR_print_errors(bio_err); - goto end; - } - BN_GENCB_set(cb, dh_cb, bio_err); - -#ifndef OPENSSL_NO_DSA +#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0) if (dsaparam) { DSA *dsa = DSA_new(); + BN_GENCB *cb = BN_GENCB_new(); + + if (cb == NULL) { + ERR_print_errors(bio_err); + goto end; + } + + BN_GENCB_set(cb, dh_cb, bio_err); BIO_printf(bio_err, "Generating DSA parameters, %d bit long prime\n", num); @@ -208,34 +218,51 @@ int dhparam_main(int argc, char **argv) dh = DSA_dup_DH(dsa); DSA_free(dsa); + BN_GENCB_free(cb); if (dh == NULL) { - BN_GENCB_free(cb); ERR_print_errors(bio_err); goto end; } } else #endif { - dh = DH_new(); + ctx = EVP_PKEY_CTX_new_from_name(NULL, "DH", NULL); + if (ctx == NULL) { + ERR_print_errors(bio_err); + BIO_printf(bio_err, + "Error, DH key generation context allocation failed\n"); + goto end; + } + EVP_PKEY_CTX_set_cb(ctx, gendh_cb); + EVP_PKEY_CTX_set_app_data(ctx, bio_err); BIO_printf(bio_err, "Generating DH parameters, %d bit long safe prime, generator %d\n", num, g); BIO_printf(bio_err, "This is going to take a long time\n"); - if (dh == NULL || !DH_generate_parameters_ex(dh, num, g, cb)) { - BN_GENCB_free(cb); + if (!EVP_PKEY_paramgen_init(ctx)) { + BIO_printf(bio_err, + "Error, unable to initialise DH param generation\n"); + ERR_print_errors(bio_err); + goto end; + } + + if (!EVP_PKEY_CTX_set_dh_paramgen_prime_len(ctx, num)) { + BIO_printf(bio_err, "Error, unable to set DH prime length\n"); + ERR_print_errors(bio_err); + goto end; + } + if (!EVP_PKEY_paramgen(ctx, &pkey)) { + BIO_printf(bio_err, "Error, DH generation failed\n"); ERR_print_errors(bio_err); goto end; } } - - BN_GENCB_free(cb); } else { - in = bio_open_default(infile, 'r', informat); if (in == NULL) goto end; -#ifndef OPENSSL_NO_DSA +#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0) if (dsaparam) { DSA *dsa; @@ -264,10 +291,10 @@ int dhparam_main(int argc, char **argv) * We have no PEM header to determine what type of DH params it * is. We'll just try both. */ - dh = d2i_DHparams_bio(in, NULL); + dh = ASN1_d2i_bio_of(DH, DH_new, d2i_DHparams, in, NULL); /* BIO_reset() returns 0 for success for file BIOs only!!! */ if (dh == NULL && BIO_reset(in) == 0) - dh = d2i_DHxparams_bio(in, NULL); + dh = ASN1_d2i_bio_of(DH, DH_new, d2i_DHxparams, in, NULL); } else { /* informat == FORMAT_PEM */ dh = PEM_read_bio_DHparams(in, NULL, NULL, NULL); @@ -279,37 +306,20 @@ int dhparam_main(int argc, char **argv) goto end; } } - /* dh != NULL */ } - if (text) { - DHparams_print(out, dh); - } + if (text) + EVP_PKEY_print_params(out, pkey, 4, NULL); if (check) { - if (!DH_check(dh, &i)) { + if (!EVP_PKEY_param_check(ctx) /* DH_check(dh, &i) */) { ERR_print_errors(bio_err); + BIO_printf(bio_err, "ERROR: Invalid parameters generated\n"); goto end; } - if (i & DH_CHECK_P_NOT_PRIME) - BIO_printf(bio_err, "WARNING: p value is not prime\n"); - if (i & DH_CHECK_P_NOT_SAFE_PRIME) - BIO_printf(bio_err, "WARNING: p value is not a safe prime\n"); - if (i & DH_CHECK_Q_NOT_PRIME) - BIO_printf(bio_err, "WARNING: q value is not a prime\n"); - if (i & DH_CHECK_INVALID_Q_VALUE) - BIO_printf(bio_err, "WARNING: q value is invalid\n"); - if (i & DH_CHECK_INVALID_J_VALUE) - BIO_printf(bio_err, "WARNING: j value is invalid\n"); - if (i & DH_UNABLE_TO_CHECK_GENERATOR) - BIO_printf(bio_err, - "WARNING: unable to check the generator value\n"); - if (i & DH_NOT_SUITABLE_GENERATOR) - BIO_printf(bio_err, "WARNING: the g value is not a generator\n"); - if (i == 0) - BIO_printf(bio_err, "DH parameters appear to be ok.\n"); - if (num != 0 && i != 0) { + BIO_printf(bio_err, "DH parameters appear to be ok.\n"); + if (num != 0) { /* * We have generated parameters but DH_check() indicates they are * invalid! This should never happen! @@ -323,8 +333,9 @@ int dhparam_main(int argc, char **argv) int len, bits; const BIGNUM *pbn, *gbn; - len = DH_size(dh); - bits = DH_bits(dh); + dh = EVP_PKEY_get0_DH(pkey); + len = EVP_PKEY_size(pkey); + bits = EVP_PKEY_size(pkey); DH_get0_pqg(dh, &pbn, NULL, &gbn); data = app_malloc(len, "print a BN"); @@ -362,9 +373,9 @@ int dhparam_main(int argc, char **argv) DH_get0_pqg(dh, NULL, &q, NULL); if (outformat == FORMAT_ASN1) { if (q != NULL) - i = i2d_DHxparams_bio(out, dh); + i = ASN1_i2d_bio_of(DH, i2d_DHxparams, out, dh); else - i = i2d_DHparams_bio(out, dh); + i = ASN1_i2d_bio_of(DH, i2d_DHparams, out, dh); } else if (q != NULL) { i = PEM_write_bio_DHxparams(out, dh); } else { @@ -380,17 +391,31 @@ int dhparam_main(int argc, char **argv) end: BIO_free(in); BIO_free_all(out); - DH_free(dh); + EVP_PKEY_free(pkey); + EVP_PKEY_CTX_free(ctx); release_engine(e); return ret; } -static int dh_cb(int p, int n, BN_GENCB *cb) +static int common_dh_cb(int p, BIO *b) { static const char symbols[] = ".+*\n"; char c = (p >= 0 && (size_t)p < sizeof(symbols) - 1) ? symbols[p] : '?'; - BIO_write(BN_GENCB_get_arg(cb), &c, 1); - (void)BIO_flush(BN_GENCB_get_arg(cb)); + BIO_write(b, &c, 1); + (void)BIO_flush(b); return 1; } + +#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0) +static int dh_cb(int p, int n, BN_GENCB *cb) +{ + return common_dh_cb(p, BN_GENCB_get_arg(cb)); +} +#endif + +static int gendh_cb(EVP_PKEY_CTX *ctx) +{ + return common_dh_cb(EVP_PKEY_CTX_get_keygen_info(ctx, 0), + EVP_PKEY_CTX_get_app_data(ctx)); +} diff --git a/apps/dsa.c b/apps/dsa.c index 200e959f..65397ab0 100644 --- a/apps/dsa.c +++ b/apps/dsa.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -7,9 +7,6 @@ * https://www.openssl.org/source/license.html */ -/* We need to use the deprecated DSA_print */ -#define OPENSSL_SUPPRESS_DEPRECATED - #include #include @@ -73,6 +70,7 @@ int dsa_main(int argc, char **argv) BIO *out = NULL; DSA *dsa = NULL; ENGINE *e = NULL; + EVP_PKEY *pkey = NULL; const EVP_CIPHER *enc = NULL; char *infile = NULL, *outfile = NULL, *prog; char *passin = NULL, *passout = NULL, *passinarg = NULL, *passoutarg = NULL; @@ -166,19 +164,13 @@ int dsa_main(int argc, char **argv) } BIO_printf(bio_err, "read DSA key\n"); - { - EVP_PKEY *pkey; + if (pubin) + pkey = load_pubkey(infile, informat, 1, passin, e, "Public Key"); + else + pkey = load_key(infile, informat, 1, passin, e, "Private Key"); - if (pubin) - pkey = load_pubkey(infile, informat, 1, passin, e, "Public Key"); - else - pkey = load_key(infile, informat, 1, passin, e, "Private Key"); - - if (pkey != NULL) { - dsa = EVP_PKEY_get1_DSA(pkey); - EVP_PKEY_free(pkey); - } - } + if (pkey != NULL) + dsa = EVP_PKEY_get1_DSA(pkey); if (dsa == NULL) { BIO_printf(bio_err, "unable to load Key\n"); @@ -192,7 +184,8 @@ int dsa_main(int argc, char **argv) if (text) { assert(pubin || private); - if (!DSA_print(out, dsa, 0)) { + if ((pubin && EVP_PKEY_print_public(out, pkey, 0, NULL) <= 0) + || (!pubin && EVP_PKEY_print_private(out, pkey, 0, NULL) <= 0)) { perror(outfile); ERR_print_errors(bio_err); goto end; @@ -269,6 +262,7 @@ int dsa_main(int argc, char **argv) ret = 0; end: BIO_free_all(out); + EVP_PKEY_free(pkey); DSA_free(dsa); release_engine(e); OPENSSL_free(passin); diff --git a/apps/dsaparam.c b/apps/dsaparam.c index 11f47b44..9b73a31c 100644 --- a/apps/dsaparam.c +++ b/apps/dsaparam.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -7,9 +7,6 @@ * https://www.openssl.org/source/license.html */ -/* We need to use some deprecated APIs */ -#define OPENSSL_SUPPRESS_DEPRECATED - #include #include @@ -27,7 +24,7 @@ static int verbose = 0; -static int dsa_cb(int p, int n, BN_GENCB *cb); +static int gendsa_cb(EVP_PKEY_CTX *ctx); typedef enum OPTION_choice { OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, @@ -71,7 +68,8 @@ int dsaparam_main(int argc, char **argv) ENGINE *e = NULL; DSA *dsa = NULL; BIO *in = NULL, *out = NULL; - BN_GENCB *cb = NULL; + EVP_PKEY *pkey = NULL; + EVP_PKEY_CTX *ctx = NULL; int numbits = -1, num = 0, genkey = 0; int informat = FORMAT_PEM, outformat = FORMAT_PEM, noout = 0, C = 0; int ret = 1, i, text = 0, private = 0; @@ -150,6 +148,13 @@ int dsaparam_main(int argc, char **argv) if (out == NULL) goto end; + ctx = EVP_PKEY_CTX_new_from_name(NULL, "DSA", NULL); + if (ctx == NULL) { + ERR_print_errors(bio_err); + BIO_printf(bio_err, + "Error, DSA parameter generation context allocation failed\n"); + goto end; + } if (numbits > 0) { if (numbits > OPENSSL_DSA_MAX_MODULUS_BITS) BIO_printf(bio_err, @@ -157,27 +162,36 @@ int dsaparam_main(int argc, char **argv) " Your key size is %d! Larger key size may behave not as expected.\n", OPENSSL_DSA_MAX_MODULUS_BITS, numbits); - cb = BN_GENCB_new(); - if (cb == NULL) { - BIO_printf(bio_err, "Error allocating BN_GENCB object\n"); - goto end; - } - BN_GENCB_set(cb, dsa_cb, bio_err); - dsa = DSA_new(); - if (dsa == NULL) { - BIO_printf(bio_err, "Error allocating DSA object\n"); - goto end; - } + EVP_PKEY_CTX_set_cb(ctx, gendsa_cb); + EVP_PKEY_CTX_set_app_data(ctx, bio_err); if (verbose) { BIO_printf(bio_err, "Generating DSA parameters, %d bit long prime\n", num); BIO_printf(bio_err, "This could take some time\n"); } - if (!DSA_generate_parameters_ex(dsa, num, NULL, 0, NULL, NULL, cb)) { + if (EVP_PKEY_paramgen_init(ctx) <= 0) { + ERR_print_errors(bio_err); + BIO_printf(bio_err, + "Error, DSA key generation paramgen init failed\n"); + goto end; + } + if (!EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx, num)) { + ERR_print_errors(bio_err); + BIO_printf(bio_err, + "Error, DSA key generation setting bit length failed\n"); + goto end; + } + if (EVP_PKEY_paramgen(ctx, &pkey) <= 0) { ERR_print_errors(bio_err); BIO_printf(bio_err, "Error, DSA key generation failed\n"); goto end; } + dsa = EVP_PKEY_get1_DSA(pkey); + if (dsa == NULL) { + ERR_print_errors(bio_err); + BIO_printf(bio_err, "Error, DSA key extraction failed\n"); + goto end; + } } else if (informat == FORMAT_ASN1) { dsa = d2i_DSAparams_bio(in, NULL); } else { @@ -189,8 +203,21 @@ int dsaparam_main(int argc, char **argv) goto end; } + if (pkey == NULL) { + pkey = EVP_PKEY_new(); + if (pkey == NULL) { + BIO_printf(bio_err, "Error, unable to allocate PKEY object\n"); + ERR_print_errors(bio_err); + goto end; + } + if (!EVP_PKEY_set1_DSA(pkey, dsa)) { + BIO_printf(bio_err, "Error, unable to set DSA parameters\n"); + ERR_print_errors(bio_err); + goto end; + } + } if (text) { - DSAparams_print(out, dsa); + EVP_PKEY_print_params(out, pkey, 0, NULL); } if (C) { @@ -246,11 +273,28 @@ int dsaparam_main(int argc, char **argv) if (genkey) { DSA *dsakey; - if ((dsakey = DSAparams_dup(dsa)) == NULL) - goto end; - if (!DSA_generate_key(dsakey)) { + EVP_PKEY_CTX_free(ctx); + ctx = EVP_PKEY_CTX_new_from_name(NULL, "DSA", NULL); + if (ctx == NULL) { + ERR_print_errors(bio_err); + BIO_printf(bio_err, + "Error, DSA key generation context allocation failed\n"); + goto end; + } + if (!EVP_PKEY_keygen_init(ctx)) { + BIO_printf(bio_err, "unable to initialise for key generation\n"); + ERR_print_errors(bio_err); + goto end; + } + if (!EVP_PKEY_keygen(ctx, &pkey)) { + BIO_printf(bio_err, "unable to generate key\n"); + ERR_print_errors(bio_err); + goto end; + } + dsakey = EVP_PKEY_get0_DSA(pkey); + if (dsakey == NULL) { + BIO_printf(bio_err, "unable to extract generated key\n"); ERR_print_errors(bio_err); - DSA_free(dsakey); goto end; } assert(private); @@ -259,27 +303,33 @@ int dsaparam_main(int argc, char **argv) else i = PEM_write_bio_DSAPrivateKey(out, dsakey, NULL, NULL, 0, NULL, NULL); - DSA_free(dsakey); } ret = 0; end: - BN_GENCB_free(cb); BIO_free(in); BIO_free_all(out); + EVP_PKEY_CTX_free(ctx); + EVP_PKEY_free(pkey); DSA_free(dsa); release_engine(e); return ret; } -static int dsa_cb(int p, int n, BN_GENCB *cb) +static int gendsa_cb(EVP_PKEY_CTX *ctx) { static const char symbols[] = ".+*\n"; - char c = (p >= 0 && (size_t)p < sizeof(symbols) - 1) ? symbols[p] : '?'; + int p; + char c; + BIO *b; if (!verbose) return 1; - BIO_write(BN_GENCB_get_arg(cb), &c, 1); - (void)BIO_flush(BN_GENCB_get_arg(cb)); + b = EVP_PKEY_CTX_get_app_data(ctx); + p = EVP_PKEY_CTX_get_keygen_info(ctx, 0); + c = (p >= 0 && (size_t)p < sizeof(symbols) - 1) ? symbols[p] : '?'; + + BIO_write(b, &c, 1); + (void)BIO_flush(b); return 1; } diff --git a/apps/ec.c b/apps/ec.c index ba37d806..9cf6e1a5 100644 --- a/apps/ec.c +++ b/apps/ec.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 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 diff --git a/apps/ecparam.c b/apps/ecparam.c index b93c2fa0..635bde2d 100644 --- a/apps/ecparam.c +++ b/apps/ecparam.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/apps/enc.c b/apps/enc.c index 74fd6f84..d7e99b43 100644 --- a/apps/enc.c +++ b/apps/enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/apps/engine.c b/apps/engine.c index c070f1f8..6d788ac8 100644 --- a/apps/engine.c +++ b/apps/engine.c @@ -1,5 +1,5 @@ /* - * Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2020 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 @@ -19,6 +19,9 @@ #include #include +DEFINE_STACK_OF_STRING() +DEFINE_STACK_OF_CSTRING() + typedef enum OPTION_choice { OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, OPT_C, OPT_T, OPT_TT, OPT_PRE, OPT_POST, diff --git a/apps/fipsinstall.c b/apps/fipsinstall.c index 564b2082..1eb183f3 100644 --- a/apps/fipsinstall.c +++ b/apps/fipsinstall.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 @@ -18,6 +18,8 @@ #include "apps.h" #include "progs.h" +DEFINE_STACK_OF_STRING() + #define BUFSIZE 4096 #define DEFAULT_MAC_NAME "HMAC" #define DEFAULT_FIPS_SECTION "fips_check_section" @@ -31,12 +33,13 @@ static OSSL_CALLBACK self_test_events; static char *self_test_corrupt_desc = NULL; static char *self_test_corrupt_type = NULL; static int self_test_log = 1; +static int quiet = 0; typedef enum OPTION_choice { OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, OPT_IN, OPT_OUT, OPT_MODULE, OPT_PROV_NAME, OPT_SECTION_NAME, OPT_MAC_NAME, OPT_MACOPT, OPT_VERIFY, - OPT_NO_LOG, OPT_CORRUPT_DESC, OPT_CORRUPT_TYPE + OPT_NO_LOG, OPT_CORRUPT_DESC, OPT_CORRUPT_TYPE, OPT_QUIET } OPTION_CHOICE; const OPTIONS fipsinstall_options[] = { @@ -60,6 +63,7 @@ const OPTIONS fipsinstall_options[] = { {"noout", OPT_NO_LOG, '-', "Disable logging of self test events"}, {"corrupt_desc", OPT_CORRUPT_DESC, 's', "Corrupt a self test by description"}, {"corrupt_type", OPT_CORRUPT_TYPE, 's', "Corrupt a self test by type"}, + {"quiet", OPT_QUIET, '-', "No messages, just exit status"}, {NULL} }; @@ -287,7 +291,7 @@ int fipsinstall_main(int argc, char **argv) case OPT_ERR: opthelp: BIO_printf(bio_err, "%s: Use -help for summary.\n", prog); - goto end; + goto cleanup; case OPT_HELP: opt_help(fipsinstall_options); ret = 0; @@ -298,6 +302,9 @@ opthelp: case OPT_OUT: out_fname = opt_arg(); break; + case OPT_QUIET: + quiet = 1; + /* FALLTHROUGH */ case OPT_NO_LOG: self_test_log = 0; break; @@ -405,7 +412,8 @@ opthelp: if (!verify_config(in_fname, section_name, module_mac, module_mac_len, install_mac, install_mac_len)) goto end; - BIO_printf(bio_out, "VERIFY PASSED\n"); + if (!quiet) + BIO_printf(bio_out, "VERIFY PASSED\n"); } else { conf = generate_config_and_load(prov_name, section_name, module_mac, @@ -424,16 +432,19 @@ opthelp: module_mac_len, install_mac, install_mac_len)) goto end; - BIO_printf(bio_out, "INSTALL PASSED\n"); + if (!quiet) + BIO_printf(bio_out, "INSTALL PASSED\n"); } ret = 0; end: if (ret == 1) { - BIO_printf(bio_err, "%s FAILED\n", verify ? "VERIFY" : "INSTALL"); + if (!quiet) + BIO_printf(bio_err, "%s FAILED\n", verify ? "VERIFY" : "INSTALL"); ERR_print_errors(bio_err); } +cleanup: BIO_free(fout); BIO_free(mem_bio); BIO_free(module_bio); diff --git a/apps/gendsa.c b/apps/gendsa.c index 56939c56..f2afa113 100644 --- a/apps/gendsa.c +++ b/apps/gendsa.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -7,9 +7,6 @@ * https://www.openssl.org/source/license.html */ -/* We need to use some deprecated APIs */ -#define OPENSSL_SUPPRESS_DEPRECATED - #include #include @@ -58,6 +55,8 @@ int gendsa_main(int argc, char **argv) ENGINE *e = NULL; BIO *out = NULL, *in = NULL; DSA *dsa = NULL; + EVP_PKEY *pkey = NULL; + EVP_PKEY_CTX *ctx = NULL; const EVP_CIPHER *enc = NULL; char *dsaparams = NULL; char *outfile = NULL, *passoutarg = NULL, *passout = NULL, *prog; @@ -139,14 +138,38 @@ int gendsa_main(int argc, char **argv) " Your key size is %d! Larger key size may behave not as expected.\n", OPENSSL_DSA_MAX_MODULUS_BITS, BN_num_bits(p)); + pkey = EVP_PKEY_new(); + if (pkey == NULL) { + BIO_printf(bio_err, "unable to allocate PKEY\n"); + goto end; + } + if (!EVP_PKEY_set1_DSA(pkey, dsa)) { + BIO_printf(bio_err, "unable to associate DSA parameters with PKEY\n"); + goto end; + } + ctx = EVP_PKEY_CTX_new(pkey, NULL); + if (ctx == NULL) { + BIO_printf(bio_err, "unable to create PKEY context\n"); + goto end; + } + EVP_PKEY_free(pkey); + pkey = NULL; + if (EVP_PKEY_keygen_init(ctx) <= 0) { + BIO_printf(bio_err, "unable to set up for key generation\n"); + goto end; + } if (verbose) BIO_printf(bio_err, "Generating DSA key, %d bits\n", BN_num_bits(p)); - if (!DSA_generate_key(dsa)) + if (EVP_PKEY_keygen(ctx, &pkey) <= 0) { + BIO_printf(bio_err, "unable to generate key\n"); goto end; + } assert(private); - if (!PEM_write_bio_DSAPrivateKey(out, dsa, enc, NULL, 0, NULL, passout)) + if (!PEM_write_bio_PrivateKey(out, pkey, enc, NULL, 0, NULL, passout)) { + BIO_printf(bio_err, "unable to output generated key\n"); goto end; + } ret = 0; end: if (ret != 0) @@ -155,6 +178,8 @@ int gendsa_main(int argc, char **argv) BIO_free(in); BIO_free_all(out); DSA_free(dsa); + EVP_PKEY_free(pkey); + EVP_PKEY_CTX_free(ctx); release_engine(e); OPENSSL_free(passout); return ret; diff --git a/apps/genpkey.c b/apps/genpkey.c index ef2979dd..8954ef19 100644 --- a/apps/genpkey.c +++ b/apps/genpkey.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 diff --git a/apps/genrsa.c b/apps/genrsa.c index b80f07c2..44ce4288 100644 --- a/apps/genrsa.c +++ b/apps/genrsa.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -29,7 +29,7 @@ static int verbose = 0; -static int genrsa_cb(int p, int n, BN_GENCB *cb); +static int genrsa_cb(EVP_PKEY_CTX *ctx); typedef enum OPTION_choice { OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, @@ -70,24 +70,24 @@ const OPTIONS genrsa_options[] = { int genrsa_main(int argc, char **argv) { BN_GENCB *cb = BN_GENCB_new(); - PW_CB_DATA cb_data; ENGINE *eng = NULL; BIGNUM *bn = BN_new(); + RSA *rsa; BIO *out = NULL; const BIGNUM *e; - RSA *rsa = NULL; + EVP_PKEY *pkey = NULL; + EVP_PKEY_CTX *ctx = NULL; const EVP_CIPHER *enc = NULL; int ret = 1, num = DEFBITS, private = 0, primes = DEFPRIMES; unsigned long f4 = RSA_F4; char *outfile = NULL, *passoutarg = NULL, *passout = NULL; char *prog, *hexe, *dece; OPTION_CHOICE o; + unsigned char *ebuf = NULL; if (bn == NULL || cb == NULL) goto end; - BN_GENCB_set(cb, genrsa_cb, bio_err); - prog = opt_init(argc, argv, genrsa_options); while ((o = opt_next()) != OPT_EOF) { switch (o) { @@ -101,7 +101,7 @@ opthelp: opt_help(genrsa_options); goto end; case OPT_3: - f4 = 3; + f4 = RSA_3; break; case OPT_F4: f4 = RSA_F4; @@ -162,49 +162,74 @@ opthelp: if (out == NULL) goto end; + if (!init_gen_str(&ctx, "RSA", eng, 0)) + goto end; + + EVP_PKEY_CTX_set_cb(ctx, genrsa_cb); + EVP_PKEY_CTX_set_app_data(ctx, bio_err); + + if (EVP_PKEY_CTX_set_rsa_keygen_bits(ctx, num) <= 0) { + BIO_printf(bio_err, "Error setting RSA length\n"); + goto end; + } + if (!BN_set_word(bn, f4)) { + BIO_printf(bio_err, "Error allocating RSA public exponent\n"); + goto end; + } + if (EVP_PKEY_CTX_set_rsa_keygen_pubexp(ctx, bn) <= 0) { + BIO_printf(bio_err, "Error setting RSA public exponent\n"); + goto end; + } + if (EVP_PKEY_CTX_set_rsa_keygen_primes(ctx, primes) <= 0) { + BIO_printf(bio_err, "Error setting number of primes\n"); + goto end; + } if (verbose) BIO_printf(bio_err, "Generating RSA private key, %d bit long modulus (%d primes)\n", num, primes); - rsa = eng ? RSA_new_method(eng) : RSA_new(); - if (rsa == NULL) + if (!EVP_PKEY_keygen(ctx, &pkey)) { + BIO_printf(bio_err, "Error generating RSA key\n"); goto end; - - if (!BN_set_word(bn, f4) - || !RSA_generate_multi_prime_key(rsa, num, primes, bn, cb)) - goto end; - - RSA_get0_key(rsa, NULL, &e, NULL); - hexe = BN_bn2hex(e); - dece = BN_bn2dec(e); - if (hexe && dece && verbose) { - BIO_printf(bio_err, "e is %s (0x%s)\n", dece, hexe); } - OPENSSL_free(hexe); - OPENSSL_free(dece); - cb_data.password = passout; - cb_data.prompt_info = outfile; - assert(private); - if (!PEM_write_bio_RSAPrivateKey(out, rsa, enc, NULL, 0, - (pem_password_cb *)password_callback, - &cb_data)) + + if (verbose) { + if ((rsa = EVP_PKEY_get0_RSA(pkey)) != NULL) { + RSA_get0_key(rsa, NULL, &e, NULL); + } else { + BIO_printf(bio_err, "Error cannot access RSA e\n"); + goto end; + } + hexe = BN_bn2hex(e); + dece = BN_bn2dec(e); + if (hexe && dece) { + BIO_printf(bio_err, "e is %s (0x%s)\n", dece, hexe); + } + OPENSSL_free(hexe); + OPENSSL_free(dece); + } + if (!PEM_write_bio_PrivateKey(out, pkey, enc, NULL, 0, NULL, passout)) goto end; ret = 0; end: BN_free(bn); BN_GENCB_free(cb); - RSA_free(rsa); + EVP_PKEY_CTX_free(ctx); + EVP_PKEY_free(pkey); BIO_free_all(out); release_engine(eng); OPENSSL_free(passout); + OPENSSL_free(ebuf); if (ret != 0) ERR_print_errors(bio_err); return ret; } -static int genrsa_cb(int p, int n, BN_GENCB *cb) +static int genrsa_cb(EVP_PKEY_CTX *ctx) { char c = '*'; + BIO *b = EVP_PKEY_CTX_get_app_data(ctx); + int p = EVP_PKEY_CTX_get_keygen_info(ctx, 0); if (!verbose) return 1; @@ -217,7 +242,7 @@ static int genrsa_cb(int p, int n, BN_GENCB *cb) c = '*'; if (p == 3) c = '\n'; - BIO_write(BN_GENCB_get_arg(cb), &c, 1); - (void)BIO_flush(BN_GENCB_get_arg(cb)); + BIO_write(b, &c, 1); + (void)BIO_flush(b); return 1; } diff --git a/apps/include/apps.h b/apps/include/apps.h index f43c12db..e168942e 100644 --- a/apps/include/apps.h +++ b/apps/include/apps.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -104,16 +104,17 @@ int set_ext_copy(int *copy_type, const char *arg); int copy_extensions(X509 *x, X509_REQ *req, int copy_type); int app_passwd(const char *arg1, const char *arg2, char **pass1, char **pass2); int add_oid_section(CONF *conf); -X509 *load_cert(const char *file, int format, const char *cert_descrip); -X509_CRL *load_crl(const char *infile, int format); +X509_REQ *load_csr(const char *file, int format, const char *desc); +X509 *load_cert(const char *file, int format, const char *desc); +X509_CRL *load_crl(const char *infile, int format, const char *desc); EVP_PKEY *load_key(const char *file, int format, int maybe_stdin, - const char *pass, ENGINE *e, const char *key_descrip); + const char *pass, ENGINE *e, const char *desc); EVP_PKEY *load_pubkey(const char *file, int format, int maybe_stdin, - const char *pass, ENGINE *e, const char *key_descrip); + const char *pass, ENGINE *e, const char *desc); int load_certs(const char *file, STACK_OF(X509) **certs, int format, - const char *pass, const char *cert_descrip); + const char *pass, const char *desc); int load_crls(const char *file, STACK_OF(X509_CRL) **crls, int format, - const char *pass, const char *cert_descrip); + const char *pass, const char *desc); X509_STORE *setup_verify(const char *CAfile, int noCAfile, const char *CApath, int noCApath, const char *CAstore, int noCAstore); diff --git a/apps/include/function.h b/apps/include/function.h index 28eb3e5d..14e8dd38 100644 --- a/apps/include/function.h +++ b/apps/include/function.h @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 @@ -26,6 +26,7 @@ typedef struct function_st { int (*func)(int argc, char *argv[]); const OPTIONS *help; const char *deprecated_alternative; + const char *deprecated_version; } FUNCTION; DEFINE_LHASH_OF(FUNCTION); diff --git a/apps/include/opt.h b/apps/include/opt.h index 9f82b6f0..1bf46215 100644 --- a/apps/include/opt.h +++ b/apps/include/opt.h @@ -1,5 +1,5 @@ /* - * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2018-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -342,6 +342,7 @@ char *opt_init(int ac, char **av, const OPTIONS * o); int opt_next(void); void opt_begin(void); int opt_format(const char *s, unsigned long flags, int *result); +const char *format2str(int format); int opt_int(const char *arg, int *result); int opt_ulong(const char *arg, unsigned long *result); int opt_long(const char *arg, long *result); @@ -370,6 +371,7 @@ int opt_provider(int i); void opt_help(const OPTIONS * list); void opt_print(const OPTIONS * opt, int doingparams, int width); int opt_format_error(const char *s, unsigned long flags); +void print_format_error(int format, unsigned long flags); int opt_isdir(const char *name); int opt_printf_stderr(const char *fmt, ...); diff --git a/apps/kdf.c b/apps/kdf.c index 0162ac89..9a69682b 100644 --- a/apps/kdf.c +++ b/apps/kdf.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -17,6 +17,8 @@ #include #include +DEFINE_STACK_OF_STRING() + typedef enum OPTION_choice { OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, OPT_KDFOPT, OPT_BIN, OPT_KEYLEN, OPT_OUT, diff --git a/apps/lib/apps.c b/apps/lib/apps.c index 7b400a41..1a23ae08 100644 --- a/apps/lib/apps.c +++ b/apps/lib/apps.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -57,6 +57,17 @@ static int WIN32_rename(const char *from, const char *to); #define PASS_SOURCE_SIZE_MAX 4 +DEFINE_STACK_OF(CONF) +DEFINE_STACK_OF(CONF_VALUE) +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_CRL) +DEFINE_STACK_OF(X509_INFO) +DEFINE_STACK_OF(X509_EXTENSION) +DEFINE_STACK_OF(X509_POLICY_NODE) +DEFINE_STACK_OF(GENERAL_NAME) +DEFINE_STACK_OF(DIST_POINT) +DEFINE_STACK_OF_STRING() + typedef struct { const char *name; unsigned long flag; @@ -410,7 +421,7 @@ static int load_pkcs12(BIO *in, const char *desc, int len, ret = 0; PKCS12 *p12; p12 = d2i_PKCS12_bio(in, NULL); - if (p12 == NULL) { + if (p12 == NULL && desc != NULL) { BIO_printf(bio_err, "Error loading PKCS12 file for %s\n", desc); goto die; } @@ -422,7 +433,8 @@ static int load_pkcs12(BIO *in, const char *desc, pem_cb = (pem_password_cb *)password_callback; len = pem_cb(tpass, PEM_BUFSIZE, 0, cb_data); if (len < 0) { - BIO_printf(bio_err, "Passphrase callback error for %s\n", desc); + BIO_printf(bio_err, "Passphrase callback error for %s\n", + desc != NULL ? desc : "PKCS12 input"); goto die; } if (len < PEM_BUFSIZE) @@ -430,7 +442,7 @@ static int load_pkcs12(BIO *in, const char *desc, if (!PKCS12_verify_mac(p12, tpass, len)) { BIO_printf(bio_err, "Mac verify error (wrong password?) in PKCS12 file for %s\n", - desc); + desc != NULL ? desc : "PKCS12 input"); goto die; } pass = tpass; @@ -441,7 +453,7 @@ static int load_pkcs12(BIO *in, const char *desc, return ret; } -X509 *load_cert(const char *file, int format, const char *cert_descrip) +X509 *load_cert(const char *file, int format, const char *desc) { X509 *x = NULL; BIO *cert; @@ -468,22 +480,26 @@ X509 *load_cert(const char *file, int format, const char *cert_descrip) x = PEM_read_bio_X509_AUX(cert, NULL, (pem_password_cb *)password_callback, NULL); } else if (format == FORMAT_PKCS12) { - if (!load_pkcs12(cert, cert_descrip, NULL, NULL, NULL, &x, NULL)) + if (!load_pkcs12(cert, desc, NULL, NULL, NULL, &x, NULL)) goto end; } else { - BIO_printf(bio_err, "bad input format specified for %s\n", cert_descrip); - goto end; + print_format_error(format, +#if !defined(OPENSSL_NO_OCSP) && !defined(OPENSSL_NO_SOCK) + OPT_FMT_HTTP | +#endif + OPT_FMT_PEMDER | OPT_FMT_PKCS12); } + end: - if (x == NULL) { - BIO_printf(bio_err, "unable to load certificate\n"); + if (x == NULL && desc != NULL) { + BIO_printf(bio_err, "Unable to load %s\n", desc); ERR_print_errors(bio_err); } BIO_free(cert); return x; } -X509_CRL *load_crl(const char *infile, int format) +X509_CRL *load_crl(const char *infile, int format, const char *desc) { X509_CRL *x = NULL; BIO *in = NULL; @@ -502,23 +518,45 @@ X509_CRL *load_crl(const char *infile, int format) x = d2i_X509_CRL_bio(in, NULL); } else if (format == FORMAT_PEM) { x = PEM_read_bio_X509_CRL(in, NULL, NULL, NULL); - } else { - BIO_printf(bio_err, "bad input format specified for input crl\n"); - goto end; - } - if (x == NULL) { - BIO_printf(bio_err, "unable to load CRL\n"); - ERR_print_errors(bio_err); - goto end; - } + } else + print_format_error(format, OPT_FMT_PEMDER); end: + if (x == NULL && desc != NULL) { + BIO_printf(bio_err, "Unable to load %s\n", desc); + ERR_print_errors(bio_err); + } BIO_free(in); return x; } +X509_REQ *load_csr(const char *file, int format, const char *desc) +{ + X509_REQ *req = NULL; + BIO *in; + + in = bio_open_default(file, 'r', format); + if (in == NULL) + goto end; + + if (format == FORMAT_ASN1) + req = d2i_X509_REQ_bio(in, NULL); + else if (format == FORMAT_PEM) + req = PEM_read_bio_X509_REQ(in, NULL, NULL, NULL); + else + print_format_error(format, OPT_FMT_PEMDER); + + end: + if (req == NULL && desc != NULL) { + BIO_printf(bio_err, "Unable to load %s\n", desc); + ERR_print_errors(bio_err); + } + BIO_free(in); + return req; +} + EVP_PKEY *load_key(const char *file, int format, int maybe_stdin, - const char *pass, ENGINE *e, const char *key_descrip) + const char *pass, ENGINE *e, const char *desc) { BIO *key = NULL; EVP_PKEY *pkey = NULL; @@ -528,12 +566,12 @@ EVP_PKEY *load_key(const char *file, int format, int maybe_stdin, cb_data.prompt_info = file; if (file == NULL && (!maybe_stdin || format == FORMAT_ENGINE)) { - BIO_printf(bio_err, "no keyfile specified\n"); + BIO_printf(bio_err, "No keyfile specified\n"); goto end; } if (format == FORMAT_ENGINE) { if (e == NULL) { - BIO_printf(bio_err, "no engine specified\n"); + BIO_printf(bio_err, "No engine specified\n"); } else { #ifndef OPENSSL_NO_ENGINE if (ENGINE_init(e)) { @@ -542,12 +580,12 @@ EVP_PKEY *load_key(const char *file, int format, int maybe_stdin, &cb_data); ENGINE_finish(e); } - if (pkey == NULL) { - BIO_printf(bio_err, "cannot load %s from engine\n", key_descrip); + if (pkey == NULL && desc != NULL) { + BIO_printf(bio_err, "Cannot load %s from engine\n", desc); ERR_print_errors(bio_err); } #else - BIO_printf(bio_err, "engines not supported\n"); + BIO_printf(bio_err, "Engines not supported\n"); #endif } goto end; @@ -565,7 +603,8 @@ EVP_PKEY *load_key(const char *file, int format, int maybe_stdin, } else if (format == FORMAT_PEM) { pkey = PEM_read_bio_PrivateKey(key, NULL, wrap_password_callback, &cb_data); } else if (format == FORMAT_PKCS12) { - if (!load_pkcs12(key, key_descrip, wrap_password_callback, &cb_data, + if (!load_pkcs12(key, desc, + (pem_password_cb *)password_callback, &cb_data, &pkey, NULL, NULL)) goto end; #if !defined(OPENSSL_NO_RSA) && !defined(OPENSSL_NO_DSA) && !defined (OPENSSL_NO_RC4) @@ -575,20 +614,27 @@ EVP_PKEY *load_key(const char *file, int format, int maybe_stdin, pkey = b2i_PVK_bio(key, wrap_password_callback, &cb_data); #endif } else { - BIO_printf(bio_err, "bad input format specified for key file\n"); - goto end; + print_format_error(format, OPT_FMT_PEMDER | OPT_FMT_PKCS12 +#if !defined(OPENSSL_NO_RSA) && !defined(OPENSSL_NO_DSA) && !defined (OPENSSL_NO_RC4) + | OPT_FMT_MSBLOB | FORMAT_PVK +#endif +#ifndef OPENSSL_NO_ENGINE + | OPT_FMT_ENGINE +#endif + ); } + end: BIO_free(key); - if (pkey == NULL) { - BIO_printf(bio_err, "unable to load %s\n", key_descrip); + if (pkey == NULL && desc != NULL) { + BIO_printf(bio_err, "Unable to load %s\n", desc); ERR_print_errors(bio_err); } return pkey; } EVP_PKEY *load_pubkey(const char *file, int format, int maybe_stdin, - const char *pass, ENGINE *e, const char *key_descrip) + const char *pass, ENGINE *e, const char *desc) { BIO *key = NULL; EVP_PKEY *pkey = NULL; @@ -598,22 +644,22 @@ EVP_PKEY *load_pubkey(const char *file, int format, int maybe_stdin, cb_data.prompt_info = file; if (file == NULL && (!maybe_stdin || format == FORMAT_ENGINE)) { - BIO_printf(bio_err, "no keyfile specified\n"); + BIO_printf(bio_err, "No keyfile specified\n"); goto end; } if (format == FORMAT_ENGINE) { if (e == NULL) { - BIO_printf(bio_err, "no engine specified\n"); + BIO_printf(bio_err, "No engine specified\n"); } else { #ifndef OPENSSL_NO_ENGINE pkey = ENGINE_load_public_key(e, file, (UI_METHOD *)get_ui_method(), &cb_data); - if (pkey == NULL) { - BIO_printf(bio_err, "cannot load %s from engine\n", key_descrip); + if (pkey == NULL && desc != NULL) { + BIO_printf(bio_err, "Cannot load %s from engine\n", desc); ERR_print_errors(bio_err); } #else - BIO_printf(bio_err, "engines not supported\n"); + BIO_printf(bio_err, "Engines not supported\n"); #endif } goto end; @@ -666,11 +712,19 @@ EVP_PKEY *load_pubkey(const char *file, int format, int maybe_stdin, } else if (format == FORMAT_MSBLOB) { pkey = b2i_PublicKey_bio(key); #endif + } else { + print_format_error(format, OPT_FMT_PEMDER +#if !defined(OPENSSL_NO_RSA) && !defined(OPENSSL_NO_DSA) + | OPT_FMT_MSBLOB +#endif + ); } end: BIO_free(key); - if (pkey == NULL) - BIO_printf(bio_err, "unable to load %s\n", key_descrip); + if (pkey == NULL && desc != NULL) { + BIO_printf(bio_err, "Unable to load %s\n", desc); + ERR_print_errors(bio_err); + } return pkey; } @@ -690,7 +744,7 @@ static int load_certs_crls(const char *file, int format, cb_data.prompt_info = file; if (format != FORMAT_PEM) { - BIO_printf(bio_err, "bad input format specified for %s\n", desc); + BIO_printf(bio_err, "Bad input format specified for %s\n", desc); return 0; } @@ -749,9 +803,11 @@ static int load_certs_crls(const char *file, int format, sk_X509_CRL_pop_free(*pcrls, X509_CRL_free); *pcrls = NULL; } - BIO_printf(bio_err, "unable to load %s\n", - pcerts ? "certificates" : "CRLs"); - ERR_print_errors(bio_err); + if (desc != NULL) { + BIO_printf(bio_err, "Unable to load %s for %s\n", + pcerts ? "certificates" : "CRLs", desc); + ERR_print_errors(bio_err); + } } return rv; } @@ -1083,6 +1139,7 @@ X509_STORE *setup_verify(const char *CAfile, int noCAfile, ERR_clear_error(); return store; end: + ERR_print_errors(bio_err); X509_STORE_free(store); return NULL; } @@ -1110,13 +1167,13 @@ ENGINE *setup_engine(const char *engine, int debug) #ifndef OPENSSL_NO_ENGINE if (engine != NULL) { if (strcmp(engine, "auto") == 0) { - BIO_printf(bio_err, "enabling auto ENGINE support\n"); + BIO_printf(bio_err, "Enabling auto ENGINE support\n"); ENGINE_register_all_complete(); return NULL; } if ((e = ENGINE_by_id(engine)) == NULL && (e = try_load_engine(engine)) == NULL) { - BIO_printf(bio_err, "invalid engine \"%s\"\n", engine); + BIO_printf(bio_err, "Invalid engine \"%s\"\n", engine); ERR_print_errors(bio_err); return NULL; } @@ -1126,13 +1183,13 @@ ENGINE *setup_engine(const char *engine, int debug) ENGINE_ctrl_cmd(e, "SET_USER_INTERFACE", 0, (void *)get_ui_method(), 0, 1); if (!ENGINE_set_default(e, ENGINE_METHOD_ALL)) { - BIO_printf(bio_err, "can't use that engine\n"); + BIO_printf(bio_err, "Cannot use engine \"%s\"\n", ENGINE_get_id(e)); ERR_print_errors(bio_err); ENGINE_free(e); return NULL; } - BIO_printf(bio_err, "engine \"%s\" set.\n", ENGINE_get_id(e)); + BIO_printf(bio_err, "Engine \"%s\" set.\n", ENGINE_get_id(e)); } #endif return e; @@ -1211,14 +1268,13 @@ BIGNUM *load_serial(const char *serialfile, int create, ASN1_INTEGER **retai) BIO_printf(bio_err, "Out of memory\n"); } else { if (!a2i_ASN1_INTEGER(in, ai, buf, 1024)) { - BIO_printf(bio_err, "unable to load number from %s\n", + BIO_printf(bio_err, "Unable to load number from %s\n", serialfile); goto err; } ret = ASN1_INTEGER_to_BN(ai, NULL); if (ret == NULL) { - BIO_printf(bio_err, - "error converting number from bin to BIGNUM\n"); + BIO_printf(bio_err, "Error converting number from bin to BIGNUM\n"); goto err; } } @@ -1228,6 +1284,7 @@ BIGNUM *load_serial(const char *serialfile, int create, ASN1_INTEGER **retai) ai = NULL; } err: + ERR_print_errors(bio_err); BIO_free(in); ASN1_INTEGER_free(ai); return ret; @@ -1247,7 +1304,7 @@ int save_serial(const char *serialfile, const char *suffix, const BIGNUM *serial else j = strlen(serialfile) + strlen(suffix) + 1; if (j >= BSIZE) { - BIO_printf(bio_err, "file name too long\n"); + BIO_printf(bio_err, "File name too long\n"); goto err; } @@ -1262,7 +1319,6 @@ int save_serial(const char *serialfile, const char *suffix, const BIGNUM *serial } out = BIO_new_file(buf[0], "w"); if (out == NULL) { - ERR_print_errors(bio_err); goto err; } @@ -1278,6 +1334,8 @@ int save_serial(const char *serialfile, const char *suffix, const BIGNUM *serial ai = NULL; } err: + if (!ret) + ERR_print_errors(bio_err); BIO_free_all(out); ASN1_INTEGER_free(ai); return ret; @@ -1294,7 +1352,7 @@ int rotate_serial(const char *serialfile, const char *new_suffix, if (i > j) j = i; if (j + 1 >= BSIZE) { - BIO_printf(bio_err, "file name too long\n"); + BIO_printf(bio_err, "File name too long\n"); goto err; } #ifndef OPENSSL_SYS_VMS @@ -1310,19 +1368,20 @@ int rotate_serial(const char *serialfile, const char *new_suffix, #endif ) { BIO_printf(bio_err, - "unable to rename %s to %s\n", serialfile, buf[1]); + "Unable to rename %s to %s\n", serialfile, buf[1]); perror("reason"); goto err; } if (rename(buf[0], serialfile) < 0) { BIO_printf(bio_err, - "unable to rename %s to %s\n", buf[0], serialfile); + "Unable to rename %s to %s\n", buf[0], serialfile); perror("reason"); rename(buf[1], serialfile); goto err; } return 1; err: + ERR_print_errors(bio_err); return 0; } @@ -1363,17 +1422,14 @@ CA_DB *load_index(const char *dbfile, DB_ATTR *db_attr) #endif in = BIO_new_file(dbfile, "r"); - if (in == NULL) { - ERR_print_errors(bio_err); + if (in == NULL) goto err; - } #ifndef OPENSSL_NO_POSIX_IO BIO_get_fp(in, &dbfp); if (fstat(fileno(dbfp), &dbst) == -1) { ERR_raise_data(ERR_LIB_SYS, errno, "calling fstat(%s)", dbfile); - ERR_print_errors(bio_err); goto err; } #endif @@ -1410,6 +1466,7 @@ CA_DB *load_index(const char *dbfile, DB_ATTR *db_attr) #endif err: + ERR_print_errors(bio_err); NCONF_free(dbattr_conf); TXT_DB_free(tmpdb); BIO_free_all(in); @@ -1425,20 +1482,23 @@ int index_index(CA_DB *db) LHASH_HASH_FN(index_serial), LHASH_COMP_FN(index_serial))) { BIO_printf(bio_err, - "error creating serial number index:(%ld,%ld,%ld)\n", + "Error creating serial number index:(%ld,%ld,%ld)\n", db->db->error, db->db->arg1, db->db->arg2); - return 0; + goto err; } if (db->attributes.unique_subject && !TXT_DB_create_index(db->db, DB_name, index_name_qual, LHASH_HASH_FN(index_name), LHASH_COMP_FN(index_name))) { - BIO_printf(bio_err, "error creating name index:(%ld,%ld,%ld)\n", + BIO_printf(bio_err, "Error creating name index:(%ld,%ld,%ld)\n", db->db->error, db->db->arg1, db->db->arg2); - return 0; + goto err; } return 1; + err: + ERR_print_errors(bio_err); + return 0; } int save_index(const char *dbfile, const char *suffix, CA_DB *db) @@ -1449,7 +1509,7 @@ int save_index(const char *dbfile, const char *suffix, CA_DB *db) j = strlen(dbfile) + strlen(suffix); if (j + 6 >= BSIZE) { - BIO_printf(bio_err, "file name too long\n"); + BIO_printf(bio_err, "File name too long\n"); goto err; } #ifndef OPENSSL_SYS_VMS @@ -1464,7 +1524,7 @@ int save_index(const char *dbfile, const char *suffix, CA_DB *db) out = BIO_new_file(buf[0], "w"); if (out == NULL) { perror(dbfile); - BIO_printf(bio_err, "unable to open '%s'\n", dbfile); + BIO_printf(bio_err, "Unable to open '%s'\n", dbfile); goto err; } j = TXT_DB_write(out, db->db); @@ -1475,7 +1535,7 @@ int save_index(const char *dbfile, const char *suffix, CA_DB *db) out = BIO_new_file(buf[1], "w"); if (out == NULL) { perror(buf[2]); - BIO_printf(bio_err, "unable to open '%s'\n", buf[2]); + BIO_printf(bio_err, "Unable to open '%s'\n", buf[2]); goto err; } BIO_printf(out, "unique_subject = %s\n", @@ -1484,6 +1544,7 @@ int save_index(const char *dbfile, const char *suffix, CA_DB *db) return 1; err: + ERR_print_errors(bio_err); return 0; } @@ -1498,7 +1559,7 @@ int rotate_index(const char *dbfile, const char *new_suffix, if (i > j) j = i; if (j + 6 >= BSIZE) { - BIO_printf(bio_err, "file name too long\n"); + BIO_printf(bio_err, "File name too long\n"); goto err; } #ifndef OPENSSL_SYS_VMS @@ -1519,12 +1580,12 @@ int rotate_index(const char *dbfile, const char *new_suffix, && errno != ENOTDIR #endif ) { - BIO_printf(bio_err, "unable to rename %s to %s\n", dbfile, buf[1]); + BIO_printf(bio_err, "Unable to rename %s to %s\n", dbfile, buf[1]); perror("reason"); goto err; } if (rename(buf[0], dbfile) < 0) { - BIO_printf(bio_err, "unable to rename %s to %s\n", buf[0], dbfile); + BIO_printf(bio_err, "Unable to rename %s to %s\n", buf[0], dbfile); perror("reason"); rename(buf[1], dbfile); goto err; @@ -1534,14 +1595,14 @@ int rotate_index(const char *dbfile, const char *new_suffix, && errno != ENOTDIR #endif ) { - BIO_printf(bio_err, "unable to rename %s to %s\n", buf[4], buf[3]); + BIO_printf(bio_err, "Unable to rename %s to %s\n", buf[4], buf[3]); perror("reason"); rename(dbfile, buf[0]); rename(buf[1], dbfile); goto err; } if (rename(buf[2], buf[4]) < 0) { - BIO_printf(bio_err, "unable to rename %s to %s\n", buf[2], buf[4]); + BIO_printf(bio_err, "Unable to rename %s to %s\n", buf[2], buf[4]); perror("reason"); rename(buf[3], buf[4]); rename(dbfile, buf[0]); @@ -1550,6 +1611,7 @@ int rotate_index(const char *dbfile, const char *new_suffix, } return 1; err: + ERR_print_errors(bio_err); return 0; } @@ -1640,7 +1702,7 @@ X509_NAME *parse_name(const char *cp, long chtype, int canmulti) } if (*cp == '\\' && *++cp == '\0') { BIO_printf(bio_err, - "%s: escape character at end of string\n", + "%s: Escape character at end of string\n", opt_getprog()); goto err; } @@ -1889,15 +1951,14 @@ static X509_CRL *load_crl_crldp(STACK_OF(DIST_POINT) *crldp) DIST_POINT *dp = sk_DIST_POINT_value(crldp, i); urlptr = get_dp_url(dp); if (urlptr) - return load_crl(urlptr, FORMAT_HTTP); + return load_crl(urlptr, FORMAT_HTTP, "CRL via CDP"); } return NULL; } /* - * Example of downloading CRLs from CRLDP: not usable for real world as it - * always downloads, doesn't support non-blocking I/O and doesn't cache - * anything. + * Example of downloading CRLs from CRLDP: + * not usable for real world as it always downloads and doesn't cache anything. */ static STACK_OF(X509_CRL) *crls_http_cb(const X509_STORE_CTX *ctx, diff --git a/apps/lib/names.c b/apps/lib/names.c index 09ee16fd..a1116d68 100644 --- a/apps/lib/names.c +++ b/apps/lib/names.c @@ -12,6 +12,8 @@ #include #include "names.h" +DEFINE_STACK_OF_CSTRING() + #ifdef _WIN32 # define strcasecmp _stricmp #endif diff --git a/apps/lib/opt.c b/apps/lib/opt.c index 767f35f6..566de8ab 100644 --- a/apps/lib/opt.c +++ b/apps/lib/opt.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 @@ -282,6 +282,41 @@ int opt_format(const char *s, unsigned long flags, int *result) return 1; } +/* Return string representing the given format. */ +const char *format2str(int format) +{ + switch (format) { + default: + return "(undefined)"; + case FORMAT_PEM: + return "PEM"; + case FORMAT_ASN1: + return "DER"; + case FORMAT_TEXT: + return "TEXT"; + case FORMAT_NSS: + return "NSS"; + case FORMAT_SMIME: + return "SMIME"; + case FORMAT_MSBLOB: + return "MSBLOB"; + case FORMAT_ENGINE: + return "ENGINE"; + case FORMAT_HTTP: + return "HTTP"; + case FORMAT_PKCS12: + return "P12"; + case FORMAT_PVK: + return "PVK"; + } +} + +/* Print an error message about unsuitable/unsupported format requested. */ +void print_format_error(int format, unsigned long flags) +{ + (void)opt_format_error(format2str(format), flags); +} + /* Parse a cipher name, put it in *EVP_CIPHER; return 0 on failure, else 1. */ int opt_cipher(const char *name, const EVP_CIPHER **cipherp) { diff --git a/apps/lib/s_cb.c b/apps/lib/s_cb.c index 2e0e9b24..5f2f2792 100644 --- a/apps/lib/s_cb.c +++ b/apps/lib/s_cb.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -26,6 +26,11 @@ #define COOKIE_SECRET_LENGTH 16 +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_CRL) +DEFINE_STACK_OF(X509_NAME) +DEFINE_STACK_OF_STRING() + VERIFY_CB_ARGS verify_args = { -1, 0, X509_V_OK, 0 }; #ifndef OPENSSL_NO_SOCK @@ -190,7 +195,7 @@ static STRINT_PAIR cert_type_list[] = { {"RSA fixed ECDH", TLS_CT_RSA_FIXED_ECDH}, {"ECDSA fixed ECDH", TLS_CT_ECDSA_FIXED_ECDH}, {"GOST01 Sign", TLS_CT_GOST01_SIGN}, - {"GOST12 Sign", TLS_CT_GOST12_SIGN}, + {"GOST12 Sign", TLS_CT_GOST12_IANA_SIGN}, {NULL} }; diff --git a/apps/list.c b/apps/list.c index 28fd5c80..a28f6b67 100644 --- a/apps/list.c +++ b/apps/list.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -19,6 +19,8 @@ #include "opt.h" #include "names.h" +DEFINE_STACK_OF_CSTRING() + static int verbose = 0; static void legacy_cipher_fn(const EVP_CIPHER *c, diff --git a/apps/mac.c b/apps/mac.c index bc236a7b..07a6e915 100644 --- a/apps/mac.c +++ b/apps/mac.c @@ -1,5 +1,5 @@ /* - * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2018-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -16,6 +16,8 @@ #include #include +DEFINE_STACK_OF_STRING() + #undef BUFSIZE #define BUFSIZE 1024*8 diff --git a/apps/nseq.c b/apps/nseq.c index e9aeea98..de189632 100644 --- a/apps/nseq.c +++ b/apps/nseq.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2020 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 @@ -14,6 +14,8 @@ #include #include +DEFINE_STACK_OF(X509) + typedef enum OPTION_choice { OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, OPT_TOSEQ, OPT_IN, OPT_OUT, diff --git a/apps/ocsp.c b/apps/ocsp.c index 3fa10797..d8589220 100644 --- a/apps/ocsp.c +++ b/apps/ocsp.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 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 @@ -33,6 +33,11 @@ #include #include +DEFINE_STACK_OF(OCSP_CERTID) +DEFINE_STACK_OF(CONF_VALUE) +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF_STRING() + #ifndef HAVE_FORK # if defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_WINDOWS) # define HAVE_FORK 0 diff --git a/apps/openssl.c b/apps/openssl.c index 558f662e..0a3c76e7 100644 --- a/apps/openssl.c +++ b/apps/openssl.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -47,12 +47,15 @@ BIO *bio_in = NULL; BIO *bio_out = NULL; BIO *bio_err = NULL; -static void warn_deprecated(const char *pname, - const char *deprecated_alternative) +static void warn_deprecated(const FUNCTION *fp) { - BIO_printf(bio_err, "The command %s is deprecated.", pname); - if (strcmp(deprecated_alternative, DEPRECATED_NO_ALTERNATIVE) != 0) - BIO_printf(bio_err, " Use '%s' instead.", deprecated_alternative); + if (fp->deprecated_version != NULL) + BIO_printf(bio_err, "The command %s was deprecated in version %s.", + fp->name, fp->deprecated_version); + else + BIO_printf(bio_err, "The command %s is deprecated.", fp->name); + if (strcmp(fp->deprecated_alternative, DEPRECATED_NO_ALTERNATIVE) != 0) + BIO_printf(bio_err, " Use '%s' instead.", fp->deprecated_alternative); BIO_printf(bio_err, "\n"); } @@ -287,7 +290,7 @@ int main(int argc, char *argv[]) if (fp != NULL) { argv[0] = pname; if (fp->deprecated_alternative != NULL) - warn_deprecated(pname, fp->deprecated_alternative); + warn_deprecated(fp); ret = fp->func(argc, argv); goto end; } @@ -483,7 +486,7 @@ static int do_cmd(LHASH_OF(FUNCTION) *prog, int argc, char *argv[]) } if (fp != NULL) { if (fp->deprecated_alternative != NULL) - warn_deprecated(fp->name, fp->deprecated_alternative); + warn_deprecated(fp); return fp->func(argc, argv); } if ((strncmp(argv[0], "no-", 3)) == 0) { diff --git a/apps/passwd.c b/apps/passwd.c index f3faa585..5ddcfe1c 100644 --- a/apps/passwd.c +++ b/apps/passwd.c @@ -1,5 +1,5 @@ /* - * Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2020 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 diff --git a/apps/pkcs12.c b/apps/pkcs12.c index f5ad9498..18f9550d 100644 --- a/apps/pkcs12.c +++ b/apps/pkcs12.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2020 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 @@ -19,6 +19,12 @@ #include #include +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(PKCS7) +DEFINE_STACK_OF(PKCS12_SAFEBAG) +DEFINE_STACK_OF(X509_ATTRIBUTE) +DEFINE_STACK_OF_STRING() + #define NOKEYS 0x1 #define NOCERTS 0x2 #define INFO 0x4 diff --git a/apps/pkcs7.c b/apps/pkcs7.c index 9c74d99a..2416584d 100644 --- a/apps/pkcs7.c +++ b/apps/pkcs7.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -20,6 +20,9 @@ #include #include +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_CRL) + typedef enum OPTION_choice { OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, OPT_INFORM, OPT_OUTFORM, OPT_IN, OPT_OUT, OPT_NOOUT, diff --git a/apps/pkcs8.c b/apps/pkcs8.c index b058ea19..37f20b34 100644 --- a/apps/pkcs8.c +++ b/apps/pkcs8.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2020 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 diff --git a/apps/pkey.c b/apps/pkey.c index e90b3a59..ec681856 100644 --- a/apps/pkey.c +++ b/apps/pkey.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 diff --git a/apps/pkeyparam.c b/apps/pkeyparam.c index 441523dd..df95f76f 100644 --- a/apps/pkeyparam.c +++ b/apps/pkeyparam.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 diff --git a/apps/pkeyutl.c b/apps/pkeyutl.c index 7dc558b1..1e380204 100644 --- a/apps/pkeyutl.c +++ b/apps/pkeyutl.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 @@ -15,6 +15,8 @@ #include #include +DEFINE_STACK_OF_STRING() + #define KEY_NONE 0 #define KEY_PRIVKEY 1 #define KEY_PUBKEY 2 diff --git a/apps/prime.c b/apps/prime.c index ff25f908..277500d8 100644 --- a/apps/prime.c +++ b/apps/prime.c @@ -1,5 +1,5 @@ /* - * Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2004-2020 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 diff --git a/apps/progs.pl b/apps/progs.pl index 03553efb..3ddb7132 100644 --- a/apps/progs.pl +++ b/apps/progs.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 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 @@ -92,35 +92,48 @@ EOF my %cmd_disabler = ( ciphers => "sock", + genrsa => "rsa", + gendsa => "dsa", + dsaparam => "dsa", + gendh => "dh", + dhparam => "dh", + ecparam => "ec", pkcs12 => "des", ); my %cmd_deprecated = ( - rsa => [ "3_0", "pkey", "rsa" ], - genrsa => [ "3_0", "genpkey", "rsa" ], - rsautl => [ "3_0", "pkeyutl", "rsa" ], - dhparam => [ "3_0", "pkeyparam", "dh" ], - dsaparam => [ "3_0", "pkeyparam", "dsa" ], - dsa => [ "3_0", "pkey", "dsa" ], - gendsa => [ "3_0", "genpkey", "dsa" ], - ec => [ "3_0", "pkey", "ec" ], - ecparam => [ "3_0", "pkeyparam", "ec" ], +# The format of this table is: +# [0] = alternative command to use instead +# [1] = deprecented in this version +# [2] = preprocessor conditional for exclusing irrespective of deprecation +# rsa => [ "pkey", "3_0", "rsa" ], +# genrsa => [ "genpkey", "3_0", "rsa" ], + rsautl => [ "pkeyutl", "3_0", "rsa" ], +# dhparam => [ "pkeyparam", "3_0", "dh" ], +# dsaparam => [ "pkeyparam", "3_0", "dsa" ], +# dsa => [ "pkey", "3_0", "dsa" ], +# gendsa => [ "genpkey", "3_0", "dsa" ], +# ec => [ "pkey", "3_0", "ec" ], +# ecparam => [ "pkeyparam", "3_0", "ec" ], ); print "FUNCTION functions[] = {\n"; foreach my $cmd ( @ARGV ) { my $str = - " {FT_general, \"$cmd\", ${cmd}_main, ${cmd}_options, NULL},\n"; + " {FT_general, \"$cmd\", ${cmd}_main, ${cmd}_options, NULL, NULL},\n"; if ($cmd =~ /^s_/) { print "#ifndef OPENSSL_NO_SOCK\n${str}#endif\n"; } elsif (my $deprecated = $cmd_deprecated{$cmd}) { my @dep = @{$deprecated}; - print "#if "; - if ($dep[2]) { - print "!defined(OPENSSL_NO_" . uc($dep[2]) . ") && "; + my $daltprg = $dep[0]; + my $dver = $dep[1]; + my $dsys = $dep[2]; + print "#if !defined(OPENSSL_NO_DEPRECATED_" . $dver . ")"; + if ($dsys) { + print " && !defined(OPENSSL_NO_" . uc($dsys) . ")"; } - print "!defined(OPENSSL_NO_DEPRECATED_" . $dep[0] . ")"; - my $dalt = "\"" . $dep[1] . "\""; - $str =~ s/NULL/$dalt/; + $dver =~ s/_/./g; + my $dalt = "\"" . $daltprg . "\", \"" . $dver . "\""; + $str =~ s/NULL, NULL/$dalt/; print "\n${str}#endif\n"; } elsif (grep { $cmd eq $_ } @disablables) { print "#ifndef OPENSSL_NO_" . uc($cmd) . "\n${str}#endif\n"; diff --git a/apps/provider.c b/apps/provider.c index 87231cd2..de8fd34c 100644 --- a/apps/provider.c +++ b/apps/provider.c @@ -20,6 +20,8 @@ #include #include +DEFINE_STACK_OF_CSTRING() + typedef enum OPTION_choice { OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, OPT_V = 100, OPT_VV, OPT_VVV diff --git a/apps/rand.c b/apps/rand.c index 7dc14cb3..1ad68945 100644 --- a/apps/rand.c +++ b/apps/rand.c @@ -1,5 +1,5 @@ /* - * Copyright 1998-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1998-2020 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 diff --git a/apps/rehash.c b/apps/rehash.c index e21b1b84..866b8cfe 100644 --- a/apps/rehash.c +++ b/apps/rehash.c @@ -42,6 +42,8 @@ # include # include +DEFINE_STACK_OF(X509_INFO) +DEFINE_STACK_OF_STRING() # ifndef PATH_MAX # define PATH_MAX 4096 diff --git a/apps/req.c b/apps/req.c index 4d65fc28..cba6952c 100644 --- a/apps/req.c +++ b/apps/req.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -32,6 +32,8 @@ # include #endif +DEFINE_STACK_OF(CONF_VALUE) +DEFINE_STACK_OF_STRING() #define BITS "default_bits" #define KEYFILE "default_keyfile" @@ -113,7 +115,7 @@ const OPTIONS req_options[] = { {"config", OPT_CONFIG, '<', "Request template file"}, {"section", OPT_SECTION, 's', "Config section to use (default \"req\")"}, {"utf8", OPT_UTF8, '-', "Input characters are UTF8 (default ASCII)"}, - {"nameopt", OPT_NAMEOPT, 's', "Various certificate name options"}, + {"nameopt", OPT_NAMEOPT, 's', "Certificate subject/issuer name printing options"}, {"reqopt", OPT_REQOPT, 's', "Various request text options"}, {"text", OPT_TEXT, '-', "Text form of request"}, {"x509", OPT_X509, '-', @@ -228,7 +230,7 @@ static int duplicated(LHASH_OF(OPENSSL_STRING) *addexts, char *kv) int req_main(int argc, char **argv) { ASN1_INTEGER *serial = NULL; - BIO *in = NULL, *out = NULL; + BIO *out = NULL; ENGINE *e = NULL, *gen_eng = NULL; EVP_PKEY *pkey = NULL; EVP_PKEY_CTX *genctx = NULL; @@ -467,7 +469,7 @@ int req_main(int argc, char **argv) BIO_printf(bio_err, "Using configuration from %s\n", template); if ((req_conf = app_load_config(template)) == NULL) goto end; - if (addext_bio) { + if (addext_bio != NULL) { if (verbose) BIO_printf(bio_err, "Using additional configuration from command line\n"); @@ -588,12 +590,9 @@ int req_main(int argc, char **argv) if (keyfile != NULL) { pkey = load_key(keyfile, keyform, 0, passin, e, "Private Key"); - if (pkey == NULL) { - /* load_key() has already printed an appropriate message */ + if (pkey == NULL) goto end; - } else { - app_RAND_load_conf(req_conf, section); - } + app_RAND_load_conf(req_conf, section); } if (newreq && (pkey == NULL)) { @@ -713,18 +712,9 @@ int req_main(int argc, char **argv) } if (!newreq) { - in = bio_open_default(infile, 'r', informat); - if (in == NULL) + req = load_csr(infile, informat, "X509 request"); + if (req == NULL) goto end; - - if (informat == FORMAT_ASN1) - req = d2i_X509_REQ_bio(in, NULL); - else - req = PEM_read_bio_X509_REQ(in, NULL, NULL, NULL); - if (req == NULL) { - BIO_printf(bio_err, "unable to load X509 request\n"); - goto end; - } } if (newreq || x509) { @@ -990,7 +980,6 @@ int req_main(int argc, char **argv) NCONF_free(req_conf); NCONF_free(addext_conf); BIO_free(addext_bio); - BIO_free(in); BIO_free_all(out); EVP_PKEY_free(pkey); EVP_PKEY_CTX_free(genctx); diff --git a/apps/rsa.c b/apps/rsa.c index 81ed2ab7..bb9bcb0b 100644 --- a/apps/rsa.c +++ b/apps/rsa.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -76,6 +76,8 @@ int rsa_main(int argc, char **argv) ENGINE *e = NULL; BIO *out = NULL; RSA *rsa = NULL; + EVP_PKEY *pkey = NULL; + EVP_PKEY_CTX *pctx; const EVP_CIPHER *enc = NULL; char *infile = NULL, *outfile = NULL, *prog; char *passin = NULL, *passout = NULL, *passinarg = NULL, *passoutarg = NULL; @@ -178,30 +180,26 @@ int rsa_main(int argc, char **argv) goto end; } - { - EVP_PKEY *pkey; + if (pubin) { + int tmpformat = -1; - if (pubin) { - int tmpformat = -1; - if (pubin == 2) { - if (informat == FORMAT_PEM) - tmpformat = FORMAT_PEMRSA; - else if (informat == FORMAT_ASN1) - tmpformat = FORMAT_ASN1RSA; - } else { - tmpformat = informat; - } - - pkey = load_pubkey(infile, tmpformat, 1, passin, e, "Public Key"); + if (pubin == 2) { + if (informat == FORMAT_PEM) + tmpformat = FORMAT_PEMRSA; + else if (informat == FORMAT_ASN1) + tmpformat = FORMAT_ASN1RSA; } else { - pkey = load_key(infile, informat, 1, passin, e, "Private Key"); + tmpformat = informat; } - if (pkey != NULL) - rsa = EVP_PKEY_get1_RSA(pkey); - EVP_PKEY_free(pkey); + pkey = load_pubkey(infile, tmpformat, 1, passin, e, "Public Key"); + } else { + pkey = load_key(infile, informat, 1, passin, e, "Private Key"); } + if (pkey != NULL) + rsa = EVP_PKEY_get1_RSA(pkey); + if (rsa == NULL) { ERR_print_errors(bio_err); goto end; @@ -213,7 +211,8 @@ int rsa_main(int argc, char **argv) if (text) { assert(pubin || private); - if (!RSA_print(out, rsa, 0)) { + if ((pubin && EVP_PKEY_print_public(out, pkey, 0, NULL) <= 0) + || (!pubin && EVP_PKEY_print_private(out, pkey, 0, NULL) <= 0)) { perror(outfile); ERR_print_errors(bio_err); goto end; @@ -229,7 +228,16 @@ int rsa_main(int argc, char **argv) } if (check) { - int r = RSA_check_key_ex(rsa, NULL); + int r; + + pctx = EVP_PKEY_CTX_new_from_pkey(NULL, pkey, NULL); + if (pctx == NULL) { + BIO_printf(out, "RSA unable to create PKEY context\n"); + ERR_print_errors(bio_err); + goto end; + } + r = EVP_PKEY_check(pctx); + EVP_PKEY_CTX_free(pctx); if (r == 1) { BIO_printf(out, "RSA key ok\n"); @@ -318,6 +326,7 @@ int rsa_main(int argc, char **argv) end: release_engine(e); BIO_free_all(out); + EVP_PKEY_free(pkey); RSA_free(rsa); OPENSSL_free(passin); OPENSSL_free(passout); diff --git a/apps/rsautl.c b/apps/rsautl.c index ec34ccc9..b5ebc883 100644 --- a/apps/rsautl.c +++ b/apps/rsautl.c @@ -1,5 +1,5 @@ /* - * Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2020 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 diff --git a/apps/s_client.c b/apps/s_client.c index c06f2c82..eb4dbdca 100644 --- a/apps/s_client.c +++ b/apps/s_client.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright 2005 Nokia. All rights reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -56,6 +56,12 @@ typedef unsigned int u_int; # endif #endif +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_CRL) +DEFINE_STACK_OF(X509_NAME) +DEFINE_STACK_OF(SCT) +DEFINE_STACK_OF_STRING() + #undef BUFSIZZ #define BUFSIZZ 1024*8 #define S_CLIENT_IRC_READ_TIMEOUT 8 @@ -649,14 +655,17 @@ const OPTIONS s_client_options[] = { {"fallback_scsv", OPT_FALLBACKSCSV, '-', "Send the fallback SCSV"}, OPT_SECTION("Identity"), - {"verify", OPT_VERIFY, 'p', "Turn on peer certificate verification"}, - {"cert", OPT_CERT, '<', "Certificate file to use, PEM format assumed"}, + {"cert", OPT_CERT, '<', "Client certificate file to use"}, {"certform", OPT_CERTFORM, 'F', - "Certificate format (PEM or DER) PEM default"}, - {"nameopt", OPT_NAMEOPT, 's', "Various certificate name options"}, - {"key", OPT_KEY, 's', "Private key file to use, if not in -cert file"}, + "Client certificate file format (PEM or DER) PEM default"}, + {"cert_chain", OPT_CERT_CHAIN, '<', + "Client certificate chain file (in PEM format)"}, + {"build_chain", OPT_BUILD_CHAIN, '-', "Build client certificate chain"}, + {"key", OPT_KEY, 's', "Private key file to use; default is: -cert file"}, {"keyform", OPT_KEYFORM, 'E', "Key format (PEM, DER or engine) PEM default"}, {"pass", OPT_PASS, 's', "Private key file pass phrase source"}, + {"verify", OPT_VERIFY, 'p', "Turn on peer certificate verification"}, + {"nameopt", OPT_NAMEOPT, 's', "Certificate subject/issuer name printing options"}, {"CApath", OPT_CAPATH, '/', "PEM format directory of CA's"}, {"CAfile", OPT_CAFILE, '<', "PEM format file of CA's"}, {"CAstore", OPT_CASTORE, ':', "URI to store of CA's"}, @@ -801,8 +810,8 @@ const OPTIONS s_client_options[] = { {"verify_return_error", OPT_VERIFY_RET_ERROR, '-', "Close connection on verification error"}, {"verify_quiet", OPT_VERIFY_QUIET, '-', "Restrict verify output to errors"}, - {"cert_chain", OPT_CERT_CHAIN, '<', - "Certificate chain file (in PEM format)"}, + {"chainCAfile", OPT_CHAINCAFILE, '<', + "CA file for certificate chain (PEM format)"}, {"chainCApath", OPT_CHAINCAPATH, '/', "Use dir as certificate store path to build CA certificate chain"}, {"chainCAstore", OPT_CHAINCASTORE, ':', @@ -813,9 +822,6 @@ const OPTIONS s_client_options[] = { "Use dir as certificate store path to verify CA certificate"}, {"verifyCAstore", OPT_VERIFYCASTORE, ':', "CA store URI for certificate verification"}, - {"build_chain", OPT_BUILD_CHAIN, '-', "Build certificate chain"}, - {"chainCAfile", OPT_CHAINCAFILE, '<', - "CA file for certificate chain (PEM format)"}, OPT_X_OPTIONS, OPT_PROV_OPTIONS, @@ -1708,18 +1714,14 @@ int s_client_main(int argc, char **argv) if (key_file != NULL) { key = load_key(key_file, key_format, 0, pass, e, "client certificate private key file"); - if (key == NULL) { - ERR_print_errors(bio_err); + if (key == NULL) goto end; - } } if (cert_file != NULL) { cert = load_cert(cert_file, cert_format, "client certificate file"); - if (cert == NULL) { - ERR_print_errors(bio_err); + if (cert == NULL) goto end; - } } if (chain_file != NULL) { @@ -1730,12 +1732,9 @@ int s_client_main(int argc, char **argv) if (crl_file != NULL) { X509_CRL *crl; - crl = load_crl(crl_file, crl_format); - if (crl == NULL) { - BIO_puts(bio_err, "Error loading CRL\n"); - ERR_print_errors(bio_err); + crl = load_crl(crl_file, crl_format, "CRL"); + if (crl == NULL) goto end; - } crls = sk_X509_CRL_new_null(); if (crls == NULL || !sk_X509_CRL_push(crls, crl)) { BIO_puts(bio_err, "Error adding CRL\n"); diff --git a/apps/s_server.c b/apps/s_server.c index d2864bc6..23c762ba 100644 --- a/apps/s_server.c +++ b/apps/s_server.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -60,6 +60,12 @@ typedef unsigned int u_int; #endif #include "internal/sockets.h" +DEFINE_STACK_OF(X509_EXTENSION) +DEFINE_STACK_OF(X509_CRL) +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(SSL_CIPHER) +DEFINE_STACK_OF_STRING() + static int not_resumable_sess_cb(SSL *s, int is_forward_secure); static int sv_body(int s, int stype, int prot, unsigned char *context); static int www_body(int s, int stype, int prot, unsigned char *context); @@ -802,31 +808,36 @@ const OPTIONS s_server_options[] = { {"verify", OPT_VERIFY, 'n', "Turn on peer certificate verification"}, {"Verify", OPT_UPPER_V_VERIFY, 'n', "Turn on peer certificate verification, must have a cert"}, - {"cert", OPT_CERT, '<', "Certificate file to use; default is " TEST_CERT}, + {"nameopt", OPT_NAMEOPT, 's', "Certificate subject/issuer name printing options"}, + {"cert", OPT_CERT, '<', "Server certificate file to use; default is " TEST_CERT}, {"cert2", OPT_CERT2, '<', "Certificate file to use for servername; default is" TEST_CERT2}, - {"key2", OPT_KEY2, '<', - "-Private Key file to use for servername if not in -cert2"}, - {"nameopt", OPT_NAMEOPT, 's', "Various certificate name options"}, + {"certform", OPT_CERTFORM, 'F', + "Server certificate file format (PEM or DER) PEM default"}, + {"cert_chain", OPT_CERT_CHAIN, '<', + "Server certificate chain file in PEM format"}, + {"build_chain", OPT_BUILD_CHAIN, '-', "Build server certificate chain"}, {"serverinfo", OPT_SERVERINFO, 's', "PEM serverinfo file for certificate"}, - {"certform", OPT_CERTFORM, 'F', - "Certificate format (PEM or DER) PEM default"}, {"key", OPT_KEY, 's', - "Private Key if not in -cert; default is " TEST_CERT}, + "Private key file to use; default is -cert file or else" TEST_CERT}, + {"key2", OPT_KEY2, '<', + "-Private Key file to use for servername if not in -cert2"}, {"keyform", OPT_KEYFORM, 'f', "Key format (PEM, DER or ENGINE) PEM default"}, {"pass", OPT_PASS, 's', "Private key file pass phrase source"}, {"dcert", OPT_DCERT, '<', - "Second certificate file to use (usually for DSA)"}, - {"dhparam", OPT_DHPARAM, '<', "DH parameters file to use"}, + "Second server certificate file to use (usually for DSA)"}, {"dcertform", OPT_DCERTFORM, 'F', - "Second certificate format (PEM or DER) PEM default"}, + "Second server certificate file format (PEM or DER) PEM default"}, + {"dcert_chain", OPT_DCERT_CHAIN, '<', + "second server certificate chain file in PEM format"}, {"dkey", OPT_DKEY, '<', "Second private key file to use (usually for DSA)"}, {"dkeyform", OPT_DKEYFORM, 'F', - "Second key format (PEM, DER or ENGINE) PEM default"}, + "Second key file format (PEM, DER or ENGINE) PEM default"}, {"dpass", OPT_DPASS, 's', "Second private key file pass phrase source"}, + {"dhparam", OPT_DHPARAM, '<', "DH parameters file to use"}, {"servername", OPT_SERVERNAME, 's', "Servername for HostName TLS extension"}, {"servername_fatal", OPT_SERVERNAME_FATAL, '-', @@ -850,12 +861,17 @@ const OPTIONS s_server_options[] = { {"keymatexportlen", OPT_KEYMATEXPORTLEN, 'p', "Export len bytes of keying material (default 20)"}, {"CRL", OPT_CRL, '<', "CRL file to use"}, + {"CRLform", OPT_CRLFORM, 'F', "CRL file format (PEM or DER); default PEM"}, {"crl_download", OPT_CRL_DOWNLOAD, '-', - "Download CRL from distribution points"}, + "Download CRLs from distribution points in certificate CDP entries"}, + {"chainCAfile", OPT_CHAINCAFILE, '<', + "CA file for certificate chain (PEM format)"}, {"chainCApath", OPT_CHAINCAPATH, '/', "use dir as certificate store path to build CA certificate chain"}, {"chainCAstore", OPT_CHAINCASTORE, ':', "use URI as certificate store to build CA certificate chain"}, + {"verifyCAfile", OPT_VERIFYCAFILE, '<', + "CA file for certificate verification (PEM format)"}, {"verifyCApath", OPT_VERIFYCAPATH, '/', "use dir as certificate store path to verify CA certificate"}, {"verifyCAstore", OPT_VERIFYCASTORE, ':', @@ -863,13 +879,10 @@ const OPTIONS s_server_options[] = { {"no_cache", OPT_NO_CACHE, '-', "Disable session cache"}, {"ext_cache", OPT_EXT_CACHE, '-', "Disable internal cache, setup and use external cache"}, - {"CRLform", OPT_CRLFORM, 'F', "CRL format (PEM or DER) PEM is default"}, {"verify_return_error", OPT_VERIFY_RET_ERROR, '-', "Close connection on verification error"}, {"verify_quiet", OPT_VERIFY_QUIET, '-', "No verify output except verify errors"}, - {"verifyCAfile", OPT_VERIFYCAFILE, '<', - "CA file for certificate verification (PEM format)"}, {"ign_eof", OPT_IGN_EOF, '-', "ignore input eof (default when -quiet)"}, {"no_ign_eof", OPT_NO_IGN_EOF, '-', "Do not ignore input eof"}, @@ -990,13 +1003,6 @@ const OPTIONS s_server_options[] = { OPT_R_OPTIONS, OPT_S_OPTIONS, OPT_V_OPTIONS, - {"cert_chain", OPT_CERT_CHAIN, '<', - "certificate chain file in PEM format"}, - {"dcert_chain", OPT_DCERT_CHAIN, '<', - "second certificate chain file in PEM format"}, - {"build_chain", OPT_BUILD_CHAIN, '-', "Build certificate chain"}, - {"chainCAfile", OPT_CHAINCAFILE, '<', - "CA file for certificate chain (PEM format)"}, OPT_X_OPTIONS, OPT_PROV_OPTIONS, {NULL} @@ -1244,7 +1250,7 @@ int s_server_main(int argc, char *argv[]) s_key_file = opt_arg(); break; case OPT_KEYFORM: - if (!opt_format(opt_arg(), OPT_FMT_ANY, &s_key_format)) + if (!opt_format(opt_arg(), OPT_FMT_PDE, &s_key_format)) goto opthelp; break; case OPT_PASS: @@ -1266,7 +1272,7 @@ int s_server_main(int argc, char *argv[]) s_dcert_file = opt_arg(); break; case OPT_DKEYFORM: - if (!opt_format(opt_arg(), OPT_FMT_PEMDER, &s_dkey_format)) + if (!opt_format(opt_arg(), OPT_FMT_PDE, &s_dkey_format)) goto opthelp; break; case OPT_DPASS: @@ -1730,18 +1736,14 @@ int s_server_main(int argc, char *argv[]) if (nocert == 0) { s_key = load_key(s_key_file, s_key_format, 0, pass, engine, "server certificate private key file"); - if (s_key == NULL) { - ERR_print_errors(bio_err); + if (s_key == NULL) goto end; - } s_cert = load_cert(s_cert_file, s_cert_format, "server certificate file"); - if (s_cert == NULL) { - ERR_print_errors(bio_err); + if (s_cert == NULL) goto end; - } if (s_chain_file != NULL) { if (!load_certs(s_chain_file, &s_chain, FORMAT_PEM, NULL, "server certificate chain")) @@ -1751,18 +1753,14 @@ int s_server_main(int argc, char *argv[]) if (tlsextcbp.servername != NULL) { s_key2 = load_key(s_key_file2, s_key_format, 0, pass, engine, "second server certificate private key file"); - if (s_key2 == NULL) { - ERR_print_errors(bio_err); + if (s_key2 == NULL) goto end; - } s_cert2 = load_cert(s_cert_file2, s_cert_format, "second server certificate file"); - if (s_cert2 == NULL) { - ERR_print_errors(bio_err); + if (s_cert2 == NULL) goto end; - } } } #if !defined(OPENSSL_NO_NEXTPROTONEG) @@ -1781,12 +1779,9 @@ int s_server_main(int argc, char *argv[]) if (crl_file != NULL) { X509_CRL *crl; - crl = load_crl(crl_file, crl_format); - if (crl == NULL) { - BIO_puts(bio_err, "Error loading CRL\n"); - ERR_print_errors(bio_err); + crl = load_crl(crl_file, crl_format, "CRL"); + if (crl == NULL) goto end; - } crls = sk_X509_CRL_new_null(); if (crls == NULL || !sk_X509_CRL_push(crls, crl)) { BIO_puts(bio_err, "Error adding CRL\n"); @@ -1803,10 +1798,8 @@ int s_server_main(int argc, char *argv[]) s_dkey = load_key(s_dkey_file, s_dkey_format, 0, dpass, engine, "second certificate private key file"); - if (s_dkey == NULL) { - ERR_print_errors(bio_err); + if (s_dkey == NULL) goto end; - } s_dcert = load_cert(s_dcert_file, s_dcert_format, "second server certificate file"); diff --git a/apps/s_time.c b/apps/s_time.c index 28e82f7c..ac9c72e6 100644 --- a/apps/s_time.c +++ b/apps/s_time.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -86,7 +86,7 @@ const OPTIONS s_time_options[] = { {"www", OPT_WWW, 's', "Fetch specified page from the site"}, OPT_SECTION("Certificate"), - {"nameopt", OPT_NAMEOPT, 's', "Various certificate name options"}, + {"nameopt", OPT_NAMEOPT, 's', "Certificate subject/issuer name printing options"}, {"cert", OPT_CERT, '<', "Cert file to use, PEM format assumed"}, {"key", OPT_KEY, '<', "File with key, PEM; default is -cert file"}, {"cafile", OPT_CAFILE, '<', "PEM format file of CA's"}, diff --git a/apps/smime.c b/apps/smime.c index c7f74d48..50f03fdc 100644 --- a/apps/smime.c +++ b/apps/smime.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2020 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 @@ -19,6 +19,9 @@ #include #include +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF_STRING() + static int save_certs(char *signerfile, STACK_OF(X509) *signers); static int smime_cb(int ok, X509_STORE_CTX *ctx); diff --git a/apps/speed.c b/apps/speed.c index c735ad20..664be2f5 100644 --- a/apps/speed.c +++ b/apps/speed.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -3465,7 +3465,7 @@ int speed_main(int argc, char **argv) d = Time_F(STOP); BIO_printf(bio_err, - mr ? "+R8:%ld:%u:%s:%.2f\n" : + mr ? "+R10:%ld:%u:%s:%.2f\n" : "%ld %u bits %s signs in %.2fs \n", count, sm2_curves[testnum].bits, sm2_curves[testnum].name, d); @@ -3494,7 +3494,7 @@ int speed_main(int argc, char **argv) count = run_benchmark(async_jobs, SM2_verify_loop, loopargs); d = Time_F(STOP); BIO_printf(bio_err, - mr ? "+R9:%ld:%u:%s:%.2f\n" + mr ? "+R11:%ld:%u:%s:%.2f\n" : "%ld %u bits %s verify in %.2fs\n", count, sm2_curves[testnum].bits, sm2_curves[testnum].name, d); @@ -3676,7 +3676,7 @@ int speed_main(int argc, char **argv) } if (mr) - printf("+F6:%u:%u:%s:%f:%f\n", + printf("+F7:%u:%u:%s:%f:%f\n", k, sm2_curves[k].bits, sm2_curves[k].name, sm2_results[k][0], sm2_results[k][1]); else @@ -3969,6 +3969,7 @@ static int do_multi(int multi, int size_num) p = buf + 4; k = atoi(sstrsep(&p, sep)); sstrsep(&p, sep); + sstrsep(&p, sep); d = atof(sstrsep(&p, sep)); sm2_results[k][0] += d; diff --git a/apps/spkac.c b/apps/spkac.c index 17c4e5b8..03cc3d91 100644 --- a/apps/spkac.c +++ b/apps/spkac.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2020 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 diff --git a/apps/srp.c b/apps/srp.c index 8fb325fe..6a7d6675 100644 --- a/apps/srp.c +++ b/apps/srp.c @@ -1,5 +1,5 @@ /* - * Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2004-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2004, EdelKey Project. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/apps/storeutl.c b/apps/storeutl.c index c03eb08f..87e8fcc9 100644 --- a/apps/storeutl.c +++ b/apps/storeutl.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/apps/ts.c b/apps/ts.c index 2f21433a..da4584ab 100644 --- a/apps/ts.c +++ b/apps/ts.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 @@ -97,8 +97,8 @@ const OPTIONS ts_options[] = { {"inkey", OPT_INKEY, 's', "File with private key for reply"}, {"signer", OPT_SIGNER, 's', "Signer certificate file"}, {"chain", OPT_CHAIN, '<', "File with signer CA chain"}, - {"CApath", OPT_CAPATH, '/', "Path to trusted CA files"}, {"CAfile", OPT_CAFILE, '<', "File with trusted CA certs"}, + {"CApath", OPT_CAPATH, '/', "Path to trusted CA files"}, {"CAstore", OPT_CASTORE, ':', "URI to trusted CA store"}, {"untrusted", OPT_UNTRUSTED, '<', "File with untrusted certs"}, {"token_in", OPT_TOKEN_IN, '-', "Input is a PKCS#7 file"}, diff --git a/apps/verify.c b/apps/verify.c index f626009f..55886680 100644 --- a/apps/verify.c +++ b/apps/verify.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -18,6 +18,10 @@ #include #include +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_CRL) +DEFINE_STACK_OF_STRING() + static int cb(int ok, X509_STORE_CTX *ctx); static int check(X509_STORE *ctx, const char *file, STACK_OF(X509) *uchain, STACK_OF(X509) *tchain, @@ -45,24 +49,24 @@ const OPTIONS verify_options[] = { #endif {"verbose", OPT_VERBOSE, '-', "Print extra information about the operations being performed."}, - {"nameopt", OPT_NAMEOPT, 's', "Various certificate name options"}, + {"nameopt", OPT_NAMEOPT, 's', "Certificate subject/issuer name printing options"}, OPT_SECTION("Certificate chain"), - {"CApath", OPT_CAPATH, '/', "A directory of trusted certificates"}, + {"trusted", OPT_TRUSTED, '<', "A file of trusted certificates"}, {"CAfile", OPT_CAFILE, '<', "A file of trusted certificates"}, + {"CApath", OPT_CAPATH, '/', "A directory of files with trusted certificates"}, {"CAstore", OPT_CASTORE, ':', "URI to a store of trusted certificates"}, {"no-CAfile", OPT_NOCAFILE, '-', - "Do not load the default certificates file"}, + "Do not load the default trusted certificates file"}, {"no-CApath", OPT_NOCAPATH, '-', - "Do not load certificates from the default certificates directory"}, + "Do not load trusted certificates from the default directory"}, {"no-CAstore", OPT_NOCAPATH, '-', - "Do not load certificates from the default certificates store"}, + "Do not load trusted certificates from the default certificates store"}, {"untrusted", OPT_UNTRUSTED, '<', "A file of untrusted certificates"}, - {"trusted", OPT_TRUSTED, '<', "A file of trusted certificates"}, {"CRLfile", OPT_CRLFILE, '<', "File containing one or more CRL's (in PEM format) to load"}, {"crl_download", OPT_CRL_DOWNLOAD, '-', - "Attempt to download CRL information for this certificate"}, + "Try downloading CRL information for certificates via their CDP entries"}, {"show_chain", OPT_SHOW_CHAIN, '-', "Display information about the certificate chain"}, diff --git a/apps/version.c b/apps/version.c index 83a726a8..ebdd03e0 100644 --- a/apps/version.c +++ b/apps/version.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/apps/x509.c b/apps/x509.c index e2a68828..a2a52e41 100644 --- a/apps/x509.c +++ b/apps/x509.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -28,6 +28,10 @@ # include #endif +DEFINE_STACK_OF(ASN1_OBJECT) +DEFINE_STACK_OF(X509_EXTENSION) +DEFINE_STACK_OF_STRING() + #undef POSTFIX #define POSTFIX ".srl" #define DEF_DAYS 30 @@ -117,7 +121,7 @@ const OPTIONS x509_options[] = { {"issuer_hash_old", OPT_ISSUER_HASH_OLD, '-', "Print old-style (MD5) subject hash value"}, #endif - {"nameopt", OPT_NAMEOPT, 's', "Various certificate name options"}, + {"nameopt", OPT_NAMEOPT, 's', "Certificate subject/issuer name printing options"}, OPT_SECTION("Certificate"), {"startdate", OPT_STARTDATE, '-', "Set notBefore field"}, @@ -568,18 +572,10 @@ int x509_main(int argc, char **argv) if (reqfile) { EVP_PKEY *pkey; - BIO *in; - in = bio_open_default(infile, 'r', informat); - if (in == NULL) + req = load_csr(infile, informat, "certificate request input"); + if (req == NULL) goto end; - req = PEM_read_bio_X509_REQ(in, NULL, NULL, NULL); - BIO_free(in); - - if (req == NULL) { - ERR_print_errors(bio_err); - goto end; - } if ((pkey = X509_REQ_get0_pubkey(req)) == NULL) { BIO_printf(bio_err, "error unpacking public key\n"); diff --git a/config b/config index 7dfea228..2e149ded 100755 --- a/config +++ b/config @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright 1998-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1998-2020 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 diff --git a/crypto/aes/aes_cbc.c b/crypto/aes/aes_cbc.c index 9017cc13..f2d5381b 100644 --- a/crypto/aes/aes_cbc.c +++ b/crypto/aes/aes_cbc.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 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 diff --git a/crypto/aes/aes_cfb.c b/crypto/aes/aes_cfb.c index f0442f61..e5fcbb87 100644 --- a/crypto/aes/aes_cfb.c +++ b/crypto/aes/aes_cfb.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 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 diff --git a/crypto/aes/aes_core.c b/crypto/aes/aes_core.c index d7e4bf16..b7aa92ed 100644 --- a/crypto/aes/aes_core.c +++ b/crypto/aes/aes_core.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 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 diff --git a/crypto/aes/aes_ecb.c b/crypto/aes/aes_ecb.c index 7270fc31..e05afb04 100644 --- a/crypto/aes/aes_ecb.c +++ b/crypto/aes/aes_ecb.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 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 diff --git a/crypto/aes/aes_ige.c b/crypto/aes/aes_ige.c index b40f4e53..51119186 100644 --- a/crypto/aes/aes_ige.c +++ b/crypto/aes/aes_ige.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 @@ -15,10 +15,6 @@ #include "internal/cryptlib.h" -#ifdef OPENSSL_NO_DEPRECATED_3_0 -NON_EMPTY_TRANSLATION_UNIT -#else - #include #include "aes_local.h" @@ -301,4 +297,3 @@ void AES_bi_ige_encrypt(const unsigned char *in, unsigned char *out, } } } -#endif diff --git a/crypto/aes/aes_misc.c b/crypto/aes/aes_misc.c index e706f513..7f39bcf2 100644 --- a/crypto/aes/aes_misc.c +++ b/crypto/aes/aes_misc.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 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 diff --git a/crypto/aes/aes_ofb.c b/crypto/aes/aes_ofb.c index 20f9814f..58e47dc4 100644 --- a/crypto/aes/aes_ofb.c +++ b/crypto/aes/aes_ofb.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 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 diff --git a/crypto/aes/aes_wrap.c b/crypto/aes/aes_wrap.c index 82bf6dbf..2187883a 100644 --- a/crypto/aes/aes_wrap.c +++ b/crypto/aes/aes_wrap.c @@ -1,5 +1,5 @@ /* - * Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2008-2020 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 diff --git a/crypto/aes/asm/aes-586.pl b/crypto/aes/asm/aes-586.pl index a11eef09..7b4f9e16 100755 --- a/crypto/aes/asm/aes-586.pl +++ b/crypto/aes/asm/aes-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2004-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2004-2020 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 diff --git a/crypto/aes/asm/aes-armv4.pl b/crypto/aes/asm/aes-armv4.pl index e8feee35..fc9ff7d3 100644 --- a/crypto/aes/asm/aes-armv4.pl +++ b/crypto/aes/asm/aes-armv4.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 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 diff --git a/crypto/aes/asm/aes-c64xplus.pl b/crypto/aes/asm/aes-c64xplus.pl index 3d767ce0..fa9a132d 100644 --- a/crypto/aes/asm/aes-c64xplus.pl +++ b/crypto/aes/asm/aes-c64xplus.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 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 diff --git a/crypto/aes/asm/aes-mips.pl b/crypto/aes/asm/aes-mips.pl index 9c3a6e6a..290621ac 100644 --- a/crypto/aes/asm/aes-mips.pl +++ b/crypto/aes/asm/aes-mips.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 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 diff --git a/crypto/aes/asm/aes-parisc.pl b/crypto/aes/asm/aes-parisc.pl index c51c11b1..3d55eec9 100644 --- a/crypto/aes/asm/aes-parisc.pl +++ b/crypto/aes/asm/aes-parisc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 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 diff --git a/crypto/aes/asm/aes-ppc.pl b/crypto/aes/asm/aes-ppc.pl index 86c666c6..595182c8 100644 --- a/crypto/aes/asm/aes-ppc.pl +++ b/crypto/aes/asm/aes-ppc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 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 diff --git a/crypto/aes/asm/aes-s390x.pl b/crypto/aes/asm/aes-s390x.pl index 175bd153..5d1283f5 100644 --- a/crypto/aes/asm/aes-s390x.pl +++ b/crypto/aes/asm/aes-s390x.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 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 diff --git a/crypto/aes/asm/aes-sparcv9.pl b/crypto/aes/asm/aes-sparcv9.pl index e1319502..9b9a795d 100755 --- a/crypto/aes/asm/aes-sparcv9.pl +++ b/crypto/aes/asm/aes-sparcv9.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 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 diff --git a/crypto/aes/asm/aes-x86_64.pl b/crypto/aes/asm/aes-x86_64.pl index 1a771a11..25f7ded9 100755 --- a/crypto/aes/asm/aes-x86_64.pl +++ b/crypto/aes/asm/aes-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 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 diff --git a/crypto/aes/asm/aesfx-sparcv9.pl b/crypto/aes/asm/aesfx-sparcv9.pl index af99c9f2..b40f3919 100644 --- a/crypto/aes/asm/aesfx-sparcv9.pl +++ b/crypto/aes/asm/aesfx-sparcv9.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/crypto/aes/asm/aesni-mb-x86_64.pl b/crypto/aes/asm/aesni-mb-x86_64.pl index 0b86285d..3c74df5f 100644 --- a/crypto/aes/asm/aesni-mb-x86_64.pl +++ b/crypto/aes/asm/aesni-mb-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2013-2020 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 diff --git a/crypto/aes/asm/aesni-sha1-x86_64.pl b/crypto/aes/asm/aesni-sha1-x86_64.pl index 9f2b2491..7d1f9129 100644 --- a/crypto/aes/asm/aesni-sha1-x86_64.pl +++ b/crypto/aes/asm/aesni-sha1-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2011-2020 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 diff --git a/crypto/aes/asm/aesni-sha256-x86_64.pl b/crypto/aes/asm/aesni-sha256-x86_64.pl index 442c934a..38901feb 100644 --- a/crypto/aes/asm/aesni-sha256-x86_64.pl +++ b/crypto/aes/asm/aesni-sha256-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2013-2020 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 diff --git a/crypto/aes/asm/aesni-x86.pl b/crypto/aes/asm/aesni-x86.pl index ee0a47cd..4245fe34 100644 --- a/crypto/aes/asm/aesni-x86.pl +++ b/crypto/aes/asm/aesni-x86.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 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 diff --git a/crypto/aes/asm/aesni-x86_64.pl b/crypto/aes/asm/aesni-x86_64.pl index 4d2d1e09..09c8f788 100644 --- a/crypto/aes/asm/aesni-x86_64.pl +++ b/crypto/aes/asm/aesni-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 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 diff --git a/crypto/aes/asm/aesp8-ppc.pl b/crypto/aes/asm/aesp8-ppc.pl index 7bd5e9e3..60cf86f5 100755 --- a/crypto/aes/asm/aesp8-ppc.pl +++ b/crypto/aes/asm/aesp8-ppc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2014-2020 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 diff --git a/crypto/aes/asm/aest4-sparcv9.pl b/crypto/aes/asm/aest4-sparcv9.pl index 6a3965a8..6b7a6eb4 100644 --- a/crypto/aes/asm/aest4-sparcv9.pl +++ b/crypto/aes/asm/aest4-sparcv9.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 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 diff --git a/crypto/aes/asm/aesv8-armx.pl b/crypto/aes/asm/aesv8-armx.pl index a18a47e3..d0848850 100755 --- a/crypto/aes/asm/aesv8-armx.pl +++ b/crypto/aes/asm/aesv8-armx.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2014-2020 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 diff --git a/crypto/aes/asm/bsaes-armv7.pl b/crypto/aes/asm/bsaes-armv7.pl index 58b8e927..39ccc3db 100644 --- a/crypto/aes/asm/bsaes-armv7.pl +++ b/crypto/aes/asm/bsaes-armv7.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 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 diff --git a/crypto/aes/asm/bsaes-x86_64.pl b/crypto/aes/asm/bsaes-x86_64.pl index 1b0f7096..2cf82115 100644 --- a/crypto/aes/asm/bsaes-x86_64.pl +++ b/crypto/aes/asm/bsaes-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2011-2020 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 diff --git a/crypto/aes/asm/vpaes-armv8.pl b/crypto/aes/asm/vpaes-armv8.pl index 4068c4bd..dcd5065e 100755 --- a/crypto/aes/asm/vpaes-armv8.pl +++ b/crypto/aes/asm/vpaes-armv8.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/crypto/aes/asm/vpaes-ppc.pl b/crypto/aes/asm/vpaes-ppc.pl index 522cfb73..7af47c63 100644 --- a/crypto/aes/asm/vpaes-ppc.pl +++ b/crypto/aes/asm/vpaes-ppc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2013-2020 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 diff --git a/crypto/aes/asm/vpaes-x86.pl b/crypto/aes/asm/vpaes-x86.pl index f800d83a..b206e934 100644 --- a/crypto/aes/asm/vpaes-x86.pl +++ b/crypto/aes/asm/vpaes-x86.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2011-2020 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 diff --git a/crypto/aes/asm/vpaes-x86_64.pl b/crypto/aes/asm/vpaes-x86_64.pl index ed0af8df..845528f4 100644 --- a/crypto/aes/asm/vpaes-x86_64.pl +++ b/crypto/aes/asm/vpaes-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2011-2020 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 diff --git a/crypto/aes/build.info b/crypto/aes/build.info index dc00df0c..2b205303 100644 --- a/crypto/aes/build.info +++ b/crypto/aes/build.info @@ -60,7 +60,10 @@ IF[{- !$disabled{asm} -}] ENDIF $COMMON=aes_misc.c aes_ecb.c $AESASM -SOURCE[../../libcrypto]=$COMMON aes_cfb.c aes_ofb.c aes_ige.c aes_wrap.c +SOURCE[../../libcrypto]=$COMMON aes_cfb.c aes_ofb.c aes_wrap.c +IF[{- !$disabled{'deprecated-3.0'} -}] + SOURCE[../../libcrypto]=aes_ige.c +ENDIF SOURCE[../../providers/libfips.a]=$COMMON # Implementations are now spread across several libraries, so the defines diff --git a/crypto/alphacpuid.pl b/crypto/alphacpuid.pl index 681b1187..b9697503 100644 --- a/crypto/alphacpuid.pl +++ b/crypto/alphacpuid.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 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 diff --git a/crypto/arm64cpuid.pl b/crypto/arm64cpuid.pl index 96facfd8..0eadcc43 100755 --- a/crypto/arm64cpuid.pl +++ b/crypto/arm64cpuid.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/crypto/armv4cpuid.pl b/crypto/armv4cpuid.pl index f0f95648..8991fd4a 100644 --- a/crypto/armv4cpuid.pl +++ b/crypto/armv4cpuid.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/crypto/asn1/a_digest.c b/crypto/asn1/a_digest.c index 22758fea..caf2f6c3 100644 --- a/crypto/asn1/a_digest.c +++ b/crypto/asn1/a_digest.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/asn1/a_gentm.c b/crypto/asn1/a_gentm.c index 4d31fef8..1d89e23b 100644 --- a/crypto/asn1/a_gentm.c +++ b/crypto/asn1/a_gentm.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/asn1/a_sign.c b/crypto/asn1/a_sign.c index 4b3a6da9..300f30aa 100644 --- a/crypto/asn1/a_sign.c +++ b/crypto/asn1/a_sign.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/asn1/a_strnid.c b/crypto/asn1/a_strnid.c index ab547397..518d4089 100644 --- a/crypto/asn1/a_strnid.c +++ b/crypto/asn1/a_strnid.c @@ -12,6 +12,8 @@ #include #include +DEFINE_STACK_OF(ASN1_STRING_TABLE) + static STACK_OF(ASN1_STRING_TABLE) *stable = NULL; static void st_free(ASN1_STRING_TABLE *tbl); static int sk_table_cmp(const ASN1_STRING_TABLE *const *a, diff --git a/crypto/asn1/a_time.c b/crypto/asn1/a_time.c index 4c9bf0c4..24fed453 100644 --- a/crypto/asn1/a_time.c +++ b/crypto/asn1/a_time.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2020 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 diff --git a/crypto/asn1/a_utctm.c b/crypto/asn1/a_utctm.c index 59659935..c5b49730 100644 --- a/crypto/asn1/a_utctm.c +++ b/crypto/asn1/a_utctm.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/asn1/a_verify.c b/crypto/asn1/a_verify.c index 8314ec13..eb024e79 100644 --- a/crypto/asn1/a_verify.c +++ b/crypto/asn1/a_verify.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/asn1/ameth_lib.c b/crypto/asn1/ameth_lib.c index 9ea5b665..a006c762 100644 --- a/crypto/asn1/ameth_lib.c +++ b/crypto/asn1/ameth_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 @@ -250,39 +250,20 @@ EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_new(int id, int flags, void EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst, const EVP_PKEY_ASN1_METHOD *src) { + int pkey_id = dst->pkey_id; + int pkey_base_id = dst->pkey_base_id; + unsigned long pkey_flags = dst->pkey_flags; + char *pem_str = dst->pem_str; + char *info = dst->info; - dst->pub_decode = src->pub_decode; - dst->pub_encode = src->pub_encode; - dst->pub_cmp = src->pub_cmp; - dst->pub_print = src->pub_print; - - dst->priv_decode = src->priv_decode; - dst->priv_encode = src->priv_encode; - dst->priv_print = src->priv_print; - - dst->old_priv_encode = src->old_priv_encode; - dst->old_priv_decode = src->old_priv_decode; - - dst->pkey_size = src->pkey_size; - dst->pkey_bits = src->pkey_bits; - - dst->param_decode = src->param_decode; - dst->param_encode = src->param_encode; - dst->param_missing = src->param_missing; - dst->param_copy = src->param_copy; - dst->param_cmp = src->param_cmp; - dst->param_print = src->param_print; - - dst->pkey_free = src->pkey_free; - dst->pkey_ctrl = src->pkey_ctrl; - - dst->item_sign = src->item_sign; - dst->item_verify = src->item_verify; - - dst->siginf_set = src->siginf_set; - - dst->pkey_check = src->pkey_check; + *dst = *src; + /* We only copy the function pointers so restore the other values */ + dst->pkey_id = pkey_id; + dst->pkey_base_id = pkey_base_id; + dst->pkey_flags = pkey_flags; + dst->pem_str = pem_str; + dst->info = info; } void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth) diff --git a/crypto/asn1/asn1_gen.c b/crypto/asn1/asn1_gen.c index 7b50a0ce..c5fb8f91 100644 --- a/crypto/asn1/asn1_gen.c +++ b/crypto/asn1/asn1_gen.c @@ -23,6 +23,9 @@ #define ASN1_GEN_STR(str,val) {str, sizeof(str) - 1, val} +DEFINE_STACK_OF(ASN1_TYPE) +DEFINE_STACK_OF(CONF_VALUE) + #define ASN1_FLAG_EXP_MAX 20 /* Maximum number of nested sequences */ #define ASN1_GEN_SEQ_MAX_DEPTH 50 diff --git a/crypto/asn1/asn1_lib.c b/crypto/asn1/asn1_lib.c index d8844eab..47ae801b 100644 --- a/crypto/asn1/asn1_lib.c +++ b/crypto/asn1/asn1_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -13,6 +13,8 @@ #include #include "asn1_local.h" +DEFINE_STACK_OF(ASN1_UTF8STRING) + static int asn1_get_length(const unsigned char **pp, int *inf, long *rl, long max); static void asn1_put_length(unsigned char **pp, int length); diff --git a/crypto/asn1/asn1_par.c b/crypto/asn1/asn1_par.c index a26c4239..b2a1b3a2 100644 --- a/crypto/asn1/asn1_par.c +++ b/crypto/asn1/asn1_par.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/asn1/asn_mime.c b/crypto/asn1/asn_mime.c index 71916927..4eb92d68 100644 --- a/crypto/asn1/asn_mime.c +++ b/crypto/asn1/asn_mime.c @@ -1,5 +1,5 @@ /* - * Copyright 2008-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2008-2020 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 @@ -18,6 +18,9 @@ #include "internal/bio.h" #include "asn1_local.h" +DEFINE_STACK_OF(BIO) +DEFINE_STACK_OF(X509_ALGOR) + /* * Generalised MIME like utilities for streaming ASN1. Although many have a * PKCS7/CMS like flavour others are more general purpose. diff --git a/crypto/asn1/asn_moid.c b/crypto/asn1/asn_moid.c index 90f80760..02ca99db 100644 --- a/crypto/asn1/asn_moid.c +++ b/crypto/asn1/asn_moid.c @@ -16,6 +16,8 @@ #include "crypto/asn1.h" #include "crypto/objects.h" +DEFINE_STACK_OF(CONF_VALUE) + /* Simple ASN1 OID module: add all objects in a given section */ static int do_create(const char *value, const char *name); diff --git a/crypto/asn1/asn_mstbl.c b/crypto/asn1/asn_mstbl.c index 3139ab07..dedf1c32 100644 --- a/crypto/asn1/asn_mstbl.c +++ b/crypto/asn1/asn_mstbl.c @@ -13,6 +13,7 @@ #include #include +DEFINE_STACK_OF(CONF_VALUE) /* Multi string module: add table entries from a given section */ static int do_tcreate(const char *value, const char *name); diff --git a/crypto/asn1/build.info b/crypto/asn1/build.info index 32fdaaa1..a66c3084 100644 --- a/crypto/asn1/build.info +++ b/crypto/asn1/build.info @@ -4,14 +4,20 @@ SOURCE[../../libcrypto]=\ a_print.c a_type.c a_dup.c a_d2i_fp.c a_i2d_fp.c \ a_utf8.c a_sign.c a_digest.c a_verify.c a_mbstr.c a_strex.c \ x_algor.c x_val.c x_sig.c x_bignum.c \ - x_long.c x_int64.c x_info.c x_spki.c nsseq.c \ + x_int64.c x_info.c x_spki.c nsseq.c \ d2i_pu.c d2i_pr.c i2d_pu.c i2d_pr.c\ t_pkey.c t_spki.c t_bitst.c \ tasn_new.c tasn_fre.c tasn_enc.c tasn_dec.c tasn_utl.c tasn_typ.c \ tasn_prn.c tasn_scn.c ameth_lib.c \ - f_int.c f_string.c n_pkey.c \ + f_int.c f_string.c \ x_pkey.c bio_asn1.c bio_ndef.c asn_mime.c \ asn1_gen.c asn1_par.c asn1_lib.c asn1_err.c a_strnid.c \ evp_asn1.c asn_pack.c p5_pbe.c p5_pbev2.c p5_scrypt.c p8_pkey.c \ asn_moid.c asn_mstbl.c asn1_item_list.c \ d2i_param.c i2d_param.c +IF[{- !$disabled{'rsa'} and !$disabled{'rc4'} -}] + SOURCE[../../libcrypto]=n_pkey.c +ENDIF +IF[{- !$disabled{'deprecated-3.0'} -}] + SOURCE[../../libcrypto]=x_long.c +ENDIF diff --git a/crypto/asn1/charmap.pl b/crypto/asn1/charmap.pl index 8130c826..43102a13 100644 --- a/crypto/asn1/charmap.pl +++ b/crypto/asn1/charmap.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2000-2020 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 diff --git a/crypto/asn1/d2i_pr.c b/crypto/asn1/d2i_pr.c index 08101a82..c7346f54 100644 --- a/crypto/asn1/d2i_pr.c +++ b/crypto/asn1/d2i_pr.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -18,15 +18,16 @@ #include "crypto/asn1.h" #include "crypto/evp.h" -EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, - long length) +DEFINE_STACK_OF(ASN1_TYPE) +EVP_PKEY *d2i_PrivateKey_ex(int type, EVP_PKEY **a, const unsigned char **pp, + long length, OPENSSL_CTX *libctx, const char *propq) { EVP_PKEY *ret; const unsigned char *p = *pp; if ((a == NULL) || (*a == NULL)) { if ((ret = EVP_PKEY_new()) == NULL) { - ASN1err(ASN1_F_D2I_PRIVATEKEY, ERR_R_EVP_LIB); + ASN1err(0, ERR_R_EVP_LIB); return NULL; } } else { @@ -38,26 +39,27 @@ EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, } if (!EVP_PKEY_set_type(ret, type)) { - ASN1err(ASN1_F_D2I_PRIVATEKEY, ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE); + ASN1err(0, ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE); goto err; } if (!ret->ameth->old_priv_decode || !ret->ameth->old_priv_decode(ret, &p, length)) { - if (ret->ameth->priv_decode) { + if (ret->ameth->priv_decode != NULL + || ret->ameth->priv_decode_with_libctx != NULL) { EVP_PKEY *tmp; PKCS8_PRIV_KEY_INFO *p8 = NULL; p8 = d2i_PKCS8_PRIV_KEY_INFO(NULL, &p, length); if (p8 == NULL) goto err; - tmp = EVP_PKCS82PKEY(p8); + tmp = evp_pkcs82pkey_int(p8, libctx, propq); PKCS8_PRIV_KEY_INFO_free(p8); if (tmp == NULL) goto err; EVP_PKEY_free(ret); ret = tmp; } else { - ASN1err(ASN1_F_D2I_PRIVATEKEY, ERR_R_ASN1_LIB); + ASN1err(0, ERR_R_ASN1_LIB); goto err; } } @@ -71,13 +73,20 @@ EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, return NULL; } +EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, + long length) +{ + return d2i_PrivateKey_ex(type, a, pp, length, NULL, NULL); +} + /* * This works like d2i_PrivateKey() except it automatically works out the * type */ -EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, - long length) +EVP_PKEY *d2i_AutoPrivateKey_ex(EVP_PKEY **a, const unsigned char **pp, + long length, OPENSSL_CTX *libctx, + const char *propq) { STACK_OF(ASN1_TYPE) *inkey; const unsigned char *p; @@ -94,22 +103,21 @@ EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, * Since we only need to discern "traditional format" RSA and DSA keys we * can just count the elements. */ - if (sk_ASN1_TYPE_num(inkey) == 6) + if (sk_ASN1_TYPE_num(inkey) == 6) { keytype = EVP_PKEY_DSA; - else if (sk_ASN1_TYPE_num(inkey) == 4) + } else if (sk_ASN1_TYPE_num(inkey) == 4) { keytype = EVP_PKEY_EC; - else if (sk_ASN1_TYPE_num(inkey) == 3) { /* This seems to be PKCS8, not + } else if (sk_ASN1_TYPE_num(inkey) == 3) { /* This seems to be PKCS8, not * traditional format */ PKCS8_PRIV_KEY_INFO *p8 = d2i_PKCS8_PRIV_KEY_INFO(NULL, &p, length); EVP_PKEY *ret; sk_ASN1_TYPE_pop_free(inkey, ASN1_TYPE_free); if (p8 == NULL) { - ASN1err(ASN1_F_D2I_AUTOPRIVATEKEY, - ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE); + ASN1err(0, ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE); return NULL; } - ret = EVP_PKCS82PKEY(p8); + ret = evp_pkcs82pkey_int(p8, libctx, propq); PKCS8_PRIV_KEY_INFO_free(p8); if (ret == NULL) return NULL; @@ -118,8 +126,15 @@ EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, *a = ret; } return ret; - } else + } else { keytype = EVP_PKEY_RSA; + } sk_ASN1_TYPE_pop_free(inkey, ASN1_TYPE_free); - return d2i_PrivateKey(keytype, a, pp, length); + return d2i_PrivateKey_ex(keytype, a, pp, length, libctx, propq); +} + +EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, + long length) +{ + return d2i_AutoPrivateKey_ex(a, pp, length, NULL, NULL); } diff --git a/crypto/asn1/d2i_pu.c b/crypto/asn1/d2i_pu.c index 8688bb67..3779a820 100644 --- a/crypto/asn1/d2i_pu.c +++ b/crypto/asn1/d2i_pu.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/asn1/i2d_pr.c b/crypto/asn1/i2d_pr.c index 73b44613..545300cb 100644 --- a/crypto/asn1/i2d_pr.c +++ b/crypto/asn1/i2d_pr.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/asn1/i2d_pu.c b/crypto/asn1/i2d_pu.c index b1466882..d0151e5b 100644 --- a/crypto/asn1/i2d_pu.c +++ b/crypto/asn1/i2d_pu.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/asn1/n_pkey.c b/crypto/asn1/n_pkey.c index 71f78f7b..91d6c606 100644 --- a/crypto/asn1/n_pkey.c +++ b/crypto/asn1/n_pkey.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -8,24 +8,19 @@ */ #include "openssl/opensslconf.h" -#ifdef OPENSSL_NO_RSA -NON_EMPTY_TRANSLATION_UNIT -#else -# include "internal/cryptlib.h" -# include -# include -# include -# include -# include -# include +#include "internal/cryptlib.h" +#include +#include +#include +#include +#include +#include -# ifndef OPENSSL_NO_RC4 - -# define ASN1_BROKEN_SEQUENCE(tname) \ +#define ASN1_BROKEN_SEQUENCE(tname) \ static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_BROKEN, 0, 0, 0, 0}; \ ASN1_SEQUENCE(tname) -# define static_ASN1_BROKEN_SEQUENCE_END(stname) \ +#define static_ASN1_BROKEN_SEQUENCE_END(stname) \ static_ASN1_SEQUENCE_END_ref(stname, stname) typedef struct netscape_pkey_st { @@ -62,7 +57,3 @@ ASN1_SEQUENCE(NETSCAPE_PKEY) = { DECLARE_ASN1_FUNCTIONS(NETSCAPE_PKEY) DECLARE_ASN1_ENCODE_FUNCTIONS_name(NETSCAPE_PKEY, NETSCAPE_PKEY) IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_PKEY) - -# endif /* OPENSSL_NO_RC4 */ - -#endif diff --git a/crypto/asn1/p8_pkey.c b/crypto/asn1/p8_pkey.c index 77e64a9a..dee18851 100644 --- a/crypto/asn1/p8_pkey.c +++ b/crypto/asn1/p8_pkey.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2020 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 diff --git a/crypto/asn1/tasn_dec.c b/crypto/asn1/tasn_dec.c index f720c602..42199114 100644 --- a/crypto/asn1/tasn_dec.c +++ b/crypto/asn1/tasn_dec.c @@ -17,6 +17,7 @@ #include "internal/numbers.h" #include "asn1_local.h" +DEFINE_STACK_OF(ASN1_VALUE) /* * Constructed types with a recursive definition (such as can be found in PKCS7) diff --git a/crypto/asn1/tasn_fre.c b/crypto/asn1/tasn_fre.c index e8d57bda..a8cd914f 100644 --- a/crypto/asn1/tasn_fre.c +++ b/crypto/asn1/tasn_fre.c @@ -13,6 +13,8 @@ #include #include "asn1_local.h" +DEFINE_STACK_OF(ASN1_VALUE) + /* Free up an ASN1 structure */ void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it) diff --git a/crypto/asn1/tasn_new.c b/crypto/asn1/tasn_new.c index 155080dd..a6335691 100644 --- a/crypto/asn1/tasn_new.c +++ b/crypto/asn1/tasn_new.c @@ -15,6 +15,8 @@ #include #include "asn1_local.h" +DEFINE_STACK_OF(ASN1_VALUE) + static int asn1_item_embed_new(ASN1_VALUE **pval, const ASN1_ITEM *it, int embed); static int asn1_primitive_new(ASN1_VALUE **pval, const ASN1_ITEM *it, diff --git a/crypto/asn1/x_algor.c b/crypto/asn1/x_algor.c index 94c2aa3a..70f26150 100644 --- a/crypto/asn1/x_algor.c +++ b/crypto/asn1/x_algor.c @@ -1,5 +1,5 @@ /* - * Copyright 1998-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1998-2020 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 @@ -92,3 +92,31 @@ int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b) return 0; return ASN1_TYPE_cmp(a->parameter, b->parameter); } + +int X509_ALGOR_copy(X509_ALGOR *dest, const X509_ALGOR *src) +{ + if (src == NULL || dest == NULL) + return 0; + + if (dest->algorithm) + ASN1_OBJECT_free(dest->algorithm); + dest->algorithm = NULL; + + if (dest->parameter) + ASN1_TYPE_free(dest->parameter); + dest->parameter = NULL; + + if (src->algorithm) + if ((dest->algorithm = OBJ_dup(src->algorithm)) == NULL) + return 0; + + if (src->parameter) + /* Assuming this is also correct for a BOOL. + * set does copy as a side effect. + */ + if (ASN1_TYPE_set1(dest->parameter, + src->parameter->type, src->parameter->value.ptr) == 0) + return 0; + + return 1; +} diff --git a/crypto/asn1/x_long.c b/crypto/asn1/x_long.c index 76d6674b..ffdd376e 100644 --- a/crypto/asn1/x_long.c +++ b/crypto/asn1/x_long.c @@ -1,5 +1,5 @@ /* - * Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2020 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 @@ -11,10 +11,6 @@ #include "internal/cryptlib.h" #include -#ifdef OPENSSL_NO_DEPRECATED_3_0 -NON_EMPTY_TRANSLATION_UNIT -#else - #define COPY_SIZE(a, b) (sizeof(a) < sizeof(b) ? sizeof(a) : sizeof(b)) /* @@ -198,4 +194,3 @@ static int long_print(BIO *out, const ASN1_VALUE **pval, const ASN1_ITEM *it, memcpy(&l, pval, COPY_SIZE(*pval, l)); return BIO_printf(out, "%ld\n", l); } -#endif diff --git a/crypto/async/arch/async_posix.c b/crypto/async/arch/async_posix.c index 3432320b..e107e09a 100644 --- a/crypto/async/arch/async_posix.c +++ b/crypto/async/arch/async_posix.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 diff --git a/crypto/async/arch/async_posix.h b/crypto/async/arch/async_posix.h index 4fb09b71..ab7637f6 100644 --- a/crypto/async/arch/async_posix.h +++ b/crypto/async/arch/async_posix.h @@ -1,5 +1,5 @@ /* - * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 diff --git a/crypto/bf/asm/bf-586.pl b/crypto/bf/asm/bf-586.pl index 43ce999e..33644863 100644 --- a/crypto/bf/asm/bf-586.pl +++ b/crypto/bf/asm/bf-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 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 diff --git a/crypto/bf/bf_cfb64.c b/crypto/bf/bf_cfb64.c index 2660270f..d7a92662 100644 --- a/crypto/bf/bf_cfb64.c +++ b/crypto/bf/bf_cfb64.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/bf/bf_ecb.c b/crypto/bf/bf_ecb.c index e0fd3911..b0276826 100644 --- a/crypto/bf/bf_ecb.c +++ b/crypto/bf/bf_ecb.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/bf/bf_enc.c b/crypto/bf/bf_enc.c index 7a8f8db7..40ddaf4a 100644 --- a/crypto/bf/bf_enc.c +++ b/crypto/bf/bf_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/bf/bf_ofb64.c b/crypto/bf/bf_ofb64.c index f0863ee9..086c3f07 100644 --- a/crypto/bf/bf_ofb64.c +++ b/crypto/bf/bf_ofb64.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/bf/bf_skey.c b/crypto/bf/bf_skey.c index 08189442..9728be29 100644 --- a/crypto/bf/bf_skey.c +++ b/crypto/bf/bf_skey.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/bio/b_sock.c b/crypto/bio/b_sock.c index 3c8a10b8..f5d2a627 100644 --- a/crypto/bio/b_sock.c +++ b/crypto/bio/b_sock.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/bio/b_sock2.c b/crypto/bio/b_sock2.c index df13d58c..42e24753 100644 --- a/crypto/bio/b_sock2.c +++ b/crypto/bio/b_sock2.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/crypto/bio/bf_buff.c b/crypto/bio/bf_buff.c index df7c5e99..10ee89f7 100644 --- a/crypto/bio/bf_buff.c +++ b/crypto/bio/bf_buff.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/bio/bf_lbuf.c b/crypto/bio/bf_lbuf.c index 32091195..0f46c1e9 100644 --- a/crypto/bio/bf_lbuf.c +++ b/crypto/bio/bf_lbuf.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/bio/bf_nbio.c b/crypto/bio/bf_nbio.c index 36deeb82..ffb0ffe9 100644 --- a/crypto/bio/bf_nbio.c +++ b/crypto/bio/bf_nbio.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/bio/bf_null.c b/crypto/bio/bf_null.c index ba693af0..fff9938c 100644 --- a/crypto/bio/bf_null.c +++ b/crypto/bio/bf_null.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/bio/bio_err.c b/crypto/bio/bio_err.c index b2a3d8e1..afeb6798 100644 --- a/crypto/bio/bio_err.c +++ b/crypto/bio/bio_err.c @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/bio/bio_lib.c b/crypto/bio/bio_lib.c index 35bd163a..c625833c 100644 --- a/crypto/bio/bio_lib.c +++ b/crypto/bio/bio_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/bio/bss_acpt.c b/crypto/bio/bss_acpt.c index d5b29ecf..3523f68e 100644 --- a/crypto/bio/bss_acpt.c +++ b/crypto/bio/bss_acpt.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/bio/bss_conn.c b/crypto/bio/bss_conn.c index 87009fb6..d3bd33e9 100644 --- a/crypto/bio/bss_conn.c +++ b/crypto/bio/bss_conn.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/bio/bss_fd.c b/crypto/bio/bss_fd.c index 599790d6..e1cb62d8 100644 --- a/crypto/bio/bss_fd.c +++ b/crypto/bio/bss_fd.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/bio/bss_sock.c b/crypto/bio/bss_sock.c index fd24bbc2..a72a4768 100644 --- a/crypto/bio/bss_sock.c +++ b/crypto/bio/bss_sock.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/bn/asm/alpha-mont.pl b/crypto/bn/asm/alpha-mont.pl index 04239b8b..9d362a6f 100644 --- a/crypto/bn/asm/alpha-mont.pl +++ b/crypto/bn/asm/alpha-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2006-2020 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 diff --git a/crypto/bn/asm/armv4-gf2m.pl b/crypto/bn/asm/armv4-gf2m.pl index ae4cb94b..d380c89f 100644 --- a/crypto/bn/asm/armv4-gf2m.pl +++ b/crypto/bn/asm/armv4-gf2m.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2011-2020 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 diff --git a/crypto/bn/asm/armv4-mont.pl b/crypto/bn/asm/armv4-mont.pl index 093f146c..c26df751 100644 --- a/crypto/bn/asm/armv4-mont.pl +++ b/crypto/bn/asm/armv4-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 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 diff --git a/crypto/bn/asm/armv8-mont.pl b/crypto/bn/asm/armv8-mont.pl index ed77a8a1..e8bdfa3b 100755 --- a/crypto/bn/asm/armv8-mont.pl +++ b/crypto/bn/asm/armv8-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/crypto/bn/asm/bn-586.pl b/crypto/bn/asm/bn-586.pl index 4f6f364f..56a9229a 100644 --- a/crypto/bn/asm/bn-586.pl +++ b/crypto/bn/asm/bn-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 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 diff --git a/crypto/bn/asm/c64xplus-gf2m.pl b/crypto/bn/asm/c64xplus-gf2m.pl index d3558918..5b58f3ac 100644 --- a/crypto/bn/asm/c64xplus-gf2m.pl +++ b/crypto/bn/asm/c64xplus-gf2m.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 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 diff --git a/crypto/bn/asm/co-586.pl b/crypto/bn/asm/co-586.pl index 5bb03ad6..139d95da 100644 --- a/crypto/bn/asm/co-586.pl +++ b/crypto/bn/asm/co-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 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 diff --git a/crypto/bn/asm/ia64-mont.pl b/crypto/bn/asm/ia64-mont.pl index fac6ca9b..ab0ad9d1 100644 --- a/crypto/bn/asm/ia64-mont.pl +++ b/crypto/bn/asm/ia64-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 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 diff --git a/crypto/bn/asm/mips-mont.pl b/crypto/bn/asm/mips-mont.pl index 3e89ccaf..687cc909 100644 --- a/crypto/bn/asm/mips-mont.pl +++ b/crypto/bn/asm/mips-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 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 diff --git a/crypto/bn/asm/mips.pl b/crypto/bn/asm/mips.pl index cf67647f..95cb227d 100644 --- a/crypto/bn/asm/mips.pl +++ b/crypto/bn/asm/mips.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 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 diff --git a/crypto/bn/asm/parisc-mont.pl b/crypto/bn/asm/parisc-mont.pl index ed7df628..d6ca83c4 100644 --- a/crypto/bn/asm/parisc-mont.pl +++ b/crypto/bn/asm/parisc-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 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 diff --git a/crypto/bn/asm/ppc-mont.pl b/crypto/bn/asm/ppc-mont.pl index 497b4c70..c3072f0d 100644 --- a/crypto/bn/asm/ppc-mont.pl +++ b/crypto/bn/asm/ppc-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2006-2020 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 diff --git a/crypto/bn/asm/ppc.pl b/crypto/bn/asm/ppc.pl index b3df275d..5015f7e7 100644 --- a/crypto/bn/asm/ppc.pl +++ b/crypto/bn/asm/ppc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2004-2020 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 diff --git a/crypto/bn/asm/ppc64-mont.pl b/crypto/bn/asm/ppc64-mont.pl index e5799083..59fae341 100644 --- a/crypto/bn/asm/ppc64-mont.pl +++ b/crypto/bn/asm/ppc64-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 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 diff --git a/crypto/bn/asm/rsaz-avx2.pl b/crypto/bn/asm/rsaz-avx2.pl index a01b2898..fc2e8f58 100755 --- a/crypto/bn/asm/rsaz-avx2.pl +++ b/crypto/bn/asm/rsaz-avx2.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2013-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved. # Copyright (c) 2012, Intel Corporation. All Rights Reserved. # # Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/crypto/bn/asm/rsaz-x86_64.pl b/crypto/bn/asm/rsaz-x86_64.pl index e05dc816..78df8adf 100755 --- a/crypto/bn/asm/rsaz-x86_64.pl +++ b/crypto/bn/asm/rsaz-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2013-2020 The OpenSSL Project Authors. All Rights Reserved. # Copyright (c) 2012, Intel Corporation. All Rights Reserved. # # Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/crypto/bn/asm/s390x-gf2m.pl b/crypto/bn/asm/s390x-gf2m.pl index 02acd508..038a6bc9 100644 --- a/crypto/bn/asm/s390x-gf2m.pl +++ b/crypto/bn/asm/s390x-gf2m.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2011-2020 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 diff --git a/crypto/bn/asm/s390x-mont.pl b/crypto/bn/asm/s390x-mont.pl index 03fd15bb..af088cca 100644 --- a/crypto/bn/asm/s390x-mont.pl +++ b/crypto/bn/asm/s390x-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 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 diff --git a/crypto/bn/asm/sparct4-mont.pl b/crypto/bn/asm/sparct4-mont.pl index 316c2af8..2df872b4 100755 --- a/crypto/bn/asm/sparct4-mont.pl +++ b/crypto/bn/asm/sparct4-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 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 diff --git a/crypto/bn/asm/sparcv9-gf2m.pl b/crypto/bn/asm/sparcv9-gf2m.pl index 26f0253f..41ab8039 100644 --- a/crypto/bn/asm/sparcv9-gf2m.pl +++ b/crypto/bn/asm/sparcv9-gf2m.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 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 diff --git a/crypto/bn/asm/sparcv9-mont.pl b/crypto/bn/asm/sparcv9-mont.pl index c16d5730..60053347 100644 --- a/crypto/bn/asm/sparcv9-mont.pl +++ b/crypto/bn/asm/sparcv9-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 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 diff --git a/crypto/bn/asm/sparcv9a-mont.pl b/crypto/bn/asm/sparcv9a-mont.pl index 369913b8..2a4255ed 100755 --- a/crypto/bn/asm/sparcv9a-mont.pl +++ b/crypto/bn/asm/sparcv9a-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 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 diff --git a/crypto/bn/asm/via-mont.pl b/crypto/bn/asm/via-mont.pl index 7678e75a..365dc652 100644 --- a/crypto/bn/asm/via-mont.pl +++ b/crypto/bn/asm/via-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2006-2020 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 diff --git a/crypto/bn/asm/vis3-mont.pl b/crypto/bn/asm/vis3-mont.pl index 136f3e44..6ee64e28 100644 --- a/crypto/bn/asm/vis3-mont.pl +++ b/crypto/bn/asm/vis3-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 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 diff --git a/crypto/bn/asm/x86-gf2m.pl b/crypto/bn/asm/x86-gf2m.pl index 46cce652..469effd3 100644 --- a/crypto/bn/asm/x86-gf2m.pl +++ b/crypto/bn/asm/x86-gf2m.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2011-2020 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 diff --git a/crypto/bn/asm/x86-mont.pl b/crypto/bn/asm/x86-mont.pl index 0fcc484b..8fff9e1d 100755 --- a/crypto/bn/asm/x86-mont.pl +++ b/crypto/bn/asm/x86-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 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 diff --git a/crypto/bn/asm/x86_64-gf2m.pl b/crypto/bn/asm/x86_64-gf2m.pl index 9c082014..4c4dfc41 100644 --- a/crypto/bn/asm/x86_64-gf2m.pl +++ b/crypto/bn/asm/x86_64-gf2m.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2011-2020 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 diff --git a/crypto/bn/asm/x86_64-mont.pl b/crypto/bn/asm/x86_64-mont.pl index 9ba7ae8b..187f29f8 100755 --- a/crypto/bn/asm/x86_64-mont.pl +++ b/crypto/bn/asm/x86_64-mont.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 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 diff --git a/crypto/bn/asm/x86_64-mont5.pl b/crypto/bn/asm/x86_64-mont5.pl index 6cd7bca9..1edf1f71 100755 --- a/crypto/bn/asm/x86_64-mont5.pl +++ b/crypto/bn/asm/x86_64-mont5.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2011-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2011-2020 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 diff --git a/crypto/bn/bn_const.c b/crypto/bn/bn_const.c index d7c0084c..7d0a9f90 100644 --- a/crypto/bn/bn_const.c +++ b/crypto/bn/bn_const.c @@ -1,5 +1,5 @@ /* - * Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2005-2020 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 diff --git a/crypto/bn/bn_depr.c b/crypto/bn/bn_depr.c index 9c1c3d57..9d73cae9 100644 --- a/crypto/bn/bn_depr.c +++ b/crypto/bn/bn_depr.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 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 @@ -13,14 +13,11 @@ */ #include -#ifdef OPENSSL_NO_DEPRECATED_0_9_8 -NON_EMPTY_TRANSLATION_UNIT -#else -# include -# include -# include "internal/cryptlib.h" -# include "bn_local.h" +#include +#include +#include "internal/cryptlib.h" +#include "bn_local.h" BIGNUM *BN_generate_prime(BIGNUM *ret, int bits, int safe, const BIGNUM *add, const BIGNUM *rem, @@ -64,5 +61,3 @@ int BN_is_prime_fasttest(const BIGNUM *a, int checks, BN_GENCB_set_old(&cb, callback, cb_arg); return bn_check_prime_int(a, checks, ctx_passed, do_trial_division, &cb); } - -#endif diff --git a/crypto/bn/bn_dh.c b/crypto/bn/bn_dh.c index 2dfa5a09..9ffb6d8d 100644 --- a/crypto/bn/bn_dh.c +++ b/crypto/bn/bn_dh.c @@ -45,9 +45,23 @@ static const BN_ULONG modp_1536_p[] = { BN_DEF(0x8A67CC74, 0x29024E08), BN_DEF(0x80DC1CD1, 0xC4C6628B), BN_DEF(0x2168C234, 0xC90FDAA2), BN_DEF(0xFFFFFFFF, 0xFFFFFFFF) }; +/* q = (p - 1) / 2 */ +static const BN_ULONG modp_1536_q[] = { + BN_DEF(0xFFFFFFFF, 0xFFFFFFFF), BN_DEF(0x6511B993, 0x78BA3604), + BN_DEF(0x255E4C02, 0xB3861AA7), BN_DEF(0xB84B4B36, 0xCF6A9483), + BN_DEF(0x1042A95D, 0x0E3179AB), BN_DEF(0xEE51D6CB, 0xC1B2AE91), + BN_DEF(0x7E9267AF, 0x348B1FD4), BN_DEF(0x0E2AE9CD, 0xCC6D241B), + BN_DEF(0x50B1DF82, 0xE1003E5C), BN_DEF(0xF6722D9E, 0x24943328), + BN_DEF(0xBE258FF3, 0xD74F9208), BN_DEF(0xAD44CFD2, 0xF71C35FD), + BN_DEF(0x7A035BF6, 0x85FFAE5B), BN_DEF(0xD31BF6B5, 0x7A262174), + BN_DEF(0x312F3F63, 0xF242DABB), BN_DEF(0xB6A8E122, 0xA7F09AB6), + BN_DEF(0xF92F8A1B, 0x98158536), BN_DEF(0xE69D218D, 0xF7CA8CD9), + BN_DEF(0xC71A026E, 0x28A5043C), BN_DEF(0x1D89CD91, 0x0105DF53), + BN_DEF(0x4533E63A, 0x94812704), BN_DEF(0xC06E0E68, 0x62633145), + BN_DEF(0x10B4611A, 0xE487ED51), BN_DEF(0xFFFFFFFF, 0x7FFFFFFF) +}; # endif /* FIPS_MODE */ - /*- * "2048-bit MODP Group" from RFC3526, Section 3. * @@ -73,6 +87,25 @@ static const BN_ULONG modp_2048_p[] = { BN_DEF(0x8A67CC74, 0x29024E08), BN_DEF(0x80DC1CD1, 0xC4C6628B), BN_DEF(0x2168C234, 0xC90FDAA2), BN_DEF(0xFFFFFFFF, 0xFFFFFFFF) }; +/* q = (p - 1) / 2 */ +static const BN_ULONG modp_2048_q[] = { + BN_DEF(0xFFFFFFFF, 0x7FFFFFFF), BN_DEF(0x45565534, 0x0AB9472D), + BN_DEF(0x4C7D0288, 0x8AE9130C), BN_DEF(0x754AB572, 0x1CCAA4BE), + BN_DEF(0x4AAC0B8C, 0xEF15E5FB), BN_DEF(0x37A62964, 0xDAE2AEF8), + BN_DEF(0x7603D147, 0xCD93C1D1), BN_DEF(0x0C074301, 0xF1CF3B96), + BN_DEF(0x171B671D, 0x19482F23), BN_DEF(0x650C10BE, 0x78BA3604), + BN_DEF(0x255E4C02, 0xB3861AA7), BN_DEF(0xB84B4B36, 0xCF6A9483), + BN_DEF(0x1042A95D, 0x0E3179AB), BN_DEF(0xEE51D6CB, 0xC1B2AE91), + BN_DEF(0x7E9267AF, 0x348B1FD4), BN_DEF(0x0E2AE9CD, 0xCC6D241B), + BN_DEF(0x50B1DF82, 0xE1003E5C), BN_DEF(0xF6722D9E, 0x24943328), + BN_DEF(0xBE258FF3, 0xD74F9208), BN_DEF(0xAD44CFD2, 0xF71C35FD), + BN_DEF(0x7A035BF6, 0x85FFAE5B), BN_DEF(0xD31BF6B5, 0x7A262174), + BN_DEF(0x312F3F63, 0xF242DABB), BN_DEF(0xB6A8E122, 0xA7F09AB6), + BN_DEF(0xF92F8A1B, 0x98158536), BN_DEF(0xE69D218D, 0xF7CA8CD9), + BN_DEF(0xC71A026E, 0x28A5043C), BN_DEF(0x1D89CD91, 0x0105DF53), + BN_DEF(0x4533E63A, 0x94812704), BN_DEF(0xC06E0E68, 0x62633145), + BN_DEF(0x10B4611A, 0xE487ED51), BN_DEF(0xFFFFFFFF, 0x7FFFFFFF), +}; /*- * "3072-bit MODP Group" from RFC3526, Section 4. @@ -107,7 +140,33 @@ static const BN_ULONG modp_3072_p[] = { BN_DEF(0x8A67CC74, 0x29024E08), BN_DEF(0x80DC1CD1, 0xC4C6628B), BN_DEF(0x2168C234, 0xC90FDAA2), BN_DEF(0xFFFFFFFF, 0xFFFFFFFF) }; - +/* q = (p - 1) / 2 */ +static const BN_ULONG modp_3072_q[] = { + BN_DEF(0xFFFFFFFF, 0x7FFFFFFF), BN_DEF(0x549D6965, 0x25C16890), + BN_DEF(0x707E8847, 0xA1EDADFE), BN_DEF(0x3A72D598, 0x047127D0), + BN_DEF(0x5D6CA371, 0x3B84C460), BN_DEF(0xBD30AEB6, 0x5DF08BAB), + BN_DEF(0x0BBD9006, 0x290F958C), BN_DEF(0x9F643532, 0x6C3B0139), + BN_DEF(0x6CC50432, 0xF897FD03), BN_DEF(0x0D697735, 0xE771E913), + BN_DEF(0x2512B0CE, 0x8F464A70), BN_DEF(0x6D8499EB, 0xD5FAD746), + BN_DEF(0xD370F263, 0xD9CB87C2), BN_DEF(0xAE83063E, 0x457538AB), + BN_DEF(0x2C6DF785, 0x767DC282), BN_DEF(0xEF8E5D32, 0xD42A90D5), + BN_DEF(0x82283D19, 0xD6998B86), BN_DEF(0x45556216, 0x0AB9472D), + BN_DEF(0x4C7D0288, 0x8AE9130C), BN_DEF(0x754AB572, 0x1CCAA4BE), + BN_DEF(0x4AAC0B8C, 0xEF15E5FB), BN_DEF(0x37A62964, 0xDAE2AEF8), + BN_DEF(0x7603D147, 0xCD93C1D1), BN_DEF(0x0C074301, 0xF1CF3B96), + BN_DEF(0x171B671D, 0x19482F23), BN_DEF(0x650C10BE, 0x78BA3604), + BN_DEF(0x255E4C02, 0xB3861AA7), BN_DEF(0xB84B4B36, 0xCF6A9483), + BN_DEF(0x1042A95D, 0x0E3179AB), BN_DEF(0xEE51D6CB, 0xC1B2AE91), + BN_DEF(0x7E9267AF, 0x348B1FD4), BN_DEF(0x0E2AE9CD, 0xCC6D241B), + BN_DEF(0x50B1DF82, 0xE1003E5C), BN_DEF(0xF6722D9E, 0x24943328), + BN_DEF(0xBE258FF3, 0xD74F9208), BN_DEF(0xAD44CFD2, 0xF71C35FD), + BN_DEF(0x7A035BF6, 0x85FFAE5B), BN_DEF(0xD31BF6B5, 0x7A262174), + BN_DEF(0x312F3F63, 0xF242DABB), BN_DEF(0xB6A8E122, 0xA7F09AB6), + BN_DEF(0xF92F8A1B, 0x98158536), BN_DEF(0xE69D218D, 0xF7CA8CD9), + BN_DEF(0xC71A026E, 0x28A5043C), BN_DEF(0x1D89CD91, 0x0105DF53), + BN_DEF(0x4533E63A, 0x94812704), BN_DEF(0xC06E0E68, 0x62633145), + BN_DEF(0x10B4611A, 0xE487ED51), BN_DEF(0xFFFFFFFF, 0x7FFFFFFF), +}; /*- * "4096-bit MODP Group" from RFC3526, Section 5. @@ -150,6 +209,41 @@ static const BN_ULONG modp_4096_p[] = { BN_DEF(0x8A67CC74, 0x29024E08), BN_DEF(0x80DC1CD1, 0xC4C6628B), BN_DEF(0x2168C234, 0xC90FDAA2), BN_DEF(0xFFFFFFFF, 0xFFFFFFFF) }; +/* q = (p - 1) / 2 */ +static const BN_ULONG modp_4096_q[] = { + BN_DEF(0xFFFFFFFF, 0xFFFFFFFF), BN_DEF(0x9A0318CC, 0xA6FA1AE4), + BN_DEF(0x48536047, 0xC37FDBEE), BN_DEF(0x46C7EEE0, 0xC9DA754C), + BN_DEF(0xEAD82D54, 0x68034893), BN_DEF(0x10B8240E, 0xDC0DEEBB), + BN_DEF(0x67716BD7, 0x8FB094B8), BN_DEF(0x28ADF3F6, 0x119DD0C3), + BN_DEF(0xD04861D1, 0xCCD94B27), BN_DEF(0xA735E02E, 0x143E2CA3), + BN_DEF(0x0FDF6553, 0x97477E0A), BN_DEF(0x826F477C, 0x6DDDE16D), + BN_DEF(0x156A2674, 0x12C1F4E5), BN_DEF(0x5B0A85ED, 0x0D4A341A), + BN_DEF(0x357A711E, 0x4CE1938C), BN_DEF(0x5EDD2D93, 0xC438CD08), + BN_DEF(0x53C3F36B, 0x8D391E09), BN_DEF(0x54908400, 0x25C16890), + BN_DEF(0x707E8847, 0xA1EDADFE), BN_DEF(0x3A72D598, 0x047127D0), + BN_DEF(0x5D6CA371, 0x3B84C460), BN_DEF(0xBD30AEB6, 0x5DF08BAB), + BN_DEF(0x0BBD9006, 0x290F958C), BN_DEF(0x9F643532, 0x6C3B0139), + BN_DEF(0x6CC50432, 0xF897FD03), BN_DEF(0x0D697735, 0xE771E913), + BN_DEF(0x2512B0CE, 0x8F464A70), BN_DEF(0x6D8499EB, 0xD5FAD746), + BN_DEF(0xD370F263, 0xD9CB87C2), BN_DEF(0xAE83063E, 0x457538AB), + BN_DEF(0x2C6DF785, 0x767DC282), BN_DEF(0xEF8E5D32, 0xD42A90D5), + BN_DEF(0x82283D19, 0xD6998B86), BN_DEF(0x45556216, 0x0AB9472D), + BN_DEF(0x4C7D0288, 0x8AE9130C), BN_DEF(0x754AB572, 0x1CCAA4BE), + BN_DEF(0x4AAC0B8C, 0xEF15E5FB), BN_DEF(0x37A62964, 0xDAE2AEF8), + BN_DEF(0x7603D147, 0xCD93C1D1), BN_DEF(0x0C074301, 0xF1CF3B96), + BN_DEF(0x171B671D, 0x19482F23), BN_DEF(0x650C10BE, 0x78BA3604), + BN_DEF(0x255E4C02, 0xB3861AA7), BN_DEF(0xB84B4B36, 0xCF6A9483), + BN_DEF(0x1042A95D, 0x0E3179AB), BN_DEF(0xEE51D6CB, 0xC1B2AE91), + BN_DEF(0x7E9267AF, 0x348B1FD4), BN_DEF(0x0E2AE9CD, 0xCC6D241B), + BN_DEF(0x50B1DF82, 0xE1003E5C), BN_DEF(0xF6722D9E, 0x24943328), + BN_DEF(0xBE258FF3, 0xD74F9208), BN_DEF(0xAD44CFD2, 0xF71C35FD), + BN_DEF(0x7A035BF6, 0x85FFAE5B), BN_DEF(0xD31BF6B5, 0x7A262174), + BN_DEF(0x312F3F63, 0xF242DABB), BN_DEF(0xB6A8E122, 0xA7F09AB6), + BN_DEF(0xF92F8A1B, 0x98158536), BN_DEF(0xE69D218D, 0xF7CA8CD9), + BN_DEF(0xC71A026E, 0x28A5043C), BN_DEF(0x1D89CD91, 0x0105DF53), + BN_DEF(0x4533E63A, 0x94812704), BN_DEF(0xC06E0E68, 0x62633145), + BN_DEF(0x10B4611A, 0xE487ED51), BN_DEF(0xFFFFFFFF, 0x7FFFFFFF), +}; /*- * "6144-bit MODP Group" from RFC3526, Section 6. @@ -208,6 +302,57 @@ static const BN_ULONG modp_6144_p[] = { BN_DEF(0x8A67CC74, 0x29024E08), BN_DEF(0x80DC1CD1, 0xC4C6628B), BN_DEF(0x2168C234, 0xC90FDAA2), BN_DEF(0xFFFFFFFF, 0xFFFFFFFF) }; +/* q = (p - 1) / 2 */ +static const BN_ULONG modp_6144_q[] = { + BN_DEF(0xFFFFFFFF, 0x7FFFFFFF), BN_DEF(0x36E62012, 0x734A7C8F), + BN_DEF(0x85BA3A6B, 0x095F96AD), BN_DEF(0x1FA43077, 0x021F47B3), + BN_DEF(0xB71E0234, 0x1C3FF46B), BN_DEF(0x17794B19, 0x6D2B64F6), + BN_DEF(0xD189EAAE, 0x758CE658), BN_DEF(0xC50FDFF8, 0x7AA8551E), + BN_DEF(0xDBE2ED3B, 0x0350EAC5), BN_DEF(0x794DF194, 0x53CB8AF7), + BN_DEF(0x07C01BF0, 0x0A662F69), BN_DEF(0x5FA470EC, 0x6647B6BF), + BN_DEF(0x15A0AA55, 0xA5EA03D9), BN_DEF(0xFFAC2D62, 0x078EA2DB), + BN_DEF(0x1B66445F, 0x91D4BD3F), BN_DEF(0xDF63F479, 0x2CF3E4BF), + BN_DEF(0xC8058E4F, 0x5AD42018), BN_DEF(0xA34C0641, 0x6AAF3817), + BN_DEF(0x373A7F7B, 0xFA416BE7), BN_DEF(0xE8B90E81, 0x7819750A), + BN_DEF(0xE325C976, 0xACC1E500), BN_DEF(0x9BC6695F, 0x37DC7A00), + BN_DEF(0x95EBD7A1, 0x999028A8), BN_DEF(0xF36612A5, 0xEDBF8A23), + BN_DEF(0x676A5D8D, 0xA267365D), BN_DEF(0xE7CD8A76, 0x6D1F6DF5), + BN_DEF(0x432D448C, 0x8BCB93D8), BN_DEF(0xC813EC18, 0x583529F6), + BN_DEF(0xA09800D7, 0x72ED9C17), BN_DEF(0x56CF2987, 0xFC7FCA03), + BN_DEF(0x1EDD1BDE, 0x64BA8F3B), BN_DEF(0x3013236F, 0x60EA6E59), + BN_DEF(0x693E3813, 0x1B61FD5A), BN_DEF(0x9A014249, 0xA6FA1AE4), + BN_DEF(0x48536047, 0xC37FDBEE), BN_DEF(0x46C7EEE0, 0xC9DA754C), + BN_DEF(0xEAD82D54, 0x68034893), BN_DEF(0x10B8240E, 0xDC0DEEBB), + BN_DEF(0x67716BD7, 0x8FB094B8), BN_DEF(0x28ADF3F6, 0x119DD0C3), + BN_DEF(0xD04861D1, 0xCCD94B27), BN_DEF(0xA735E02E, 0x143E2CA3), + BN_DEF(0x0FDF6553, 0x97477E0A), BN_DEF(0x826F477C, 0x6DDDE16D), + BN_DEF(0x156A2674, 0x12C1F4E5), BN_DEF(0x5B0A85ED, 0x0D4A341A), + BN_DEF(0x357A711E, 0x4CE1938C), BN_DEF(0x5EDD2D93, 0xC438CD08), + BN_DEF(0x53C3F36B, 0x8D391E09), BN_DEF(0x54908400, 0x25C16890), + BN_DEF(0x707E8847, 0xA1EDADFE), BN_DEF(0x3A72D598, 0x047127D0), + BN_DEF(0x5D6CA371, 0x3B84C460), BN_DEF(0xBD30AEB6, 0x5DF08BAB), + BN_DEF(0x0BBD9006, 0x290F958C), BN_DEF(0x9F643532, 0x6C3B0139), + BN_DEF(0x6CC50432, 0xF897FD03), BN_DEF(0x0D697735, 0xE771E913), + BN_DEF(0x2512B0CE, 0x8F464A70), BN_DEF(0x6D8499EB, 0xD5FAD746), + BN_DEF(0xD370F263, 0xD9CB87C2), BN_DEF(0xAE83063E, 0x457538AB), + BN_DEF(0x2C6DF785, 0x767DC282), BN_DEF(0xEF8E5D32, 0xD42A90D5), + BN_DEF(0x82283D19, 0xD6998B86), BN_DEF(0x45556216, 0x0AB9472D), + BN_DEF(0x4C7D0288, 0x8AE9130C), BN_DEF(0x754AB572, 0x1CCAA4BE), + BN_DEF(0x4AAC0B8C, 0xEF15E5FB), BN_DEF(0x37A62964, 0xDAE2AEF8), + BN_DEF(0x7603D147, 0xCD93C1D1), BN_DEF(0x0C074301, 0xF1CF3B96), + BN_DEF(0x171B671D, 0x19482F23), BN_DEF(0x650C10BE, 0x78BA3604), + BN_DEF(0x255E4C02, 0xB3861AA7), BN_DEF(0xB84B4B36, 0xCF6A9483), + BN_DEF(0x1042A95D, 0x0E3179AB), BN_DEF(0xEE51D6CB, 0xC1B2AE91), + BN_DEF(0x7E9267AF, 0x348B1FD4), BN_DEF(0x0E2AE9CD, 0xCC6D241B), + BN_DEF(0x50B1DF82, 0xE1003E5C), BN_DEF(0xF6722D9E, 0x24943328), + BN_DEF(0xBE258FF3, 0xD74F9208), BN_DEF(0xAD44CFD2, 0xF71C35FD), + BN_DEF(0x7A035BF6, 0x85FFAE5B), BN_DEF(0xD31BF6B5, 0x7A262174), + BN_DEF(0x312F3F63, 0xF242DABB), BN_DEF(0xB6A8E122, 0xA7F09AB6), + BN_DEF(0xF92F8A1B, 0x98158536), BN_DEF(0xE69D218D, 0xF7CA8CD9), + BN_DEF(0xC71A026E, 0x28A5043C), BN_DEF(0x1D89CD91, 0x0105DF53), + BN_DEF(0x4533E63A, 0x94812704), BN_DEF(0xC06E0E68, 0x62633145), + BN_DEF(0x10B4611A, 0xE487ED51), BN_DEF(0xFFFFFFFF, 0x7FFFFFFF), +}; /* * "8192-bit MODP Group" from RFC3526, Section 7. @@ -282,6 +427,73 @@ static const BN_ULONG modp_8192_p[] = { BN_DEF(0x8A67CC74, 0x29024E08), BN_DEF(0x80DC1CD1, 0xC4C6628B), BN_DEF(0x2168C234, 0xC90FDAA2), BN_DEF(0xFFFFFFFF, 0xFFFFFFFF) }; +/* q = (p - 1) / 2 */ +static const BN_ULONG modp_8192_q[] = { + BN_DEF(0xFFFFFFFF, 0xFFFFFFFF), BN_DEF(0xCC76E9EF, 0xB064C06E), + BN_DEF(0x405CB738, 0xE40FAB74), BN_DEF(0x3B2B4A6F, 0x4F182871), + BN_DEF(0xAB3BF4D5, 0xCAAC7223), BN_DEF(0x7E013723, 0xE48C86D3), + BN_DEF(0x6AF71C15, 0xC44D0017), BN_DEF(0xA40E366B, 0x2004A1C5), + BN_DEF(0x75C3CFC9, 0x1AC8237A), BN_DEF(0x8F67D134, 0xFD79B5E1), + BN_DEF(0xBF73A6B9, 0xD8EA885E), BN_DEF(0xAEF6BF50, 0xFCD5A40C), + BN_DEF(0x8423428E, 0xB2798E62), BN_DEF(0xD012AEE0, 0x22CBF44C), + BN_DEF(0x3A55B51B, 0xEF988770), BN_DEF(0x1FA27C16, 0x369509FC), + BN_DEF(0xD9D13C53, 0x03159E7A), BN_DEF(0xF6ADEE9D, 0x3CB41981), + BN_DEF(0xD16043F4, 0xFD4EA5BF), BN_DEF(0x17C1C2EE, 0xA5E5E443), + BN_DEF(0x36751835, 0x9A39FE32), BN_DEF(0x0D11F863, 0x89F5ABD4), + BN_DEF(0x5201BE03, 0x91111702), BN_DEF(0x7E42456C, 0xF1FEDC5F), + BN_DEF(0xF1CEB296, 0x11C78B65), BN_DEF(0x15F8E4BC, 0x1A11DA3A), + BN_DEF(0x2D727AB4, 0x1D55B1CE), BN_DEF(0xB5D21233, 0x92BB7B49), + BN_DEF(0xC57E23F6, 0x3A0FD3DF), BN_DEF(0x46CEE980, 0x1DE4195B), + BN_DEF(0x39DC98DD, 0x6C5F6268), BN_DEF(0x54996FC6, 0x1C3BBE5B), + BN_DEF(0x897F72F2, 0xBA51C937), BN_DEF(0x36DF08AC, 0x734A7C8F), + BN_DEF(0x85BA3A6B, 0x095F96AD), BN_DEF(0x1FA43077, 0x021F47B3), + BN_DEF(0xB71E0234, 0x1C3FF46B), BN_DEF(0x17794B19, 0x6D2B64F6), + BN_DEF(0xD189EAAE, 0x758CE658), BN_DEF(0xC50FDFF8, 0x7AA8551E), + BN_DEF(0xDBE2ED3B, 0x0350EAC5), BN_DEF(0x794DF194, 0x53CB8AF7), + BN_DEF(0x07C01BF0, 0x0A662F69), BN_DEF(0x5FA470EC, 0x6647B6BF), + BN_DEF(0x15A0AA55, 0xA5EA03D9), BN_DEF(0xFFAC2D62, 0x078EA2DB), + BN_DEF(0x1B66445F, 0x91D4BD3F), BN_DEF(0xDF63F479, 0x2CF3E4BF), + BN_DEF(0xC8058E4F, 0x5AD42018), BN_DEF(0xA34C0641, 0x6AAF3817), + BN_DEF(0x373A7F7B, 0xFA416BE7), BN_DEF(0xE8B90E81, 0x7819750A), + BN_DEF(0xE325C976, 0xACC1E500), BN_DEF(0x9BC6695F, 0x37DC7A00), + BN_DEF(0x95EBD7A1, 0x999028A8), BN_DEF(0xF36612A5, 0xEDBF8A23), + BN_DEF(0x676A5D8D, 0xA267365D), BN_DEF(0xE7CD8A76, 0x6D1F6DF5), + BN_DEF(0x432D448C, 0x8BCB93D8), BN_DEF(0xC813EC18, 0x583529F6), + BN_DEF(0xA09800D7, 0x72ED9C17), BN_DEF(0x56CF2987, 0xFC7FCA03), + BN_DEF(0x1EDD1BDE, 0x64BA8F3B), BN_DEF(0x3013236F, 0x60EA6E59), + BN_DEF(0x693E3813, 0x1B61FD5A), BN_DEF(0x9A014249, 0xA6FA1AE4), + BN_DEF(0x48536047, 0xC37FDBEE), BN_DEF(0x46C7EEE0, 0xC9DA754C), + BN_DEF(0xEAD82D54, 0x68034893), BN_DEF(0x10B8240E, 0xDC0DEEBB), + BN_DEF(0x67716BD7, 0x8FB094B8), BN_DEF(0x28ADF3F6, 0x119DD0C3), + BN_DEF(0xD04861D1, 0xCCD94B27), BN_DEF(0xA735E02E, 0x143E2CA3), + BN_DEF(0x0FDF6553, 0x97477E0A), BN_DEF(0x826F477C, 0x6DDDE16D), + BN_DEF(0x156A2674, 0x12C1F4E5), BN_DEF(0x5B0A85ED, 0x0D4A341A), + BN_DEF(0x357A711E, 0x4CE1938C), BN_DEF(0x5EDD2D93, 0xC438CD08), + BN_DEF(0x53C3F36B, 0x8D391E09), BN_DEF(0x54908400, 0x25C16890), + BN_DEF(0x707E8847, 0xA1EDADFE), BN_DEF(0x3A72D598, 0x047127D0), + BN_DEF(0x5D6CA371, 0x3B84C460), BN_DEF(0xBD30AEB6, 0x5DF08BAB), + BN_DEF(0x0BBD9006, 0x290F958C), BN_DEF(0x9F643532, 0x6C3B0139), + BN_DEF(0x6CC50432, 0xF897FD03), BN_DEF(0x0D697735, 0xE771E913), + BN_DEF(0x2512B0CE, 0x8F464A70), BN_DEF(0x6D8499EB, 0xD5FAD746), + BN_DEF(0xD370F263, 0xD9CB87C2), BN_DEF(0xAE83063E, 0x457538AB), + BN_DEF(0x2C6DF785, 0x767DC282), BN_DEF(0xEF8E5D32, 0xD42A90D5), + BN_DEF(0x82283D19, 0xD6998B86), BN_DEF(0x45556216, 0x0AB9472D), + BN_DEF(0x4C7D0288, 0x8AE9130C), BN_DEF(0x754AB572, 0x1CCAA4BE), + BN_DEF(0x4AAC0B8C, 0xEF15E5FB), BN_DEF(0x37A62964, 0xDAE2AEF8), + BN_DEF(0x7603D147, 0xCD93C1D1), BN_DEF(0x0C074301, 0xF1CF3B96), + BN_DEF(0x171B671D, 0x19482F23), BN_DEF(0x650C10BE, 0x78BA3604), + BN_DEF(0x255E4C02, 0xB3861AA7), BN_DEF(0xB84B4B36, 0xCF6A9483), + BN_DEF(0x1042A95D, 0x0E3179AB), BN_DEF(0xEE51D6CB, 0xC1B2AE91), + BN_DEF(0x7E9267AF, 0x348B1FD4), BN_DEF(0x0E2AE9CD, 0xCC6D241B), + BN_DEF(0x50B1DF82, 0xE1003E5C), BN_DEF(0xF6722D9E, 0x24943328), + BN_DEF(0xBE258FF3, 0xD74F9208), BN_DEF(0xAD44CFD2, 0xF71C35FD), + BN_DEF(0x7A035BF6, 0x85FFAE5B), BN_DEF(0xD31BF6B5, 0x7A262174), + BN_DEF(0x312F3F63, 0xF242DABB), BN_DEF(0xB6A8E122, 0xA7F09AB6), + BN_DEF(0xF92F8A1B, 0x98158536), BN_DEF(0xE69D218D, 0xF7CA8CD9), + BN_DEF(0xC71A026E, 0x28A5043C), BN_DEF(0x1D89CD91, 0x0105DF53), + BN_DEF(0x4533E63A, 0x94812704), BN_DEF(0xC06E0E68, 0x62633145), + BN_DEF(0x10B4611A, 0xE487ED51), BN_DEF(0xFFFFFFFF, 0x7FFFFFFF), +}; /* DH parameters from RFC5114 */ static const BN_ULONG dh1024_160_p[] = { @@ -294,7 +506,10 @@ static const BN_ULONG dh1024_160_p[] = { BN_DEF(0x52D23B61, 0x9A6A9DCA), BN_DEF(0xFB06A3C6, 0x52C99FBC), BN_DEF(0xAE5D54EC, 0xDE92DE5E), BN_DEF(0xA080E01D, 0xB10B8F96) }; - +static const BN_ULONG dh1024_160_q[] = { + BN_DEF(0x49462353, 0x64B7CB9D), BN_DEF(0x8ABA4E7D, 0x81A8DF27), + (BN_ULONG)0xF518AA87 +}; static const BN_ULONG dh1024_160_g[] = { BN_DEF(0x22B3B2E5, 0x855E6EEB), BN_DEF(0xF97C2A24, 0x858F4DCE), BN_DEF(0x18D08BC8, 0x2D779D59), BN_DEF(0x8E73AFA3, 0xD662A4D1), @@ -306,11 +521,6 @@ static const BN_ULONG dh1024_160_g[] = { BN_DEF(0xEFB99905, 0x6765A442), BN_DEF(0xC3FD3412, 0xA4D1CBD5) }; -static const BN_ULONG dh1024_160_q[] = { - BN_DEF(0x49462353, 0x64B7CB9D), BN_DEF(0x8ABA4E7D, 0x81A8DF27), - (BN_ULONG)0xF518AA87 -}; - static const BN_ULONG dh2048_224_p[] = { BN_DEF(0x0C10E64F, 0x0AC4DFFE), BN_DEF(0x4E71B81C, 0xCF9DE538), BN_DEF(0xFFA31F71, 0x7EF363E2), BN_DEF(0x6B8E75B9, 0xE3FB73C1), @@ -329,7 +539,10 @@ static const BN_ULONG dh2048_224_p[] = { BN_DEF(0xB61D0A75, 0xB54B1597), BN_DEF(0x683B9FD1, 0xA20D64E5), BN_DEF(0x9559C51F, 0xD660FAA7), BN_DEF(0x9123A9D0, 0xAD107E1E) }; - +static const BN_ULONG dh2048_224_q[] = { + BN_DEF(0xB36371EB, 0xBF389A99), BN_DEF(0x4738CEBC, 0x1F80535A), + BN_DEF(0x99717710, 0xC58D93FE), (BN_ULONG)0x801C0D34 +}; static const BN_ULONG dh2048_224_g[] = { BN_DEF(0x191F2BFA, 0x84B890D3), BN_DEF(0x2A7065B3, 0x81BC087F), BN_DEF(0xF6EC0179, 0x19C418E1), BN_DEF(0x71CFFF4C, 0x7B5A0F1C), @@ -349,11 +562,6 @@ static const BN_ULONG dh2048_224_g[] = { BN_DEF(0x8FFDAC50, 0x9DF30B5C), BN_DEF(0x4F2D9AE3, 0xAC4032EF) }; -static const BN_ULONG dh2048_224_q[] = { - BN_DEF(0xB36371EB, 0xBF389A99), BN_DEF(0x4738CEBC, 0x1F80535A), - BN_DEF(0x99717710, 0xC58D93FE), (BN_ULONG)0x801C0D34 -}; - static const BN_ULONG dh2048_256_p[] = { BN_DEF(0x1E1A1597, 0xDB094AE9), BN_DEF(0xD7EF09CA, 0x693877FA), BN_DEF(0x6E11715F, 0x6116D227), BN_DEF(0xC198AF12, 0xA4B54330), @@ -372,7 +580,10 @@ static const BN_ULONG dh2048_256_p[] = { BN_DEF(0x435E3B00, 0x5D2CEED4), BN_DEF(0x660DD0F2, 0x8CEEF608), BN_DEF(0x65195999, 0xFFBBD19C), BN_DEF(0xB4B6663C, 0x87A8E61D) }; - +static const BN_ULONG dh2048_256_q[] = { + BN_DEF(0x64F5FBD3, 0xA308B0FE), BN_DEF(0x1EB3750B, 0x99B1A47D), + BN_DEF(0x40129DA2, 0xB4479976), BN_DEF(0xA709A097, 0x8CF83642) +}; static const BN_ULONG dh2048_256_g[] = { BN_DEF(0x6CC41659, 0x664B4C0F), BN_DEF(0xEF98C582, 0x5E2327CF), BN_DEF(0xD4795451, 0xD647D148), BN_DEF(0x90F00EF8, 0x2F630784), @@ -392,12 +603,6 @@ static const BN_ULONG dh2048_256_g[] = { BN_DEF(0x60EDBD48, 0x2E775066), BN_DEF(0x73134D0B, 0x3FB32C9B) }; -static const BN_ULONG dh2048_256_q[] = { - BN_DEF(0x64F5FBD3, 0xA308B0FE), BN_DEF(0x1EB3750B, 0x99B1A47D), - BN_DEF(0x40129DA2, 0xB4479976), BN_DEF(0xA709A097, 0x8CF83642) - -}; - /* Primes from RFC 7919 */ static const BN_ULONG ffdhe2048_p[] = { BN_DEF(0xFFFFFFFF, 0xFFFFFFFF), BN_DEF(0x61285C97, 0x886B4238), @@ -417,6 +622,25 @@ static const BN_ULONG ffdhe2048_p[] = { BN_DEF(0xCE2D3695, 0xD8B9C583), BN_DEF(0x273D3CF1, 0xAFDC5620), BN_DEF(0xA2BB4A9A, 0xADF85458), BN_DEF(0xFFFFFFFF, 0xFFFFFFFF) }; +/* q = (p - 1) / 2 */ +static const BN_ULONG ffdhe2048_q[] = { + BN_DEF(0xFFFFFFFF, 0xFFFFFFFF), BN_DEF(0x30942E4B, 0x4435A11C), + BN_DEF(0x60D977FD, 0x6379A513), BN_DEF(0xBE8B41D9, 0xE2C778C1), + BN_DEF(0x17611002, 0x9DDAFE5E), BN_DEF(0xA637D6B9, 0xE1FF1D8D), + BN_DEF(0x777940C1, 0xC7278919), BN_DEF(0x74C2C1FF, 0xC8B97F4E), + BN_DEF(0x941A17B0, 0x601A0266), BN_DEF(0xE6FBF176, 0x4F017E70), + BN_DEF(0x770536B8, 0x8583D3E4), BN_DEF(0xB1B95D8C, 0x572B76F3), + BN_DEF(0xEF1CA6FA, 0x0EA7A151), BN_DEF(0xB06BFA34, 0xDCB56D5B), + BN_DEF(0xD96471FD, 0xE88454A5), BN_DEF(0x59927DB0, 0x5E0558C1), + BN_DEF(0xA41D3CBD, 0x98566527), BN_DEF(0x9B56F39A, 0x0EF8AC50), + BN_DEF(0x79F7F439, 0xF15344ED), BN_DEF(0x707345BB, 0xCC278638), + BN_DEF(0x3FABE49A, 0xDAAB89AF), BN_DEF(0x9EF68D79, 0x42B1B2AA), + BN_DEF(0xAF833768, 0x9219FA8F), BN_DEF(0xEAFEB2B0, 0x69EF8F6A), + BN_DEF(0x576230BD, 0x7B40D901), BN_DEF(0xB1863AEC, 0xBE97F1B1), + BN_DEF(0x124D9F7C, 0xE649CEE7), BN_DEF(0x8A3219FD, 0xD4F09B20), + BN_DEF(0xE7169B4A, 0xEC5CE2C1), BN_DEF(0x139E9E78, 0x57EE2B10), + BN_DEF(0x515DA54D, 0xD6FC2A2C), BN_DEF(0xFFFFFFFF, 0x7FFFFFFF), +}; static const BN_ULONG ffdhe3072_p[] = { BN_DEF(0xFFFFFFFF, 0xFFFFFFFF), BN_DEF(0x66C62E37, 0x25E41D2B), @@ -444,6 +668,33 @@ static const BN_ULONG ffdhe3072_p[] = { BN_DEF(0xCE2D3695, 0xD8B9C583), BN_DEF(0x273D3CF1, 0xAFDC5620), BN_DEF(0xA2BB4A9A, 0xADF85458), BN_DEF(0xFFFFFFFF, 0xFFFFFFFF) }; +/* q = (p - 1) / 2 */ +static const BN_ULONG ffdhe3072_q[] = { + BN_DEF(0xFFFFFFFF, 0xFFFFFFFF), BN_DEF(0xB363171B, 0x12F20E95), + BN_DEF(0x1FEACEBE, 0x9E0D9077), BN_DEF(0xFD29EEF7, 0x055E6835), + BN_DEF(0x6AE22427, 0x0EDFCD21), BN_DEF(0xCD86F56D, 0xD5E290CB), + BN_DEF(0x911B1D06, 0x743695E2), BN_DEF(0xCE4EFB4F, 0xAE574155), + BN_DEF(0x38FAA5FF, 0xB279710F), BN_DEF(0x716BA6E9, 0x7A7EA229), + BN_DEF(0xDE21BCA2, 0x5A098649), BN_DEF(0xC289C938, 0x577F0984), + BN_DEF(0x60C36C8E, 0x2CC6587D), BN_DEF(0x48FBFBF7, 0xBD6C8E93), + BN_DEF(0xEB736483, 0x30DA37E4), BN_DEF(0x7CCE011C, 0xDE1A7A6F), + BN_DEF(0xB28C81AD, 0x6F1AAD9D), BN_DEF(0x308FE7EE, 0x4435A11C), + BN_DEF(0x60D977FD, 0x6379A513), BN_DEF(0xBE8B41D9, 0xE2C778C1), + BN_DEF(0x17611002, 0x9DDAFE5E), BN_DEF(0xA637D6B9, 0xE1FF1D8D), + BN_DEF(0x777940C1, 0xC7278919), BN_DEF(0x74C2C1FF, 0xC8B97F4E), + BN_DEF(0x941A17B0, 0x601A0266), BN_DEF(0xE6FBF176, 0x4F017E70), + BN_DEF(0x770536B8, 0x8583D3E4), BN_DEF(0xB1B95D8C, 0x572B76F3), + BN_DEF(0xEF1CA6FA, 0x0EA7A151), BN_DEF(0xB06BFA34, 0xDCB56D5B), + BN_DEF(0xD96471FD, 0xE88454A5), BN_DEF(0x59927DB0, 0x5E0558C1), + BN_DEF(0xA41D3CBD, 0x98566527), BN_DEF(0x9B56F39A, 0x0EF8AC50), + BN_DEF(0x79F7F439, 0xF15344ED), BN_DEF(0x707345BB, 0xCC278638), + BN_DEF(0x3FABE49A, 0xDAAB89AF), BN_DEF(0x9EF68D79, 0x42B1B2AA), + BN_DEF(0xAF833768, 0x9219FA8F), BN_DEF(0xEAFEB2B0, 0x69EF8F6A), + BN_DEF(0x576230BD, 0x7B40D901), BN_DEF(0xB1863AEC, 0xBE97F1B1), + BN_DEF(0x124D9F7C, 0xE649CEE7), BN_DEF(0x8A3219FD, 0xD4F09B20), + BN_DEF(0xE7169B4A, 0xEC5CE2C1), BN_DEF(0x139E9E78, 0x57EE2B10), + BN_DEF(0x515DA54D, 0xD6FC2A2C), BN_DEF(0xFFFFFFFF, 0x7FFFFFFF), +}; static const BN_ULONG ffdhe4096_p[] = { BN_DEF(0xFFFFFFFF, 0xFFFFFFFF), BN_DEF(0x5E655F6A, 0xC68A007E), @@ -479,6 +730,41 @@ static const BN_ULONG ffdhe4096_p[] = { BN_DEF(0xCE2D3695, 0xD8B9C583), BN_DEF(0x273D3CF1, 0xAFDC5620), BN_DEF(0xA2BB4A9A, 0xADF85458), BN_DEF(0xFFFFFFFF, 0xFFFFFFFF) }; +/* q = (p - 1) / 2 */ +static const BN_ULONG ffdhe4096_q[] = { + BN_DEF(0xFFFFFFFF, 0x7FFFFFFF), BN_DEF(0x2F32AFB5, 0xE345003F), + BN_DEF(0xFA20C170, 0xA6DAD428), BN_DEF(0x3FC45235, 0xC764DAAD), + BN_DEF(0xE764BEE7, 0x054148E6), BN_DEF(0xFCC68566, 0x15276754), + BN_DEF(0xB8A0001E, 0x0D0EDC9E), BN_DEF(0x99E5C5BD, 0x0494CCD1), + BN_DEF(0xB8D6801C, 0x36E3BC7C), BN_DEF(0x48C09862, 0x5483B005), + BN_DEF(0x96CF3419, 0x76B50F00), BN_DEF(0x77DA18C5, 0x389AE443), + BN_DEF(0xBF18E63D, 0x43FAADD2), BN_DEF(0xAA81A002, 0x3BB1E78E), + BN_DEF(0x6B4FB68C, 0x563EAFA1), BN_DEF(0x72C42BDB, 0xBC9874F2), + BN_DEF(0x8B26FA7D, 0xB737A961), BN_DEF(0xB34F0F78, 0x12F20E95), + BN_DEF(0x1FEACEBE, 0x9E0D9077), BN_DEF(0xFD29EEF7, 0x055E6835), + BN_DEF(0x6AE22427, 0x0EDFCD21), BN_DEF(0xCD86F56D, 0xD5E290CB), + BN_DEF(0x911B1D06, 0x743695E2), BN_DEF(0xCE4EFB4F, 0xAE574155), + BN_DEF(0x38FAA5FF, 0xB279710F), BN_DEF(0x716BA6E9, 0x7A7EA229), + BN_DEF(0xDE21BCA2, 0x5A098649), BN_DEF(0xC289C938, 0x577F0984), + BN_DEF(0x60C36C8E, 0x2CC6587D), BN_DEF(0x48FBFBF7, 0xBD6C8E93), + BN_DEF(0xEB736483, 0x30DA37E4), BN_DEF(0x7CCE011C, 0xDE1A7A6F), + BN_DEF(0xB28C81AD, 0x6F1AAD9D), BN_DEF(0x308FE7EE, 0x4435A11C), + BN_DEF(0x60D977FD, 0x6379A513), BN_DEF(0xBE8B41D9, 0xE2C778C1), + BN_DEF(0x17611002, 0x9DDAFE5E), BN_DEF(0xA637D6B9, 0xE1FF1D8D), + BN_DEF(0x777940C1, 0xC7278919), BN_DEF(0x74C2C1FF, 0xC8B97F4E), + BN_DEF(0x941A17B0, 0x601A0266), BN_DEF(0xE6FBF176, 0x4F017E70), + BN_DEF(0x770536B8, 0x8583D3E4), BN_DEF(0xB1B95D8C, 0x572B76F3), + BN_DEF(0xEF1CA6FA, 0x0EA7A151), BN_DEF(0xB06BFA34, 0xDCB56D5B), + BN_DEF(0xD96471FD, 0xE88454A5), BN_DEF(0x59927DB0, 0x5E0558C1), + BN_DEF(0xA41D3CBD, 0x98566527), BN_DEF(0x9B56F39A, 0x0EF8AC50), + BN_DEF(0x79F7F439, 0xF15344ED), BN_DEF(0x707345BB, 0xCC278638), + BN_DEF(0x3FABE49A, 0xDAAB89AF), BN_DEF(0x9EF68D79, 0x42B1B2AA), + BN_DEF(0xAF833768, 0x9219FA8F), BN_DEF(0xEAFEB2B0, 0x69EF8F6A), + BN_DEF(0x576230BD, 0x7B40D901), BN_DEF(0xB1863AEC, 0xBE97F1B1), + BN_DEF(0x124D9F7C, 0xE649CEE7), BN_DEF(0x8A3219FD, 0xD4F09B20), + BN_DEF(0xE7169B4A, 0xEC5CE2C1), BN_DEF(0x139E9E78, 0x57EE2B10), + BN_DEF(0x515DA54D, 0xD6FC2A2C), BN_DEF(0xFFFFFFFF, 0x7FFFFFFF), +}; static const BN_ULONG ffdhe6144_p[] = { BN_DEF(0xFFFFFFFF, 0xFFFFFFFF), BN_DEF(0xD0E40E65, 0xA40E329C), @@ -530,6 +816,57 @@ static const BN_ULONG ffdhe6144_p[] = { BN_DEF(0xCE2D3695, 0xD8B9C583), BN_DEF(0x273D3CF1, 0xAFDC5620), BN_DEF(0xA2BB4A9A, 0xADF85458), BN_DEF(0xFFFFFFFF, 0xFFFFFFFF) }; +/* q = (p - 1) / 2 */ +static const BN_ULONG ffdhe6144_q[] = { + BN_DEF(0xFFFFFFFF, 0xFFFFFFFF), BN_DEF(0x68720732, 0x5207194E), + BN_DEF(0xBC9C6D6A, 0xD20EAB86), BN_DEF(0x6A18B0E0, 0xB1534A93), + BN_DEF(0x4D6D8F34, 0x1FEEA547), BN_DEF(0xEE35C06B, 0x2D9DB8FC), + BN_DEF(0x63139582, 0xF64E8C08), BN_DEF(0xE5677A01, 0xC66796EA), + BN_DEF(0xE4ADC88B, 0x724FA91A), BN_DEF(0xDC2A19C5, 0x282EE416), + BN_DEF(0x8AB15423, 0x31149618), BN_DEF(0x3573BFAF, 0x6B9581BA), + BN_DEF(0xA316A9C6, 0x7CE4848D), BN_DEF(0x23D33E5F, 0x05746DAC), + BN_DEF(0x91308B41, 0x59D39CE0), BN_DEF(0x95140DFB, 0x77556011), + BN_DEF(0x3BE57CC9, 0xCA63328F), BN_DEF(0xCA595DE0, 0x3B1F2725), + BN_DEF(0x003BECDA, 0xAC3F1C6D), BN_DEF(0x0C1811E1, 0x3FD94FC6), + BN_DEF(0xFCF1D137, 0x855F60FF), BN_DEF(0x1A8288F1, 0x50077849), + BN_DEF(0x6DB1A06C, 0x5C2A9917), BN_DEF(0xD4D4B488, 0xD29238FB), + BN_DEF(0xA67EDA3B, 0x9C40A3FD), BN_DEF(0x2723020F, 0xCD8FAE1F), + BN_DEF(0xFE67F638, 0x66D6832B), BN_DEF(0xA6380E1D, 0x59C74619), + BN_DEF(0x58E07EA6, 0x48BDEEB2), BN_DEF(0x4DBB1264, 0x1DDA2A19), + BN_DEF(0x657A9F53, 0x11DD2221), BN_DEF(0x1C29951D, 0x2733BE96), + BN_DEF(0x2281B63D, 0x05FEB25B), BN_DEF(0x2F06EC81, 0xE345003F), + BN_DEF(0xFA20C170, 0xA6DAD428), BN_DEF(0x3FC45235, 0xC764DAAD), + BN_DEF(0xE764BEE7, 0x054148E6), BN_DEF(0xFCC68566, 0x15276754), + BN_DEF(0xB8A0001E, 0x0D0EDC9E), BN_DEF(0x99E5C5BD, 0x0494CCD1), + BN_DEF(0xB8D6801C, 0x36E3BC7C), BN_DEF(0x48C09862, 0x5483B005), + BN_DEF(0x96CF3419, 0x76B50F00), BN_DEF(0x77DA18C5, 0x389AE443), + BN_DEF(0xBF18E63D, 0x43FAADD2), BN_DEF(0xAA81A002, 0x3BB1E78E), + BN_DEF(0x6B4FB68C, 0x563EAFA1), BN_DEF(0x72C42BDB, 0xBC9874F2), + BN_DEF(0x8B26FA7D, 0xB737A961), BN_DEF(0xB34F0F78, 0x12F20E95), + BN_DEF(0x1FEACEBE, 0x9E0D9077), BN_DEF(0xFD29EEF7, 0x055E6835), + BN_DEF(0x6AE22427, 0x0EDFCD21), BN_DEF(0xCD86F56D, 0xD5E290CB), + BN_DEF(0x911B1D06, 0x743695E2), BN_DEF(0xCE4EFB4F, 0xAE574155), + BN_DEF(0x38FAA5FF, 0xB279710F), BN_DEF(0x716BA6E9, 0x7A7EA229), + BN_DEF(0xDE21BCA2, 0x5A098649), BN_DEF(0xC289C938, 0x577F0984), + BN_DEF(0x60C36C8E, 0x2CC6587D), BN_DEF(0x48FBFBF7, 0xBD6C8E93), + BN_DEF(0xEB736483, 0x30DA37E4), BN_DEF(0x7CCE011C, 0xDE1A7A6F), + BN_DEF(0xB28C81AD, 0x6F1AAD9D), BN_DEF(0x308FE7EE, 0x4435A11C), + BN_DEF(0x60D977FD, 0x6379A513), BN_DEF(0xBE8B41D9, 0xE2C778C1), + BN_DEF(0x17611002, 0x9DDAFE5E), BN_DEF(0xA637D6B9, 0xE1FF1D8D), + BN_DEF(0x777940C1, 0xC7278919), BN_DEF(0x74C2C1FF, 0xC8B97F4E), + BN_DEF(0x941A17B0, 0x601A0266), BN_DEF(0xE6FBF176, 0x4F017E70), + BN_DEF(0x770536B8, 0x8583D3E4), BN_DEF(0xB1B95D8C, 0x572B76F3), + BN_DEF(0xEF1CA6FA, 0x0EA7A151), BN_DEF(0xB06BFA34, 0xDCB56D5B), + BN_DEF(0xD96471FD, 0xE88454A5), BN_DEF(0x59927DB0, 0x5E0558C1), + BN_DEF(0xA41D3CBD, 0x98566527), BN_DEF(0x9B56F39A, 0x0EF8AC50), + BN_DEF(0x79F7F439, 0xF15344ED), BN_DEF(0x707345BB, 0xCC278638), + BN_DEF(0x3FABE49A, 0xDAAB89AF), BN_DEF(0x9EF68D79, 0x42B1B2AA), + BN_DEF(0xAF833768, 0x9219FA8F), BN_DEF(0xEAFEB2B0, 0x69EF8F6A), + BN_DEF(0x576230BD, 0x7B40D901), BN_DEF(0xB1863AEC, 0xBE97F1B1), + BN_DEF(0x124D9F7C, 0xE649CEE7), BN_DEF(0x8A3219FD, 0xD4F09B20), + BN_DEF(0xE7169B4A, 0xEC5CE2C1), BN_DEF(0x139E9E78, 0x57EE2B10), + BN_DEF(0x515DA54D, 0xD6FC2A2C), BN_DEF(0xFFFFFFFF, 0x7FFFFFFF), +}; static const BN_ULONG ffdhe8192_p[] = { BN_DEF(0xFFFFFFFF, 0xFFFFFFFF), BN_DEF(0xC5C6424C, 0xD68C8BB7), @@ -597,6 +934,73 @@ static const BN_ULONG ffdhe8192_p[] = { BN_DEF(0xCE2D3695, 0xD8B9C583), BN_DEF(0x273D3CF1, 0xAFDC5620), BN_DEF(0xA2BB4A9A, 0xADF85458), BN_DEF(0xFFFFFFFF, 0xFFFFFFFF) }; +/* q = (p - 1) / 2 */ +static const BN_ULONG ffdhe8192_q[] = { + BN_DEF(0xFFFFFFFF, 0x7FFFFFFF), BN_DEF(0xE2E32126, 0x6B4645DB), + BN_DEF(0x41C7FC46, 0x008F154A), BN_DEF(0x54FA30A7, 0x84117283), + BN_DEF(0xFBD4221E, 0xCBE88EA4), BN_DEF(0x9833BF86, 0x535DFEF2), + BN_DEF(0x60FF437F, 0x17BA0F7C), BN_DEF(0x2EB8D43F, 0x7D7D5F0E), + BN_DEF(0xFDF2C518, 0x6F697DD5), BN_DEF(0x39585337, 0x5B42AEFF), + BN_DEF(0x5D4527F4, 0x8F7E4670), BN_DEF(0x1F97D22B, 0xC1FC0EA5), + BN_DEF(0xD2BBF118, 0x50FF183A), BN_DEF(0x446CE050, 0xEADC00CA), + BN_DEF(0xD6CD4AFC, 0xB1240B66), BN_DEF(0x286090BD, 0x4CF4F18B), + BN_DEF(0x07211E7E, 0x28D5348F), BN_DEF(0x1C137296, 0x0E10BF36), + BN_DEF(0x84B81FF7, 0x28D45498), BN_DEF(0xB523073A, 0x5DB84CC3), + BN_DEF(0x4E435811, 0xAA0FE346), BN_DEF(0x237EC128, 0x2C8B0660), + BN_DEF(0x1AE1AFAE, 0x1423605D), BN_DEF(0xC5BAC141, 0x2A282563), + BN_DEF(0xE95782F2, 0x149C441C), BN_DEF(0x600DEB81, 0xE596078E), + BN_DEF(0x3E499332, 0xAAAD97BA), BN_DEF(0x51D5C414, 0xC35B18A1), + BN_DEF(0xFB258877, 0x05C661DE), BN_DEF(0xF6E8E62F, 0xB43FF5B4), + BN_DEF(0x64A84EA1, 0x7ED91FE7), BN_DEF(0xECA8D732, 0x0F212D18), + BN_DEF(0x7B00641C, 0x1B568026), BN_DEF(0x67FA3555, 0x5207194E), + BN_DEF(0xBC9C6D6A, 0xD20EAB86), BN_DEF(0x6A18B0E0, 0xB1534A93), + BN_DEF(0x4D6D8F34, 0x1FEEA547), BN_DEF(0xEE35C06B, 0x2D9DB8FC), + BN_DEF(0x63139582, 0xF64E8C08), BN_DEF(0xE5677A01, 0xC66796EA), + BN_DEF(0xE4ADC88B, 0x724FA91A), BN_DEF(0xDC2A19C5, 0x282EE416), + BN_DEF(0x8AB15423, 0x31149618), BN_DEF(0x3573BFAF, 0x6B9581BA), + BN_DEF(0xA316A9C6, 0x7CE4848D), BN_DEF(0x23D33E5F, 0x05746DAC), + BN_DEF(0x91308B41, 0x59D39CE0), BN_DEF(0x95140DFB, 0x77556011), + BN_DEF(0x3BE57CC9, 0xCA63328F), BN_DEF(0xCA595DE0, 0x3B1F2725), + BN_DEF(0x003BECDA, 0xAC3F1C6D), BN_DEF(0x0C1811E1, 0x3FD94FC6), + BN_DEF(0xFCF1D137, 0x855F60FF), BN_DEF(0x1A8288F1, 0x50077849), + BN_DEF(0x6DB1A06C, 0x5C2A9917), BN_DEF(0xD4D4B488, 0xD29238FB), + BN_DEF(0xA67EDA3B, 0x9C40A3FD), BN_DEF(0x2723020F, 0xCD8FAE1F), + BN_DEF(0xFE67F638, 0x66D6832B), BN_DEF(0xA6380E1D, 0x59C74619), + BN_DEF(0x58E07EA6, 0x48BDEEB2), BN_DEF(0x4DBB1264, 0x1DDA2A19), + BN_DEF(0x657A9F53, 0x11DD2221), BN_DEF(0x1C29951D, 0x2733BE96), + BN_DEF(0x2281B63D, 0x05FEB25B), BN_DEF(0x2F06EC81, 0xE345003F), + BN_DEF(0xFA20C170, 0xA6DAD428), BN_DEF(0x3FC45235, 0xC764DAAD), + BN_DEF(0xE764BEE7, 0x054148E6), BN_DEF(0xFCC68566, 0x15276754), + BN_DEF(0xB8A0001E, 0x0D0EDC9E), BN_DEF(0x99E5C5BD, 0x0494CCD1), + BN_DEF(0xB8D6801C, 0x36E3BC7C), BN_DEF(0x48C09862, 0x5483B005), + BN_DEF(0x96CF3419, 0x76B50F00), BN_DEF(0x77DA18C5, 0x389AE443), + BN_DEF(0xBF18E63D, 0x43FAADD2), BN_DEF(0xAA81A002, 0x3BB1E78E), + BN_DEF(0x6B4FB68C, 0x563EAFA1), BN_DEF(0x72C42BDB, 0xBC9874F2), + BN_DEF(0x8B26FA7D, 0xB737A961), BN_DEF(0xB34F0F78, 0x12F20E95), + BN_DEF(0x1FEACEBE, 0x9E0D9077), BN_DEF(0xFD29EEF7, 0x055E6835), + BN_DEF(0x6AE22427, 0x0EDFCD21), BN_DEF(0xCD86F56D, 0xD5E290CB), + BN_DEF(0x911B1D06, 0x743695E2), BN_DEF(0xCE4EFB4F, 0xAE574155), + BN_DEF(0x38FAA5FF, 0xB279710F), BN_DEF(0x716BA6E9, 0x7A7EA229), + BN_DEF(0xDE21BCA2, 0x5A098649), BN_DEF(0xC289C938, 0x577F0984), + BN_DEF(0x60C36C8E, 0x2CC6587D), BN_DEF(0x48FBFBF7, 0xBD6C8E93), + BN_DEF(0xEB736483, 0x30DA37E4), BN_DEF(0x7CCE011C, 0xDE1A7A6F), + BN_DEF(0xB28C81AD, 0x6F1AAD9D), BN_DEF(0x308FE7EE, 0x4435A11C), + BN_DEF(0x60D977FD, 0x6379A513), BN_DEF(0xBE8B41D9, 0xE2C778C1), + BN_DEF(0x17611002, 0x9DDAFE5E), BN_DEF(0xA637D6B9, 0xE1FF1D8D), + BN_DEF(0x777940C1, 0xC7278919), BN_DEF(0x74C2C1FF, 0xC8B97F4E), + BN_DEF(0x941A17B0, 0x601A0266), BN_DEF(0xE6FBF176, 0x4F017E70), + BN_DEF(0x770536B8, 0x8583D3E4), BN_DEF(0xB1B95D8C, 0x572B76F3), + BN_DEF(0xEF1CA6FA, 0x0EA7A151), BN_DEF(0xB06BFA34, 0xDCB56D5B), + BN_DEF(0xD96471FD, 0xE88454A5), BN_DEF(0x59927DB0, 0x5E0558C1), + BN_DEF(0xA41D3CBD, 0x98566527), BN_DEF(0x9B56F39A, 0x0EF8AC50), + BN_DEF(0x79F7F439, 0xF15344ED), BN_DEF(0x707345BB, 0xCC278638), + BN_DEF(0x3FABE49A, 0xDAAB89AF), BN_DEF(0x9EF68D79, 0x42B1B2AA), + BN_DEF(0xAF833768, 0x9219FA8F), BN_DEF(0xEAFEB2B0, 0x69EF8F6A), + BN_DEF(0x576230BD, 0x7B40D901), BN_DEF(0xB1863AEC, 0xBE97F1B1), + BN_DEF(0x124D9F7C, 0xE649CEE7), BN_DEF(0x8A3219FD, 0xD4F09B20), + BN_DEF(0xE7169B4A, 0xEC5CE2C1), BN_DEF(0x139E9E78, 0x57EE2B10), + BN_DEF(0x515DA54D, 0xD6FC2A2C), BN_DEF(0xFFFFFFFF, 0x7FFFFFFF), +}; /* Macro to make a BIGNUM from static data */ @@ -608,32 +1012,44 @@ static const BN_ULONG ffdhe8192_p[] = { static const BN_ULONG value_2 = 2; -const BIGNUM _bignum_const_2 = - { (BN_ULONG *)&value_2, 1, 1, 0, BN_FLG_STATIC_DATA }; +const BIGNUM _bignum_const_2 = { + (BN_ULONG *)&value_2, 1, 1, 0, BN_FLG_STATIC_DATA +}; make_dh_bn(dh1024_160_p) -make_dh_bn(dh1024_160_g) make_dh_bn(dh1024_160_q) +make_dh_bn(dh1024_160_g) make_dh_bn(dh2048_224_p) -make_dh_bn(dh2048_224_g) make_dh_bn(dh2048_224_q) +make_dh_bn(dh2048_224_g) make_dh_bn(dh2048_256_p) -make_dh_bn(dh2048_256_g) make_dh_bn(dh2048_256_q) +make_dh_bn(dh2048_256_g) make_dh_bn(ffdhe2048_p) +make_dh_bn(ffdhe2048_q) make_dh_bn(ffdhe3072_p) +make_dh_bn(ffdhe3072_q) make_dh_bn(ffdhe4096_p) +make_dh_bn(ffdhe4096_q) make_dh_bn(ffdhe6144_p) +make_dh_bn(ffdhe6144_q) make_dh_bn(ffdhe8192_p) +make_dh_bn(ffdhe8192_q) # ifndef FIPS_MODE make_dh_bn(modp_1536_p) +make_dh_bn(modp_1536_q) # endif make_dh_bn(modp_2048_p) +make_dh_bn(modp_2048_q) make_dh_bn(modp_3072_p) +make_dh_bn(modp_3072_q) make_dh_bn(modp_4096_p) +make_dh_bn(modp_4096_q) make_dh_bn(modp_6144_p) +make_dh_bn(modp_6144_q) make_dh_bn(modp_8192_p) +make_dh_bn(modp_8192_q) #endif /* OPENSSL_NO_DH */ diff --git a/crypto/bn/bn_lib.c b/crypto/bn/bn_lib.c index e7ffce28..a0924d0e 100644 --- a/crypto/bn/bn_lib.c +++ b/crypto/bn/bn_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/bn/bn_local.h b/crypto/bn/bn_local.h index 1c9c018c..e93b7e9a 100644 --- a/crypto/bn/bn_local.h +++ b/crypto/bn/bn_local.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/bn/bn_prime.pl b/crypto/bn/bn_prime.pl index b6b546b9..a808c3c9 100644 --- a/crypto/bn/bn_prime.pl +++ b/crypto/bn/bn_prime.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1998-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1998-2020 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 diff --git a/crypto/bn/bn_rand.c b/crypto/bn/bn_rand.c index 2428a49e..91cb39ee 100644 --- a/crypto/bn/bn_rand.c +++ b/crypto/bn/bn_rand.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/bn/build.info b/crypto/bn/build.info index bc3fb9b0..5e04ed00 100644 --- a/crypto/bn/build.info +++ b/crypto/bn/build.info @@ -113,7 +113,10 @@ $COMMON=bn_add.c bn_div.c bn_exp.c bn_lib.c bn_ctx.c bn_mul.c \ bn_recp.c bn_mont.c bn_mpi.c bn_exp2.c bn_gf2m.c bn_nist.c \ bn_x931p.c bn_intern.c bn_dh.c \ bn_rsa_fips186_4.c $BNDH $BNASM -SOURCE[../../libcrypto]=$COMMON bn_print.c bn_err.c bn_depr.c bn_srp.c +SOURCE[../../libcrypto]=$COMMON bn_print.c bn_err.c bn_srp.c +IF[{- !$disabled{'deprecated-3.0'} -}] + SOURCE[../../libcrypto]=bn_depr.c +ENDIF SOURCE[../../providers/libfips.a]=$COMMON # Implementations are now spread across several libraries, so the defines # need to be applied to all affected libraries and modules. diff --git a/crypto/c64xpluscpuid.pl b/crypto/c64xpluscpuid.pl index 9aedc47d..20728c03 100644 --- a/crypto/c64xpluscpuid.pl +++ b/crypto/c64xpluscpuid.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 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 diff --git a/crypto/camellia/asm/cmll-x86.pl b/crypto/camellia/asm/cmll-x86.pl index f02108cc..284d31ca 100644 --- a/crypto/camellia/asm/cmll-x86.pl +++ b/crypto/camellia/asm/cmll-x86.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2008-2020 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 diff --git a/crypto/camellia/asm/cmll-x86_64.pl b/crypto/camellia/asm/cmll-x86_64.pl index a2f62702..7e069614 100644 --- a/crypto/camellia/asm/cmll-x86_64.pl +++ b/crypto/camellia/asm/cmll-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2008-2020 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 diff --git a/crypto/camellia/asm/cmllt4-sparcv9.pl b/crypto/camellia/asm/cmllt4-sparcv9.pl index 6ac0e31a..cbb626f0 100644 --- a/crypto/camellia/asm/cmllt4-sparcv9.pl +++ b/crypto/camellia/asm/cmllt4-sparcv9.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 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 diff --git a/crypto/camellia/camellia.c b/crypto/camellia/camellia.c index fd493a8a..dcdff810 100644 --- a/crypto/camellia/camellia.c +++ b/crypto/camellia/camellia.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 diff --git a/crypto/camellia/cmll_cbc.c b/crypto/camellia/cmll_cbc.c index 92b729e0..140681a9 100644 --- a/crypto/camellia/cmll_cbc.c +++ b/crypto/camellia/cmll_cbc.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 diff --git a/crypto/camellia/cmll_cfb.c b/crypto/camellia/cmll_cfb.c index 5b169a4f..8a92572d 100644 --- a/crypto/camellia/cmll_cfb.c +++ b/crypto/camellia/cmll_cfb.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 diff --git a/crypto/camellia/cmll_ctr.c b/crypto/camellia/cmll_ctr.c index fa00150e..26d875e3 100644 --- a/crypto/camellia/cmll_ctr.c +++ b/crypto/camellia/cmll_ctr.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 diff --git a/crypto/camellia/cmll_ecb.c b/crypto/camellia/cmll_ecb.c index bb3e519d..86ffbd51 100644 --- a/crypto/camellia/cmll_ecb.c +++ b/crypto/camellia/cmll_ecb.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 diff --git a/crypto/camellia/cmll_misc.c b/crypto/camellia/cmll_misc.c index 3cc10c99..f98dff7e 100644 --- a/crypto/camellia/cmll_misc.c +++ b/crypto/camellia/cmll_misc.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 diff --git a/crypto/camellia/cmll_ofb.c b/crypto/camellia/cmll_ofb.c index 0073a77c..4eeb0b5b 100644 --- a/crypto/camellia/cmll_ofb.c +++ b/crypto/camellia/cmll_ofb.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 diff --git a/crypto/cast/asm/cast-586.pl b/crypto/cast/asm/cast-586.pl index e3bf9756..044d703c 100644 --- a/crypto/cast/asm/cast-586.pl +++ b/crypto/cast/asm/cast-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 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 diff --git a/crypto/cast/c_cfb64.c b/crypto/cast/c_cfb64.c index 805a51d4..97081734 100644 --- a/crypto/cast/c_cfb64.c +++ b/crypto/cast/c_cfb64.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/cast/c_ecb.c b/crypto/cast/c_ecb.c index cbd04436..a0ab660f 100644 --- a/crypto/cast/c_ecb.c +++ b/crypto/cast/c_ecb.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/cast/c_enc.c b/crypto/cast/c_enc.c index ede9f2e8..4ed945a5 100644 --- a/crypto/cast/c_enc.c +++ b/crypto/cast/c_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/cast/c_ofb64.c b/crypto/cast/c_ofb64.c index 6aaa7edf..d4aa10ff 100644 --- a/crypto/cast/c_ofb64.c +++ b/crypto/cast/c_ofb64.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/cast/c_skey.c b/crypto/cast/c_skey.c index d516e10e..030e20ea 100644 --- a/crypto/cast/c_skey.c +++ b/crypto/cast/c_skey.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/chacha/asm/chacha-armv4.pl b/crypto/chacha/asm/chacha-armv4.pl index 665ca50c..0aa13519 100755 --- a/crypto/chacha/asm/chacha-armv4.pl +++ b/crypto/chacha/asm/chacha-armv4.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/crypto/chacha/asm/chacha-armv8.pl b/crypto/chacha/asm/chacha-armv8.pl index 368e7ac8..41503f03 100755 --- a/crypto/chacha/asm/chacha-armv8.pl +++ b/crypto/chacha/asm/chacha-armv8.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/crypto/chacha/asm/chacha-c64xplus.pl b/crypto/chacha/asm/chacha-c64xplus.pl index 6888e12d..a10f7c0a 100755 --- a/crypto/chacha/asm/chacha-c64xplus.pl +++ b/crypto/chacha/asm/chacha-c64xplus.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/crypto/chacha/asm/chacha-ppc.pl b/crypto/chacha/asm/chacha-ppc.pl index 12e76b00..60982ddd 100755 --- a/crypto/chacha/asm/chacha-ppc.pl +++ b/crypto/chacha/asm/chacha-ppc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/crypto/chacha/asm/chacha-x86.pl b/crypto/chacha/asm/chacha-x86.pl index 24c6966d..d88e8897 100755 --- a/crypto/chacha/asm/chacha-x86.pl +++ b/crypto/chacha/asm/chacha-x86.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/crypto/chacha/asm/chacha-x86_64.pl b/crypto/chacha/asm/chacha-x86_64.pl index 1d67b877..7c06a9b3 100755 --- a/crypto/chacha/asm/chacha-x86_64.pl +++ b/crypto/chacha/asm/chacha-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/crypto/cmac/cm_ameth.c b/crypto/cmac/cm_ameth.c index d46cf07f..aa06cdc9 100644 --- a/crypto/cmac/cm_ameth.c +++ b/crypto/cmac/cm_ameth.c @@ -1,5 +1,5 @@ /* - * Copyright 2010-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2010-2020 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 diff --git a/crypto/cmac/cmac.c b/crypto/cmac/cmac.c index b10c29c2..7f55c465 100644 --- a/crypto/cmac/cmac.c +++ b/crypto/cmac/cmac.c @@ -1,5 +1,5 @@ /* - * Copyright 2010-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2010-2020 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 diff --git a/crypto/cmp/cmp_asn.c b/crypto/cmp/cmp_asn.c index e02076bb..703bd8cd 100644 --- a/crypto/cmp/cmp_asn.c +++ b/crypto/cmp/cmp_asn.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * @@ -17,6 +17,8 @@ #include #include +DEFINE_STACK_OF(OSSL_CMP_ITAV) + /* ASN.1 declarations from RFC4210 */ ASN1_SEQUENCE(OSSL_CMP_REVANNCONTENT) = { /* OSSL_CMP_PKISTATUS is effectively ASN1_INTEGER so it is used directly */ @@ -396,11 +398,11 @@ ASN1_SEQUENCE(OSSL_CMP_PKIHEADER) = { } ASN1_SEQUENCE_END(OSSL_CMP_PKIHEADER) IMPLEMENT_ASN1_FUNCTIONS(OSSL_CMP_PKIHEADER) -ASN1_SEQUENCE(CMP_PROTECTEDPART) = { +ASN1_SEQUENCE(OSSL_CMP_PROTECTEDPART) = { ASN1_SIMPLE(OSSL_CMP_MSG, header, OSSL_CMP_PKIHEADER), ASN1_SIMPLE(OSSL_CMP_MSG, body, OSSL_CMP_PKIBODY) -} ASN1_SEQUENCE_END(CMP_PROTECTEDPART) -IMPLEMENT_ASN1_FUNCTIONS(CMP_PROTECTEDPART) +} ASN1_SEQUENCE_END(OSSL_CMP_PROTECTEDPART) +IMPLEMENT_ASN1_FUNCTIONS(OSSL_CMP_PROTECTEDPART) ASN1_SEQUENCE(OSSL_CMP_MSG) = { ASN1_SIMPLE(OSSL_CMP_MSG, header, OSSL_CMP_PKIHEADER), diff --git a/crypto/cmp/cmp_client.c b/crypto/cmp/cmp_client.c index 604b4ce9..f561f72e 100644 --- a/crypto/cmp/cmp_client.c +++ b/crypto/cmp/cmp_client.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * @@ -21,6 +21,12 @@ #include "openssl/cmp_util.h" +DEFINE_STACK_OF(ASN1_UTF8STRING) +DEFINE_STACK_OF(X509_CRL) +DEFINE_STACK_OF(OSSL_CMP_CERTRESPONSE) +DEFINE_STACK_OF(OSSL_CMP_PKISI) +DEFINE_STACK_OF(OSSL_CRMF_CERTID) + #define IS_CREP(t) ((t) == OSSL_CMP_PKIBODY_IP || (t) == OSSL_CMP_PKIBODY_CP \ || (t) == OSSL_CMP_PKIBODY_KUP) @@ -754,6 +760,10 @@ X509 *OSSL_CMP_exec_RR_ses(OSSL_CMP_CTX *ctx) CMPerr(0, CMP_R_INVALID_ARGS); return 0; } + if (ctx->oldCert == NULL) { + CMPerr(0, CMP_R_MISSING_REFERENCE_CERT); + return 0; + } ctx->status = -1; /* OSSL_CMP_rr_new() also checks if all necessary options are set */ @@ -764,10 +774,17 @@ X509 *OSSL_CMP_exec_RR_ses(OSSL_CMP_CTX *ctx) goto end; rrep = rp->body->value.rp; +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION if (sk_OSSL_CMP_PKISI_num(rrep->status) != num_RevDetails) { CMPerr(0, CMP_R_WRONG_RP_COMPONENT_COUNT); goto end; } +#else + if (sk_OSSL_CMP_PKISI_num(rrep->status) < 1) { + CMPerr(0, CMP_R_WRONG_RP_COMPONENT_COUNT); + goto end; + } +#endif /* evaluate PKIStatus field */ si = ossl_cmp_revrepcontent_get_pkisi(rrep, rsid); @@ -822,15 +839,19 @@ X509 *OSSL_CMP_exec_RR_ses(OSSL_CMP_CTX *ctx) goto err; } if (X509_NAME_cmp(issuer, OSSL_CRMF_CERTID_get0_issuer(cid)) != 0) { +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION CMPerr(0, CMP_R_WRONG_CERTID_IN_RP); result = NULL; goto err; +#endif } if (ASN1_INTEGER_cmp(serial, OSSL_CRMF_CERTID_get0_serialNumber(cid)) != 0) { +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION CMPerr(0, CMP_R_WRONG_SERIAL_IN_RP); result = NULL; goto err; +#endif } } diff --git a/crypto/cmp/cmp_ctx.c b/crypto/cmp/cmp_ctx.c index 9a252cca..aa18338d 100644 --- a/crypto/cmp/cmp_ctx.c +++ b/crypto/cmp/cmp_ctx.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * @@ -20,7 +20,16 @@ #include #include -/* Get current certificate store containing trusted root CA certs */ +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_EXTENSION) +DEFINE_STACK_OF(POLICYINFO) +DEFINE_STACK_OF(ASN1_UTF8STRING) +DEFINE_STACK_OF(GENERAL_NAME) +DEFINE_STACK_OF(OSSL_CMP_ITAV) + +/* + * Get current certificate store containing trusted root CA certs + */ X509_STORE *OSSL_CMP_CTX_get0_trustedStore(const OSSL_CMP_CTX *ctx) { if (ctx == NULL) { diff --git a/crypto/cmp/cmp_err.c b/crypto/cmp/cmp_err.c index 0f06fb3b..0c3547c0 100644 --- a/crypto/cmp/cmp_err.c +++ b/crypto/cmp/cmp_err.c @@ -90,6 +90,8 @@ static const ERR_STRING_DATA CMP_str_reasons[] = { {ERR_PACK(ERR_LIB_CMP, 0, CMP_R_MISSING_PRIVATE_KEY), "missing private key"}, {ERR_PACK(ERR_LIB_CMP, 0, CMP_R_MISSING_PROTECTION), "missing protection"}, + {ERR_PACK(ERR_LIB_CMP, 0, CMP_R_MISSING_REFERENCE_CERT), + "missing reference cert"}, {ERR_PACK(ERR_LIB_CMP, 0, CMP_R_MISSING_SENDER_IDENTIFICATION), "missing sender identification"}, {ERR_PACK(ERR_LIB_CMP, 0, CMP_R_MISSING_TRUST_STORE), diff --git a/crypto/cmp/cmp_hdr.c b/crypto/cmp/cmp_hdr.c index 4c213aa8..c2493420 100644 --- a/crypto/cmp/cmp_hdr.c +++ b/crypto/cmp/cmp_hdr.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * @@ -20,6 +20,9 @@ #include #include +DEFINE_STACK_OF(ASN1_UTF8STRING) +DEFINE_STACK_OF(OSSL_CMP_ITAV) + int ossl_cmp_hdr_set_pvno(OSSL_CMP_PKIHEADER *hdr, int pvno) { if (!ossl_assert(hdr != NULL)) diff --git a/crypto/cmp/cmp_http.c b/crypto/cmp/cmp_http.c index 20164944..4c9f542b 100644 --- a/crypto/cmp/cmp_http.c +++ b/crypto/cmp/cmp_http.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * @@ -28,6 +28,8 @@ #include #include +DEFINE_STACK_OF(CONF_VALUE) + /* * Send the PKIMessage req and on success return the response, else NULL. * Any previous error queue entries will likely be removed by ERR_clear_error(). diff --git a/crypto/cmp/cmp_local.h b/crypto/cmp/cmp_local.h index c3a080f2..9acafbae 100644 --- a/crypto/cmp/cmp_local.h +++ b/crypto/cmp/cmp_local.h @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * @@ -674,11 +674,11 @@ DECLARE_ASN1_FUNCTIONS(OSSL_CMP_MSG) * body PKIBody * } */ -typedef struct cmp_protectedpart_st { +typedef struct ossl_cmp_protectedpart_st { OSSL_CMP_PKIHEADER *header; OSSL_CMP_PKIBODY *body; -} CMP_PROTECTEDPART; -DECLARE_ASN1_FUNCTIONS(CMP_PROTECTEDPART) +} OSSL_CMP_PROTECTEDPART; +DECLARE_ASN1_FUNCTIONS(OSSL_CMP_PROTECTEDPART) /*- * this is not defined here as it is already in CRMF: diff --git a/crypto/cmp/cmp_msg.c b/crypto/cmp/cmp_msg.c index 7fc51596..dc11b54d 100644 --- a/crypto/cmp/cmp_msg.c +++ b/crypto/cmp/cmp_msg.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * @@ -20,6 +20,16 @@ #include #include +DEFINE_STACK_OF(OSSL_CMP_CERTSTATUS) +DEFINE_STACK_OF(OSSL_CMP_ITAV) +DEFINE_STACK_OF(GENERAL_NAME) +DEFINE_STACK_OF(X509_EXTENSION) +DEFINE_STACK_OF(OSSL_CMP_PKISI) +DEFINE_STACK_OF(OSSL_CRMF_MSG) +DEFINE_STACK_OF(OSSL_CMP_CERTRESPONSE) +DEFINE_STACK_OF(OSSL_CRMF_CERTID) +DEFINE_STACK_OF(ASN1_UTF8STRING) + OSSL_CMP_PKIHEADER *OSSL_CMP_MSG_get0_header(const OSSL_CMP_MSG *msg) { if (msg == NULL) { @@ -219,9 +229,14 @@ static OSSL_CRMF_MSG *crm_new(OSSL_CMP_CTX *ctx, int bodytype, int rid) if (rkey == NULL) rkey = ctx->pkey; /* default is independent of ctx->oldClCert */ - if (rkey == NULL - || (bodytype == OSSL_CMP_PKIBODY_KUR && refcert == NULL)) { - CMPerr(0, CMP_R_INVALID_ARGS); + if (rkey == NULL) { +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION + CMPerr(0, CMP_R_NULL_ARGUMENT); + return NULL; +#endif + } + if (bodytype == OSSL_CMP_PKIBODY_KUR && refcert == NULL) { + CMPerr(0, CMP_R_MISSING_REFERENCE_CERT); return NULL; } if ((crm = OSSL_CRMF_MSG_new()) == NULL) diff --git a/crypto/cmp/cmp_protect.c b/crypto/cmp/cmp_protect.c index ce20ef20..3e0c22bb 100644 --- a/crypto/cmp/cmp_protect.c +++ b/crypto/cmp/cmp_protect.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * @@ -18,6 +18,8 @@ #include #include +DEFINE_STACK_OF(X509) + /* * This function is also used for verification from cmp_vfy. * @@ -35,7 +37,7 @@ ASN1_BIT_STRING *ossl_cmp_calc_protection(const OSSL_CMP_MSG *msg, EVP_PKEY *pkey) { ASN1_BIT_STRING *prot = NULL; - CMP_PROTECTEDPART prot_part; + OSSL_CMP_PROTECTEDPART prot_part; const ASN1_OBJECT *algorOID = NULL; int len; size_t prot_part_der_len; @@ -58,7 +60,7 @@ ASN1_BIT_STRING *ossl_cmp_calc_protection(const OSSL_CMP_MSG *msg, prot_part.header = msg->header; prot_part.body = msg->body; - len = i2d_CMP_PROTECTEDPART(&prot_part, &prot_part_der); + len = i2d_OSSL_CMP_PROTECTEDPART(&prot_part, &prot_part_der); if (len < 0 || prot_part_der == NULL) { CMPerr(0, CMP_R_ERROR_CALCULATING_PROTECTION); goto end; diff --git a/crypto/cmp/cmp_server.c b/crypto/cmp/cmp_server.c index c5c57fc8..4da9a443 100644 --- a/crypto/cmp/cmp_server.c +++ b/crypto/cmp/cmp_server.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * @@ -19,6 +19,11 @@ #include #include +DEFINE_STACK_OF(OSSL_CRMF_MSG) +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(OSSL_CMP_ITAV) +DEFINE_STACK_OF(OSSL_CMP_CERTSTATUS) + /* the context for the generic CMP server */ struct ossl_cmp_srv_ctx_st { @@ -492,11 +497,13 @@ OSSL_CMP_MSG *OSSL_CMP_SRV_process_request(OSSL_CMP_SRV_CTX *srv_ctx, default: /* transactionID should be already initialized */ if (ctx->transactionID == NULL) { +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION CMPerr(0, CMP_R_UNEXPECTED_PKIBODY); /* ignore any (extra) error in next two function calls: */ (void)OSSL_CMP_CTX_set1_transactionID(ctx, hdr->transactionID); (void)ossl_cmp_ctx_set1_recipNonce(ctx, hdr->senderNonce); goto err; +#endif } } @@ -547,6 +554,7 @@ OSSL_CMP_MSG *OSSL_CMP_SRV_process_request(OSSL_CMP_SRV_CTX *srv_ctx, default: /* TODO possibly support further request message types */ CMPerr(0, CMP_R_UNEXPECTED_PKIBODY); + break; } err: diff --git a/crypto/cmp/cmp_status.c b/crypto/cmp/cmp_status.c index 9192cf5e..8f10a42f 100644 --- a/crypto/cmp/cmp_status.c +++ b/crypto/cmp/cmp_status.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * @@ -26,6 +26,8 @@ #include #include /* for ASN1_R_TOO_SMALL and ASN1_R_TOO_LARGE */ +DEFINE_STACK_OF(ASN1_UTF8STRING) + /* CMP functions related to PKIStatus */ int ossl_cmp_pkisi_get_status(const OSSL_CMP_PKISI *si) diff --git a/crypto/cmp/cmp_util.c b/crypto/cmp/cmp_util.c index 121b6a17..570e14cd 100644 --- a/crypto/cmp/cmp_util.c +++ b/crypto/cmp/cmp_util.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * @@ -16,6 +16,10 @@ #include /* should be implied by cmperr.h */ #include +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_OBJECT) +DEFINE_STACK_OF(ASN1_UTF8STRING) + /* * use trace API for CMP-specific logging, prefixed by "CMP " and severity */ @@ -114,8 +118,9 @@ const char *ossl_cmp_log_parse_metadata(const char *buf, */ static const char *improve_location_name(const char *func, const char *fallback) { - if (!ossl_assert(fallback != NULL)) - return NULL; + if (fallback == NULL) + return func == NULL ? UNKNOWN_FUNC : func; + return func == NULL || *func == '\0' || strcmp(func, UNKNOWN_FUNC) == 0 ? fallback : func; } diff --git a/crypto/cmp/cmp_vfy.c b/crypto/cmp/cmp_vfy.c index 11688059..c124b063 100644 --- a/crypto/cmp/cmp_vfy.c +++ b/crypto/cmp/cmp_vfy.c @@ -22,6 +22,8 @@ #include #include "crypto/x509.h" +DEFINE_STACK_OF(X509) + /* * Verify a message protected by signature according to section 5.1.3.3 * (sha1+RSA/DSA or any other algorithm supported by OpenSSL). @@ -32,7 +34,7 @@ static int verify_signature(const OSSL_CMP_CTX *cmp_ctx, const OSSL_CMP_MSG *msg, X509 *cert) { EVP_MD_CTX *ctx = NULL; - CMP_PROTECTEDPART prot_part; + OSSL_CMP_PROTECTEDPART prot_part; int digest_nid, pk_nid; const EVP_MD *digest = NULL; EVP_PKEY *pubkey = NULL; @@ -62,7 +64,7 @@ static int verify_signature(const OSSL_CMP_CTX *cmp_ctx, prot_part.header = msg->header; prot_part.body = msg->body; - len = i2d_CMP_PROTECTEDPART(&prot_part, &prot_part_der); + len = i2d_OSSL_CMP_PROTECTEDPART(&prot_part, &prot_part_der); if (len < 0 || prot_part_der == NULL) goto end; prot_part_der_len = (size_t) len; @@ -700,26 +702,34 @@ int ossl_cmp_msg_check_received(OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG *msg, /* detect explicitly permitted exceptions for invalid protection */ if (!OSSL_CMP_validate_msg(ctx, msg) && (cb == NULL || (*cb)(ctx, msg, 1, cb_arg) <= 0)) { +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION CMPerr(0, CMP_R_ERROR_VALIDATING_PROTECTION); return -1; +#endif } } else { /* detect explicitly permitted exceptions for missing protection */ if (cb == NULL || (*cb)(ctx, msg, 0, cb_arg) <= 0) { +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION CMPerr(0, CMP_R_MISSING_PROTECTION); return -1; +#endif } } /* check CMP version number in header */ if (ossl_cmp_hdr_get_pvno(OSSL_CMP_MSG_get0_header(msg)) != OSSL_CMP_PVNO) { +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION CMPerr(0, CMP_R_UNEXPECTED_PVNO); return -1; +#endif } if ((rcvd_type = ossl_cmp_msg_get_bodytype(msg)) < 0) { +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION CMPerr(0, CMP_R_PKIBODY_ERROR); return -1; +#endif } /* compare received transactionID with the expected one in previous msg */ @@ -727,8 +737,10 @@ int ossl_cmp_msg_check_received(OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG *msg, && (msg->header->transactionID == NULL || ASN1_OCTET_STRING_cmp(ctx->transactionID, msg->header->transactionID) != 0)) { +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION CMPerr(0, CMP_R_TRANSACTIONID_UNMATCHED); return -1; +#endif } /* compare received nonce with the one we sent */ @@ -736,8 +748,10 @@ int ossl_cmp_msg_check_received(OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG *msg, && (msg->header->recipNonce == NULL || ASN1_OCTET_STRING_cmp(ctx->senderNonce, msg->header->recipNonce) != 0)) { +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION CMPerr(0, CMP_R_RECIPNONCE_UNMATCHED); return -1; +#endif } /* @@ -776,19 +790,27 @@ int ossl_cmp_verify_popo(const OSSL_CMP_MSG *msg, int accept_RAVerified) { X509_REQ *req = msg->body->value.p10cr; - if (X509_REQ_verify(req, X509_REQ_get0_pubkey(req)) > 0) - return 1; - CMPerr(0, CMP_R_REQUEST_NOT_ACCEPTED); - return 0; + if (X509_REQ_verify(req, X509_REQ_get0_pubkey(req)) <= 0) { +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION + CMPerr(0, CMP_R_REQUEST_NOT_ACCEPTED); + return 0; +#endif + } } + break; case OSSL_CMP_PKIBODY_IR: case OSSL_CMP_PKIBODY_CR: case OSSL_CMP_PKIBODY_KUR: - return OSSL_CRMF_MSGS_verify_popo(msg->body->value.ir, - OSSL_CMP_CERTREQID, - accept_RAVerified); + if (!OSSL_CRMF_MSGS_verify_popo(msg->body->value.ir, OSSL_CMP_CERTREQID, + accept_RAVerified)) { +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION + return 0; +#endif + } + break; default: CMPerr(0, CMP_R_PKIBODY_ERROR); return 0; } + return 1; } diff --git a/crypto/cms/cms_env.c b/crypto/cms/cms_env.c index 003a406c..a5ef2dde 100644 --- a/crypto/cms/cms_env.c +++ b/crypto/cms/cms_env.c @@ -1,5 +1,5 @@ /* - * Copyright 2008-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2008-2020 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 @@ -18,6 +18,10 @@ #include "crypto/asn1.h" #include "crypto/evp.h" +DEFINE_STACK_OF(CMS_RecipientInfo) +DEFINE_STACK_OF(CMS_RevocationInfoChoice) +DEFINE_STACK_OF(X509_ATTRIBUTE) + /* CMS EnvelopedData Utilities */ static void cms_env_set_version(CMS_EnvelopedData *env); diff --git a/crypto/cms/cms_ess.c b/crypto/cms/cms_ess.c index 00a08aaf..12243dd8 100644 --- a/crypto/cms/cms_ess.c +++ b/crypto/cms/cms_ess.c @@ -19,6 +19,9 @@ #include "crypto/ess.h" #include "crypto/cms.h" +DEFINE_STACK_OF(GENERAL_NAMES) +DEFINE_STACK_OF(CMS_SignerInfo) + IMPLEMENT_ASN1_FUNCTIONS(CMS_ReceiptRequest) /* ESS services */ diff --git a/crypto/cms/cms_kari.c b/crypto/cms/cms_kari.c index a44aca65..4e837718 100644 --- a/crypto/cms/cms_kari.c +++ b/crypto/cms/cms_kari.c @@ -1,5 +1,5 @@ /* - * Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2013-2020 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 @@ -17,6 +17,8 @@ #include "cms_local.h" #include "crypto/asn1.h" +DEFINE_STACK_OF(CMS_RecipientEncryptedKey) + /* Key Agreement Recipient Info (KARI) routines */ int CMS_RecipientInfo_kari_get0_alg(CMS_RecipientInfo *ri, diff --git a/crypto/cms/cms_lib.c b/crypto/cms/cms_lib.c index 15aba4af..89dfc150 100644 --- a/crypto/cms/cms_lib.c +++ b/crypto/cms/cms_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2008-2020 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 @@ -16,6 +16,10 @@ #include #include "cms_local.h" +DEFINE_STACK_OF(CMS_RevocationInfoChoice) +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_CRL) + IMPLEMENT_ASN1_FUNCTIONS(CMS_ContentInfo) IMPLEMENT_ASN1_PRINT_FUNCTION(CMS_ContentInfo) diff --git a/crypto/cms/cms_local.h b/crypto/cms/cms_local.h index 46956a09..00ea9006 100644 --- a/crypto/cms/cms_local.h +++ b/crypto/cms/cms_local.h @@ -1,5 +1,5 @@ /* - * Copyright 2008-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2008-2020 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 diff --git a/crypto/cms/cms_pwri.c b/crypto/cms/cms_pwri.c index a4c32dcd..dee4a53c 100644 --- a/crypto/cms/cms_pwri.c +++ b/crypto/cms/cms_pwri.c @@ -18,6 +18,8 @@ #include "cms_local.h" #include "crypto/asn1.h" +DEFINE_STACK_OF(CMS_RecipientInfo) + int CMS_RecipientInfo_set0_password(CMS_RecipientInfo *ri, unsigned char *pass, ossl_ssize_t passlen) { diff --git a/crypto/cms/cms_sd.c b/crypto/cms/cms_sd.c index 4a40226c..a5342c4a 100644 --- a/crypto/cms/cms_sd.c +++ b/crypto/cms/cms_sd.c @@ -21,6 +21,12 @@ #include "crypto/cms.h" #include "crypto/ess.h" +DEFINE_STACK_OF(CMS_RevocationInfoChoice) +DEFINE_STACK_OF(CMS_SignerInfo) +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_ALGOR) +DEFINE_STACK_OF(X509_ATTRIBUTE) + /* CMS SignedData Utilities */ static CMS_SignedData *cms_get0_signed(CMS_ContentInfo *cms) diff --git a/crypto/cms/cms_smime.c b/crypto/cms/cms_smime.c index d5112a83..dbdc815e 100644 --- a/crypto/cms/cms_smime.c +++ b/crypto/cms/cms_smime.c @@ -1,5 +1,5 @@ /* - * Copyright 2008-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2008-2020 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 @@ -16,6 +16,12 @@ #include "cms_local.h" #include "crypto/asn1.h" +DEFINE_STACK_OF(CMS_SignerInfo) +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_CRL) +DEFINE_STACK_OF(CMS_RecipientEncryptedKey) +DEFINE_STACK_OF(CMS_RecipientInfo) + static BIO *cms_get_text_bio(BIO *out, unsigned int flags) { BIO *rbio; diff --git a/crypto/conf/conf_api.c b/crypto/conf/conf_api.c index 4248de60..827b4032 100644 --- a/crypto/conf/conf_api.c +++ b/crypto/conf/conf_api.c @@ -16,33 +16,31 @@ #include #include +DEFINE_STACK_OF(CONF_VALUE) + static void value_free_hash(const CONF_VALUE *a, LHASH_OF(CONF_VALUE) *conf); static void value_free_stack_doall(CONF_VALUE *a); -/* Up until OpenSSL 0.9.5a, this was get_section */ CONF_VALUE *_CONF_get_section(const CONF *conf, const char *section) { - CONF_VALUE *v, vv; + CONF_VALUE vv; - if ((conf == NULL) || (section == NULL)) + if (conf == NULL || section == NULL) return NULL; vv.name = NULL; vv.section = (char *)section; - v = lh_CONF_VALUE_retrieve(conf->data, &vv); - return v; + return lh_CONF_VALUE_retrieve(conf->data, &vv); } -/* Up until OpenSSL 0.9.5a, this was CONF_get_section */ STACK_OF(CONF_VALUE) *_CONF_get_section_values(const CONF *conf, const char *section) { CONF_VALUE *v; v = _CONF_get_section(conf, section); - if (v != NULL) - return ((STACK_OF(CONF_VALUE) *)v->value); - else + if (v == NULL) return NULL; + return ((STACK_OF(CONF_VALUE) *)v->value); } int _CONF_add_string(CONF *conf, CONF_VALUE *section, CONF_VALUE *value) @@ -53,9 +51,8 @@ int _CONF_add_string(CONF *conf, CONF_VALUE *section, CONF_VALUE *value) ts = (STACK_OF(CONF_VALUE) *)section->value; value->section = section->section; - if (!sk_CONF_VALUE_push(ts, value)) { + if (!sk_CONF_VALUE_push(ts, value)) return 0; - } v = lh_CONF_VALUE_insert(conf->data, value); if (v != NULL) { @@ -75,28 +72,26 @@ char *_CONF_get_string(const CONF *conf, const char *section, if (name == NULL) return NULL; - if (conf != NULL) { - if (section != NULL) { - vv.name = (char *)name; - vv.section = (char *)section; - v = lh_CONF_VALUE_retrieve(conf->data, &vv); - if (v != NULL) - return v->value; - if (strcmp(section, "ENV") == 0) { - p = ossl_safe_getenv(name); - if (p != NULL) - return p; - } - } - vv.section = "default"; + if (conf == NULL) + return ossl_safe_getenv(name); + if (section != NULL) { vv.name = (char *)name; + vv.section = (char *)section; v = lh_CONF_VALUE_retrieve(conf->data, &vv); if (v != NULL) return v->value; - else - return NULL; - } else - return ossl_safe_getenv(name); + if (strcmp(section, "ENV") == 0) { + p = ossl_safe_getenv(name); + if (p != NULL) + return p; + } + } + vv.section = "default"; + vv.name = (char *)name; + v = lh_CONF_VALUE_retrieve(conf->data, &vv); + if (v == NULL) + return NULL; + return v->value; } static unsigned long conf_value_hash(const CONF_VALUE *v) @@ -110,24 +105,21 @@ static int conf_value_cmp(const CONF_VALUE *a, const CONF_VALUE *b) if (a->section != b->section) { i = strcmp(a->section, b->section); - if (i) + if (i != 0) return i; } - if ((a->name != NULL) && (b->name != NULL)) { - i = strcmp(a->name, b->name); - return i; - } else if (a->name == b->name) + if (a->name != NULL && b->name != NULL) + return strcmp(a->name, b->name); + if (a->name == b->name) return 0; - else - return ((a->name == NULL) ? -1 : 1); + return (a->name == NULL) ? -1 : 1; } int _CONF_new_data(CONF *conf) { - if (conf == NULL) { + if (conf == NULL) return 0; - } if (conf->data == NULL) { conf->data = lh_CONF_VALUE_new(conf_value_hash, conf_value_cmp); if (conf->data == NULL) @@ -185,7 +177,6 @@ static void value_free_stack_doall(CONF_VALUE *a) OPENSSL_free(a); } -/* Up until OpenSSL 0.9.5a, this was new_section */ CONF_VALUE *_CONF_new_section(CONF *conf, const char *section) { STACK_OF(CONF_VALUE) *sk = NULL; diff --git a/crypto/conf/conf_def.c b/crypto/conf/conf_def.c index 9718b73a..9dbda10e 100644 --- a/crypto/conf/conf_def.c +++ b/crypto/conf/conf_def.c @@ -27,6 +27,8 @@ # endif #endif +DEFINE_STACK_OF(BIO) + #ifndef S_ISDIR # define S_ISDIR(a) (((a) & S_IFMT) == S_IFDIR) #endif diff --git a/crypto/conf/conf_lib.c b/crypto/conf/conf_lib.c index c06718d2..a9d960b7 100644 --- a/crypto/conf/conf_lib.c +++ b/crypto/conf/conf_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2020 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 diff --git a/crypto/conf/conf_mod.c b/crypto/conf/conf_mod.c index 2bbf43b9..504d9b18 100644 --- a/crypto/conf/conf_mod.c +++ b/crypto/conf/conf_mod.c @@ -18,6 +18,10 @@ #include #include +DEFINE_STACK_OF(CONF_VALUE) +DEFINE_STACK_OF(CONF_MODULE) +DEFINE_STACK_OF(CONF_IMODULE) + #define DSO_mod_init_name "OPENSSL_init" #define DSO_mod_finish_name "OPENSSL_finish" diff --git a/crypto/conf/conf_sap.c b/crypto/conf/conf_sap.c index f6288962..ffd9e9c5 100644 --- a/crypto/conf/conf_sap.c +++ b/crypto/conf/conf_sap.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 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 diff --git a/crypto/conf/conf_ssl.c b/crypto/conf/conf_ssl.c index 5855c50c..14d5dc1d 100644 --- a/crypto/conf/conf_ssl.c +++ b/crypto/conf/conf_ssl.c @@ -14,6 +14,8 @@ #include "internal/sslconf.h" #include "conf_local.h" +DEFINE_STACK_OF(CONF_VALUE) + /* * SSL library configuration module placeholder. We load it here but defer * all decisions about its contents to libssl. diff --git a/crypto/conf/keysets.pl b/crypto/conf/keysets.pl index 42c19883..f4c4b807 100644 --- a/crypto/conf/keysets.pl +++ b/crypto/conf/keysets.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 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 diff --git a/crypto/context.c b/crypto/context.c index 35530174..cf3b078b 100644 --- a/crypto/context.c +++ b/crypto/context.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/crypto/core_namemap.c b/crypto/core_namemap.c index 4723604e..3d509314 100644 --- a/crypto/core_namemap.c +++ b/crypto/core_namemap.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/crypto/crmf/crmf_asn.c b/crypto/crmf/crmf_asn.c index bd375c6f..567cfaae 100644 --- a/crypto/crmf/crmf_asn.c +++ b/crypto/crmf/crmf_asn.c @@ -1,5 +1,5 @@ /*- - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * diff --git a/crypto/crmf/crmf_lib.c b/crypto/crmf/crmf_lib.c index 5058f7d2..89eb2c37 100644 --- a/crypto/crmf/crmf_lib.c +++ b/crypto/crmf/crmf_lib.c @@ -1,5 +1,5 @@ /*- - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2018 * Copyright Siemens AG 2015-2019 * @@ -36,6 +36,9 @@ #include #include +DEFINE_STACK_OF(X509_EXTENSION) +DEFINE_STACK_OF(OSSL_CRMF_MSG) + /*- * atyp = Attribute Type * valt = Value Type diff --git a/crypto/crmf/crmf_local.h b/crypto/crmf/crmf_local.h index 3b9cbba8..a367d777 100644 --- a/crypto/crmf/crmf_local.h +++ b/crypto/crmf/crmf_local.h @@ -1,5 +1,5 @@ /*- - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * diff --git a/crypto/crmf/crmf_pbm.c b/crypto/crmf/crmf_pbm.c index 6c22bc29..f674eeef 100644 --- a/crypto/crmf/crmf_pbm.c +++ b/crypto/crmf/crmf_pbm.c @@ -1,5 +1,5 @@ /*- - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * diff --git a/crypto/ct/ct_b64.c b/crypto/ct/ct_b64.c index 2e00cf3e..ab4aaf82 100644 --- a/crypto/ct/ct_b64.c +++ b/crypto/ct/ct_b64.c @@ -1,5 +1,5 @@ /* - * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/crypto/ct/ct_local.h b/crypto/ct/ct_local.h index 0df2f37f..eef4c193 100644 --- a/crypto/ct/ct_local.h +++ b/crypto/ct/ct_local.h @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 diff --git a/crypto/ct/ct_log.c b/crypto/ct/ct_log.c index 3da71c32..73eeee9d 100644 --- a/crypto/ct/ct_log.c +++ b/crypto/ct/ct_log.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 @@ -18,6 +18,8 @@ #include "internal/cryptlib.h" +DEFINE_STACK_OF(CTLOG) + /* * Information about a CT log server. */ diff --git a/crypto/ct/ct_oct.c b/crypto/ct/ct_oct.c index bd8d1bb1..dfc6e99e 100644 --- a/crypto/ct/ct_oct.c +++ b/crypto/ct/ct_oct.c @@ -21,6 +21,8 @@ #include "ct_local.h" +DEFINE_STACK_OF(SCT) + int o2i_SCT_signature(SCT *sct, const unsigned char **in, size_t len) { size_t siglen; diff --git a/crypto/ct/ct_policy.c b/crypto/ct/ct_policy.c index 568d8e6d..76e08b8f 100644 --- a/crypto/ct/ct_policy.c +++ b/crypto/ct/ct_policy.c @@ -1,5 +1,5 @@ /* - * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/crypto/ct/ct_prn.c b/crypto/ct/ct_prn.c index 4c5760d6..e2ab6b2f 100644 --- a/crypto/ct/ct_prn.c +++ b/crypto/ct/ct_prn.c @@ -16,6 +16,8 @@ #include "ct_local.h" +DEFINE_STACK_OF(SCT) + static void SCT_signature_algorithms_print(const SCT *sct, BIO *out) { int nid = SCT_get_signature_nid(sct); diff --git a/crypto/ct/ct_sct.c b/crypto/ct/ct_sct.c index aecaf9e1..f6c262c9 100644 --- a/crypto/ct/ct_sct.c +++ b/crypto/ct/ct_sct.c @@ -1,5 +1,5 @@ /* - * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 @@ -19,6 +19,8 @@ #include "ct_local.h" +DEFINE_STACK_OF(SCT) + SCT *SCT_new(void) { SCT *sct = OPENSSL_zalloc(sizeof(*sct)); diff --git a/crypto/ct/ct_sct_ctx.c b/crypto/ct/ct_sct_ctx.c index f8ed6b8d..99e0c211 100644 --- a/crypto/ct/ct_sct_ctx.c +++ b/crypto/ct/ct_sct_ctx.c @@ -1,5 +1,5 @@ /* - * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/crypto/ct/ct_vfy.c b/crypto/ct/ct_vfy.c index 1a143241..f270e437 100644 --- a/crypto/ct/ct_vfy.c +++ b/crypto/ct/ct_vfy.c @@ -1,5 +1,5 @@ /* - * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/crypto/ct/ct_x509v3.c b/crypto/ct/ct_x509v3.c index 1665b985..55190deb 100644 --- a/crypto/ct/ct_x509v3.c +++ b/crypto/ct/ct_x509v3.c @@ -13,6 +13,8 @@ #include "ct_local.h" +DEFINE_STACK_OF(SCT) + static char *i2s_poison(const X509V3_EXT_METHOD *method, void *val) { return OPENSSL_strdup("NULL"); diff --git a/crypto/des/asm/crypt586.pl b/crypto/des/asm/crypt586.pl index 05d1d992..e175b4f5 100644 --- a/crypto/des/asm/crypt586.pl +++ b/crypto/des/asm/crypt586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 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 diff --git a/crypto/des/asm/des-586.pl b/crypto/des/asm/des-586.pl index 197ba2d7..fe51a227 100644 --- a/crypto/des/asm/des-586.pl +++ b/crypto/des/asm/des-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 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 diff --git a/crypto/des/asm/dest4-sparcv9.pl b/crypto/des/asm/dest4-sparcv9.pl index 7168c732..eec97160 100644 --- a/crypto/des/asm/dest4-sparcv9.pl +++ b/crypto/des/asm/dest4-sparcv9.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2013-2020 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 diff --git a/crypto/des/cbc_cksm.c b/crypto/des/cbc_cksm.c index aacbaa65..d8ab38bf 100644 --- a/crypto/des/cbc_cksm.c +++ b/crypto/des/cbc_cksm.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/des/cbc_enc.c b/crypto/des/cbc_enc.c index ed68f376..aa8ac1a5 100644 --- a/crypto/des/cbc_enc.c +++ b/crypto/des/cbc_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/des/cfb64ede.c b/crypto/des/cfb64ede.c index ad9469e7..c8e4e5cd 100644 --- a/crypto/des/cfb64ede.c +++ b/crypto/des/cfb64ede.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/des/cfb64enc.c b/crypto/des/cfb64enc.c index 21132e89..93ebf768 100644 --- a/crypto/des/cfb64enc.c +++ b/crypto/des/cfb64enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/des/cfb_enc.c b/crypto/des/cfb_enc.c index bfb5f5a1..30458d50 100644 --- a/crypto/des/cfb_enc.c +++ b/crypto/des/cfb_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/des/des_enc.c b/crypto/des/des_enc.c index ed245951..0041f21b 100644 --- a/crypto/des/des_enc.c +++ b/crypto/des/des_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/des/ecb3_enc.c b/crypto/des/ecb3_enc.c index 02e6e9f7..48e524dc 100644 --- a/crypto/des/ecb3_enc.c +++ b/crypto/des/ecb3_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/des/ecb_enc.c b/crypto/des/ecb_enc.c index e161af68..c230a373 100644 --- a/crypto/des/ecb_enc.c +++ b/crypto/des/ecb_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/des/fcrypt.c b/crypto/des/fcrypt.c index b3841961..0b181fda 100644 --- a/crypto/des/fcrypt.c +++ b/crypto/des/fcrypt.c @@ -1,5 +1,5 @@ /* - * Copyright 1998-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1998-2020 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 diff --git a/crypto/des/fcrypt_b.c b/crypto/des/fcrypt_b.c index 32b0fa65..e843e0e6 100644 --- a/crypto/des/fcrypt_b.c +++ b/crypto/des/fcrypt_b.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/des/ofb64ede.c b/crypto/des/ofb64ede.c index 80fb9d16..edcfac85 100644 --- a/crypto/des/ofb64ede.c +++ b/crypto/des/ofb64ede.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/des/ofb64enc.c b/crypto/des/ofb64enc.c index fc59c4e6..73d4e21d 100644 --- a/crypto/des/ofb64enc.c +++ b/crypto/des/ofb64enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/des/ofb_enc.c b/crypto/des/ofb_enc.c index cd1fec83..50c7f4c4 100644 --- a/crypto/des/ofb_enc.c +++ b/crypto/des/ofb_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/des/pcbc_enc.c b/crypto/des/pcbc_enc.c index 4e123535..dd9eb1a9 100644 --- a/crypto/des/pcbc_enc.c +++ b/crypto/des/pcbc_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/des/qud_cksm.c b/crypto/des/qud_cksm.c index c0e2fa39..9f683990 100644 --- a/crypto/des/qud_cksm.c +++ b/crypto/des/qud_cksm.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/des/rand_key.c b/crypto/des/rand_key.c index 38f04de1..4c658878 100644 --- a/crypto/des/rand_key.c +++ b/crypto/des/rand_key.c @@ -1,5 +1,5 @@ /* - * Copyright 1998-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1998-2020 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 diff --git a/crypto/des/set_key.c b/crypto/des/set_key.c index dc9e8451..9510dc2c 100644 --- a/crypto/des/set_key.c +++ b/crypto/des/set_key.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/des/str2key.c b/crypto/des/str2key.c index 2600c63d..f6687fe5 100644 --- a/crypto/des/str2key.c +++ b/crypto/des/str2key.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/des/xcbc_enc.c b/crypto/des/xcbc_enc.c index 861f7116..8ad1f1db 100644 --- a/crypto/des/xcbc_enc.c +++ b/crypto/des/xcbc_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/dh/build.info b/crypto/dh/build.info index ce0918e7..656e6ea8 100644 --- a/crypto/dh/build.info +++ b/crypto/dh/build.info @@ -1,9 +1,12 @@ LIBS=../../libcrypto -$COMMON=dh_lib.c dh_key.c dh_group_params.c dh_check.c dh_backend.c +$COMMON=dh_lib.c dh_key.c dh_group_params.c dh_check.c dh_backend.c dh_gen.c SOURCE[../../libcrypto]=$COMMON\ - dh_asn1.c dh_gen.c dh_err.c dh_depr.c \ + dh_asn1.c dh_err.c \ dh_ameth.c dh_pmeth.c dh_prn.c dh_rfc5114.c dh_kdf.c dh_meth.c +IF[{- !$disabled{'deprecated-0.9.8'} -}] + SOURCE[../../libcrypto]=dh_depr.c +ENDIF SOURCE[../../providers/libfips.a]=$COMMON diff --git a/crypto/dh/dh_ameth.c b/crypto/dh/dh_ameth.c index f5bcee24..e76b655f 100644 --- a/crypto/dh/dh_ameth.c +++ b/crypto/dh/dh_ameth.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 @@ -24,7 +24,7 @@ #include "crypto/evp.h" #include #include -#include "openssl/param_build.h" +#include #include "internal/ffc.h" /* @@ -548,17 +548,18 @@ err: return rv; } -static int dh_pkey_import_from(const OSSL_PARAM params[], void *key) +static int dh_pkey_import_from(const OSSL_PARAM params[], void *vpctx) { - EVP_PKEY *pkey = key; - DH *dh = DH_new(); + EVP_PKEY_CTX *pctx = vpctx; + EVP_PKEY *pkey = EVP_PKEY_CTX_get0_pkey(pctx); + DH *dh = dh_new_with_libctx(pctx->libctx); if (dh == NULL) { ERR_raise(ERR_LIB_DH, ERR_R_MALLOC_FAILURE); return 0; } - if (!ffc_fromdata(dh_get0_params(dh), params) + if (!dh_ffc_params_fromdata(dh, params) || !dh_key_fromdata(dh, params) || !EVP_PKEY_assign_DH(pkey, dh)) { DH_free(dh); diff --git a/crypto/dh/dh_asn1.c b/crypto/dh/dh_asn1.c index 940d119d..5475d98b 100644 --- a/crypto/dh/dh_asn1.c +++ b/crypto/dh/dh_asn1.c @@ -1,5 +1,5 @@ /* - * Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2020 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 diff --git a/crypto/dh/dh_backend.c b/crypto/dh/dh_backend.c index bbeb096d..704f6efa 100644 --- a/crypto/dh/dh_backend.c +++ b/crypto/dh/dh_backend.c @@ -24,10 +24,8 @@ int dh_key_fromdata(DH *dh, const OSSL_PARAM params[]) if (dh == NULL) return 0; - param_priv_key = - OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_PRIV_KEY); - param_pub_key = - OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_PUB_KEY); + param_priv_key = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_PRIV_KEY); + param_pub_key = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_PUB_KEY); /* * DH documentation says that a public key must be present if a diff --git a/crypto/dh/dh_check.c b/crypto/dh/dh_check.c index 85ef17b3..a25e83f1 100644 --- a/crypto/dh/dh_check.c +++ b/crypto/dh/dh_check.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/dh/dh_depr.c b/crypto/dh/dh_depr.c index 33689d8e..5822d511 100644 --- a/crypto/dh/dh_depr.c +++ b/crypto/dh/dh_depr.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 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 @@ -16,14 +16,11 @@ #include "internal/deprecated.h" #include -#ifdef OPENSSL_NO_DEPRECATED_0_9_8 -NON_EMPTY_TRANSLATION_UNIT -#else -# include -# include "internal/cryptlib.h" -# include -# include +#include +#include "internal/cryptlib.h" +#include +#include DH *DH_generate_parameters(int prime_len, int generator, void (*callback) (int, int, void *), void *cb_arg) @@ -49,4 +46,3 @@ DH *DH_generate_parameters(int prime_len, int generator, DH_free(ret); return NULL; } -#endif diff --git a/crypto/dh/dh_gen.c b/crypto/dh/dh_gen.c index f8cda1b7..39bb3652 100644 --- a/crypto/dh/dh_gen.c +++ b/crypto/dh/dh_gen.c @@ -26,6 +26,7 @@ #include #include "internal/cryptlib.h" #include +#include #include "crypto/dh.h" #include "dh_local.h" @@ -34,47 +35,45 @@ static int dh_builtin_genparams(DH *ret, int prime_len, int generator, BN_GENCB *cb); #endif /* FIPS_MODE */ -/* - * TODO(3.0): keygen should be able to use this method to do a FIPS186-4 style - * paramgen. - */ -int dh_generate_ffc_parameters(DH *dh, int bits, - int qbits, int gindex, BN_GENCB *cb) +int dh_generate_ffc_parameters(DH *dh, int type, int pbits, + int qbits, EVP_MD *md, BN_GENCB *cb) { int ret, res; if (qbits <= 0) { - const EVP_MD *evpmd = bits >= 2048 ? EVP_sha256() : EVP_sha1(); - - qbits = EVP_MD_size(evpmd) * 8; + if (md != NULL) + qbits = EVP_MD_size(md) * 8; + else + qbits = (pbits >= 2048 ? SHA256_DIGEST_LENGTH : + SHA_DIGEST_LENGTH) * 8; } - dh->params.gindex = gindex; - ret = ffc_params_FIPS186_4_generate(dh->libctx, &dh->params, - FFC_PARAM_TYPE_DH, - bits, qbits, NULL, &res, cb); +#ifndef FIPS_MODE + if (type == DH_PARAMGEN_TYPE_FIPS_186_2) + ret = ffc_params_FIPS186_2_generate(dh->libctx, &dh->params, + FFC_PARAM_TYPE_DH, + pbits, qbits, md, &res, cb); + else +#endif + ret = ffc_params_FIPS186_4_generate(dh->libctx, &dh->params, + FFC_PARAM_TYPE_DH, + pbits, qbits, md, &res, cb); if (ret > 0) dh->dirty_cnt++; return ret; } -int DH_generate_parameters_ex(DH *ret, int prime_len, int generator, - BN_GENCB *cb) +int dh_get_named_group_uid_from_size(int pbits) { -#ifdef FIPS_MODE /* * Just choose an approved safe prime group. * The alternative to this is to generate FIPS186-4 domain parameters i.e. - * return dh_generate_ffc_parameters(ret, prime_len, -1, -1, cb); + * return dh_generate_ffc_parameters(ret, prime_len, 0, NULL, cb); * As the FIPS186-4 generated params are for backwards compatability, * the safe prime group should be used as the default. */ - DH *dh = NULL; - int ok = 0, nid; + int nid; - if (generator != 2) - return 0; - - switch (prime_len) { + switch (pbits) { case 2048: nid = NID_ffdhe2048; break; @@ -92,15 +91,40 @@ int DH_generate_parameters_ex(DH *ret, int prime_len, int generator, break; /* unsupported prime_len */ default: - return 0; + return NID_undef; } - dh = DH_new_by_nid(nid); - if (dh != NULL && ffc_params_copy(&ret->params, &dh->params)) { + return nid; +} + +#ifdef FIPS_MODE + +static int dh_gen_named_group(OPENSSL_CTX *libctx, DH *ret, int prime_len) +{ + DH *dh; + int ok = 0; + int nid = dh_get_named_group_uid_from_size(prime_len); + + if (nid == NID_undef) + return 0; + + dh = dh_new_by_nid_with_libctx(libctx, nid); + if (dh != NULL + && ffc_params_copy(&ret->params, &dh->params)) { ok = 1; ret->dirty_cnt++; } DH_free(dh); return ok; +} +#endif /* FIPS_MODE */ + +int DH_generate_parameters_ex(DH *ret, int prime_len, int generator, + BN_GENCB *cb) +{ +#ifdef FIPS_MODE + if (generator != 2) + return 0; + return dh_gen_named_group(ret->libctx, ret, prime_len); #else if (ret->meth->generate_params) return ret->meth->generate_params(ret, prime_len, generator, cb); diff --git a/crypto/dh/dh_group_params.c b/crypto/dh/dh_group_params.c index d672ae30..7221e806 100644 --- a/crypto/dh/dh_group_params.c +++ b/crypto/dh/dh_group_params.c @@ -17,24 +17,43 @@ #include #include "internal/cryptlib.h" +#include "internal/ffc.h" #include "dh_local.h" #include #include #include "crypto/bn_dh.h" #include "crypto/dh.h" -#include "crypto/security_bits.h" +#include "e_os.h" /* strcasecmp */ +#define FFDHE(sz) { \ + SN_ffdhe##sz, NID_ffdhe##sz, \ + sz, \ + &_bignum_ffdhe##sz##_p, &_bignum_ffdhe##sz##_q, &_bignum_const_2 \ +} -#define FFDHE(sz) { NID_ffdhe##sz, sz, &_bignum_ffdhe##sz##_p } -#define MODP(sz) { NID_modp_##sz, sz, &_bignum_modp_##sz##_p } +#define MODP(sz) { \ + SN_modp_##sz, NID_modp_##sz, \ + sz, \ + &_bignum_modp_##sz##_p, &_bignum_modp_##sz##_q, &_bignum_const_2 \ +} -typedef struct safe_prime_group_st { - int nid; +#define RFC5114(name, uid, sz, tag) { \ + name, uid, \ + sz, \ + &_bignum_dh##tag##_p, &_bignum_dh##tag##_q, &_bignum_dh##tag##_g \ +} + +typedef struct dh_named_group_st { + const char *name; + int uid; int32_t nbits; const BIGNUM *p; -} SP_GROUP; + const BIGNUM *q; + const BIGNUM *g; +} DH_NAMED_GROUP; -static const SP_GROUP sp_groups[] = { + +static const DH_NAMED_GROUP dh_named_groups[] = { FFDHE(2048), FFDHE(3072), FFDHE(4096), @@ -48,105 +67,148 @@ static const SP_GROUP sp_groups[] = { MODP(4096), MODP(6144), MODP(8192), + /* + * Additional dh named groups from RFC 5114 that have a different g. + * The uid can be any unique identifier. + */ +#ifndef FIPS_MODE + RFC5114("dh_1024_160", 1, 1024, 1024_160), + RFC5114("dh_2048_224", 2, 2048, 2048_224), + RFC5114("dh_2048_256", 3, 2048, 2048_256), +#endif }; -#ifndef FIPS_MODE -static DH *dh_new_by_nid_with_ctx(OPENSSL_CTX *libctx, int nid); - -static DH *dh_param_init(OPENSSL_CTX *libctx, int nid, const BIGNUM *p, - int32_t nbits) +int ffc_named_group_to_uid(const char *name) { - BIGNUM *q = NULL; - DH *dh = dh_new_with_ctx(libctx); + size_t i; + + for (i = 0; i < OSSL_NELEM(dh_named_groups); ++i) { + if (strcasecmp(dh_named_groups[i].name, name) == 0) + return dh_named_groups[i].uid; + } + return NID_undef; +} + +const char *ffc_named_group_from_uid(int uid) +{ + size_t i; + + for (i = 0; i < OSSL_NELEM(dh_named_groups); ++i) { + if (dh_named_groups[i].uid == uid) + return dh_named_groups[i].name; + } + return NULL; +} + +static DH *dh_param_init(OPENSSL_CTX *libctx, int uid, const BIGNUM *p, + const BIGNUM *q, const BIGNUM *g) +{ + DH *dh = dh_new_with_libctx(libctx); if (dh == NULL) return NULL; - q = BN_dup(p); - /* Set q = (p - 1) / 2 (p is known to be odd so just shift right ) */ - if (q == NULL || !BN_rshift1(q, q)) { - BN_free(q); - DH_free(dh); - return NULL; - } - dh->params.nid = nid; + dh->params.nid = uid; dh->params.p = (BIGNUM *)p; dh->params.q = (BIGNUM *)q; - dh->params.g = (BIGNUM *)&_bignum_const_2; - /* Private key length = 2 * max_target_security_strength */ - dh->length = nbits; + dh->params.g = (BIGNUM *)g; + dh->length = BN_num_bits(q); dh->dirty_cnt++; return dh; } -static DH *dh_new_by_nid_with_ctx(OPENSSL_CTX *libctx, int nid) +static DH *dh_new_by_group_name(OPENSSL_CTX *libctx, const char *name) { int i; - for (i = 0; i < (int)OSSL_NELEM(sp_groups); ++i) { - if (sp_groups[i].nid == nid) { - int max_target_security_strength = - ifc_ffc_compute_security_bits(sp_groups[i].nbits); + if (name == NULL) + return NULL; - /* - * The last parameter specified here is - * 2 * max_target_security_strength. - * See SP800-56Ar3 Table(s) 25 & 26. - */ - return dh_param_init(libctx, nid, sp_groups[i].p, - 2 * max_target_security_strength); + for (i = 0; i < (int)OSSL_NELEM(dh_named_groups); ++i) { + if (strcasecmp(dh_named_groups[i].name, name) == 0) { + return dh_param_init(libctx, dh_named_groups[i].uid, + dh_named_groups[i].p, + dh_named_groups[i].q, + dh_named_groups[i].g); } } DHerr(0, DH_R_INVALID_PARAMETER_NID); return NULL; } +DH *dh_new_by_nid_with_libctx(OPENSSL_CTX *libctx, int nid) +{ + const char *name = ffc_named_group_from_uid(nid); + + return dh_new_by_group_name(libctx, name); +} + DH *DH_new_by_nid(int nid) { - return dh_new_by_nid_with_ctx(NULL, nid); + return dh_new_by_nid_with_libctx(NULL, nid); } -#endif -int DH_get_nid(DH *dh) +int ffc_set_group_pqg(FFC_PARAMS *ffc, const char *group_name) { + int i; BIGNUM *q = NULL; - int i, nid; + if (ffc == NULL) + return 0; + + for (i = 0; i < (int)OSSL_NELEM(dh_named_groups); ++i) { + if (strcasecmp(dh_named_groups[i].name, group_name) == 0) { + ffc_params_set0_pqg(ffc, + (BIGNUM *)dh_named_groups[i].p, + (BIGNUM *)dh_named_groups[i].q, + (BIGNUM *)dh_named_groups[i].g); + /* flush the cached nid, The DH layer is responsible for caching */ + ffc->nid = NID_undef; + return 1; + } + } + /* gets here on error or if the name was not found */ + BN_free(q); + return 0; +} + +void dh_cache_named_group(DH *dh) +{ + int i; + + if (dh == NULL) + return; + + dh->params.nid = NID_undef; /* flush cached value */ + + /* Exit if p or g is not set */ + if (dh->params.p == NULL + || dh->params.g == NULL) + return; + + for (i = 0; i < (int)OSSL_NELEM(dh_named_groups); ++i) { + /* Keep searching until a matching p and g is found */ + if (BN_cmp(dh->params.p, dh_named_groups[i].p) == 0 + && BN_cmp(dh->params.g, dh_named_groups[i].g) == 0) { + /* Verify q is correct if it exists */ + if (dh->params.q != NULL) { + if (BN_cmp(dh->params.q, dh_named_groups[i].q) != 0) + continue; /* ignore if q does not match */ + } else { + dh->params.q = (BIGNUM *)dh_named_groups[i].q; + } + dh->params.nid = dh_named_groups[i].uid; /* cache the nid */ + dh->length = BN_num_bits(dh->params.q); + dh->dirty_cnt++; + break; + } + } +} + +int DH_get_nid(const DH *dh) +{ if (dh == NULL) return NID_undef; - nid = dh->params.nid; - /* Just return if it is already cached */ - if (nid != NID_undef) - return nid; - - if (BN_get_word(dh->params.g) != 2) - return NID_undef; - - for (i = 0; i < (int)OSSL_NELEM(sp_groups); ++i) { - /* If a matching p is found then we will break out of the loop */ - if (!BN_cmp(dh->params.p, sp_groups[i].p)) { - /* Set q = (p - 1) / 2 (p is known to be odd so just shift right ) */ - q = BN_dup(dh->params.p); - - if (q == NULL || !BN_rshift1(q, q)) - break; /* returns nid = NID_undef on failure */ - - /* Verify q is correct if it exists */ - if (dh->params.q != NULL) { - if (BN_cmp(dh->params.q, q) != 0) - break; /* returns nid = NID_undef if q does not match */ - } else { - /* assign the calculated q */ - dh->params.q = q; - q = NULL; /* set to NULL so it is not freed */ - } - dh->params.nid = sp_groups[i].nid; /* cache the nid */ - dh->length = 2 * ifc_ffc_compute_security_bits(sp_groups[i].nbits); - dh->dirty_cnt++; - break; - } - } - BN_free(q); - return nid; + return dh->params.nid; } diff --git a/crypto/dh/dh_kdf.c b/crypto/dh/dh_kdf.c index e054aaef..1b8a320d 100644 --- a/crypto/dh/dh_kdf.c +++ b/crypto/dh/dh_kdf.c @@ -1,5 +1,5 @@ /* - * Copyright 2013-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2013-2020 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 diff --git a/crypto/dh/dh_key.c b/crypto/dh/dh_key.c index ab2e25ea..918949d9 100644 --- a/crypto/dh/dh_key.c +++ b/crypto/dh/dh_key.c @@ -18,6 +18,13 @@ #include "dh_local.h" #include "crypto/bn.h" #include "crypto/dh.h" +#include "crypto/security_bits.h" + +#ifdef FIPS_MODE +# define MIN_STRENGTH 112 +#else +# define MIN_STRENGTH 80 +#endif static int generate_key(DH *dh); static int dh_bn_mod_exp(const DH *dh, BIGNUM *r, @@ -246,16 +253,15 @@ static int generate_key(DH *dh) if (generate_new_key) { /* Is it an approved safe prime ?*/ if (DH_get_nid(dh) != NID_undef) { - /* - * The safe prime group code sets N = 2*s - * (where s = max security strength supported). - * N = dh->length (N = maximum bit length of private key) - */ + int max_strength = + ifc_ffc_compute_security_bits(BN_num_bits(dh->params.p)); + if (dh->params.q == NULL || dh->length > BN_num_bits(dh->params.q)) goto err; + /* dh->length = maximum bit length of generated private key */ if (!ffc_generate_private_key(ctx, &dh->params, dh->length, - dh->length / 2, priv_key)) + max_strength, priv_key)) goto err; } else { #ifdef FIPS_MODE @@ -287,7 +293,8 @@ static int generate_key(DH *dh) * Max Private key size N = len(q) */ if (!ffc_generate_private_key(ctx, &dh->params, - BN_num_bits(dh->params.q), 112, + BN_num_bits(dh->params.q), + MIN_STRENGTH, priv_key)) goto err; } diff --git a/crypto/dh/dh_lib.c b/crypto/dh/dh_lib.c index 093695c6..7e42d13f 100644 --- a/crypto/dh/dh_lib.c +++ b/crypto/dh/dh_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -17,8 +17,10 @@ #include #include #include +#include #include "internal/cryptlib.h" #include "internal/refcount.h" +#include "crypto/evp.h" #include "crypto/dh.h" #include "dh_local.h" @@ -61,7 +63,7 @@ DH *DH_new_method(ENGINE *engine) } #endif /* !FIPS_MODE */ -DH *dh_new_with_ctx(OPENSSL_CTX *libctx) +DH *dh_new_with_libctx(OPENSSL_CTX *libctx) { return dh_new_intern(NULL, libctx); } @@ -207,7 +209,8 @@ void DH_get0_pqg(const DH *dh, int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) { - /* If the fields p and g in d are NULL, the corresponding input + /* + * If the fields p and g in d are NULL, the corresponding input * parameters MUST be non-NULL. q may remain NULL. */ if ((dh->params.p == NULL && p == NULL) @@ -215,7 +218,9 @@ int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) return 0; ffc_params_set0_pqg(&dh->params, p, q, g); - dh->params.nid = NID_undef; + dh_cache_named_group(dh); + if (q != NULL) + dh->length = BN_num_bits(q); /* * Check if this is a named group. If it finds a named group then the * 'q' and 'length' value are either already set or are set by the @@ -258,6 +263,7 @@ int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key) if (priv_key != NULL) { BN_clear_free(dh->priv_key); dh->priv_key = priv_key; + dh->length = BN_num_bits(priv_key); } dh->dirty_cnt++; @@ -319,3 +325,214 @@ int dh_get0_nid(const DH *dh) { return dh->params.nid; } + +int dh_ffc_params_fromdata(DH *dh, const OSSL_PARAM params[]) +{ + int ret; + FFC_PARAMS *ffc; + + if (dh == NULL) + return 0; + ffc = dh_get0_params(dh); + if (ffc == NULL) + return 0; + + ret = ffc_params_fromdata(ffc, params); + if (ret) { + dh_cache_named_group(dh); + dh->dirty_cnt++; + } + return ret; +} + +static int dh_paramgen_check(EVP_PKEY_CTX *ctx) +{ + if (ctx == NULL || !EVP_PKEY_CTX_IS_GEN_OP(ctx)) { + ERR_raise(ERR_LIB_EVP, EVP_R_COMMAND_NOT_SUPPORTED); + /* Uses the same return values as EVP_PKEY_CTX_ctrl */ + return -2; + } + /* If key type not DH return error */ + if (ctx->pmeth != NULL + && ctx->pmeth->pkey_id != EVP_PKEY_DH + && ctx->pmeth->pkey_id != EVP_PKEY_DHX) + return -1; + return 1; +} + +int EVP_PKEY_CTX_set_dh_paramgen_gindex(EVP_PKEY_CTX *ctx, int gindex) +{ + int ret; + OSSL_PARAM params[2], *p = params; + + if ((ret = dh_paramgen_check(ctx)) <= 0) + return ret; + + *p++ = OSSL_PARAM_construct_int(OSSL_PKEY_PARAM_FFC_GINDEX, &gindex); + *p++ = OSSL_PARAM_construct_end(); + + return EVP_PKEY_CTX_set_params(ctx, params); +} + +int EVP_PKEY_CTX_set_dh_paramgen_seed(EVP_PKEY_CTX *ctx, + const unsigned char *seed, + size_t seedlen) +{ + int ret; + OSSL_PARAM params[2], *p = params; + + if ((ret = dh_paramgen_check(ctx)) <= 0) + return ret; + + *p++ = OSSL_PARAM_construct_octet_string(OSSL_PKEY_PARAM_FFC_SEED, + (void *)seed, seedlen); + *p++ = OSSL_PARAM_construct_end(); + + return EVP_PKEY_CTX_set_params(ctx, params); +} + +int EVP_PKEY_CTX_set_dh_paramgen_type(EVP_PKEY_CTX *ctx, int typ) +{ + int ret; + OSSL_PARAM params[2], *p = params; + const char *name; + + if ((ret = dh_paramgen_check(ctx)) <= 0) + return ret; + +#if !defined(FIPS_MODE) + /* TODO(3.0): Remove this eventually when no more legacy */ + if (ctx->op.keymgmt.genctx == NULL) + return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, + EVP_PKEY_CTRL_DH_PARAMGEN_TYPE, typ, NULL); +#endif + + name = dh_gen_type_id2name(typ); + if (name == NULL) + return 0; + *p++ = OSSL_PARAM_construct_utf8_string(OSSL_PKEY_PARAM_FFC_TYPE, + (char *) name, 0); + *p++ = OSSL_PARAM_construct_end(); + + return EVP_PKEY_CTX_set_params(ctx, params); +} + +int EVP_PKEY_CTX_set_dh_paramgen_prime_len(EVP_PKEY_CTX *ctx, int pbits) +{ + int ret; + OSSL_PARAM params[2], *p = params; + size_t bits = pbits; + + if ((ret = dh_paramgen_check(ctx)) <= 0) + return ret; + +#if !defined(FIPS_MODE) + /* TODO(3.0): Remove this eventually when no more legacy */ + if (ctx->op.keymgmt.genctx == NULL) + return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, + EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN, pbits, + NULL); +#endif + *p++ = OSSL_PARAM_construct_size_t(OSSL_PKEY_PARAM_FFC_PBITS, &bits); + *p++ = OSSL_PARAM_construct_end(); + return EVP_PKEY_CTX_set_params(ctx, params); +} + +int EVP_PKEY_CTX_set_dh_paramgen_subprime_len(EVP_PKEY_CTX *ctx, int qbits) +{ + int ret; + OSSL_PARAM params[2], *p = params; + size_t bits2 = qbits; + + if ((ret = dh_paramgen_check(ctx)) <= 0) + return ret; + +#if !defined(FIPS_MODE) + /* TODO(3.0): Remove this eventually when no more legacy */ + if (ctx->op.keymgmt.genctx == NULL) + return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, + EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN, qbits, + NULL); +#endif + *p++ = OSSL_PARAM_construct_size_t(OSSL_PKEY_PARAM_FFC_QBITS, &bits2); + *p++ = OSSL_PARAM_construct_end(); + + return EVP_PKEY_CTX_set_params(ctx, params); +} + +int EVP_PKEY_CTX_set_dh_paramgen_generator(EVP_PKEY_CTX *ctx, int gen) +{ + int ret; + OSSL_PARAM params[2], *p = params; + + if ((ret = dh_paramgen_check(ctx)) <= 0) + return ret; + +#if !defined(FIPS_MODE) + /* TODO(3.0): Remove this eventually when no more legacy */ + if (ctx->op.keymgmt.genctx == NULL) + return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, + EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR, gen, NULL); +#endif + + *p++ = OSSL_PARAM_construct_int(OSSL_PKEY_PARAM_FFC_GENERATOR, &gen); + *p++ = OSSL_PARAM_construct_end(); + + return EVP_PKEY_CTX_set_params(ctx, params); +} + +int EVP_PKEY_CTX_set_dh_rfc5114(EVP_PKEY_CTX *ctx, int gen) +{ + int ret; + OSSL_PARAM params[2], *p = params; + const char *name; + + if ((ret = dh_paramgen_check(ctx)) <= 0) + return ret; + +#if !defined(FIPS_MODE) + /* TODO(3.0): Remove this eventually when no more legacy */ + if (ctx->op.keymgmt.genctx == NULL) + return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_PARAMGEN, + EVP_PKEY_CTRL_DH_RFC5114, gen, NULL); +#endif + name = ffc_named_group_from_uid(gen); + if (name == NULL) + return 0; + + *p++ = OSSL_PARAM_construct_utf8_string(OSSL_PKEY_PARAM_FFC_GROUP, + (void *)name, 0); + *p++ = OSSL_PARAM_construct_end(); + return EVP_PKEY_CTX_set_params(ctx, params); +} + +int EVP_PKEY_CTX_set_dhx_rfc5114(EVP_PKEY_CTX *ctx, int gen) +{ + return EVP_PKEY_CTX_set_dh_rfc5114(ctx, gen); +} + +int EVP_PKEY_CTX_set_dh_nid(EVP_PKEY_CTX *ctx, int nid) +{ + int ret; + OSSL_PARAM params[2], *p = params; + const char *name; + + if ((ret = dh_paramgen_check(ctx)) <= 0) + return ret; + +#if !defined(FIPS_MODE) + /* TODO(3.0): Remove this eventually when no more legacy */ + if (ctx->op.keymgmt.genctx == NULL) + return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, + EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN, + EVP_PKEY_CTRL_DH_NID, nid, NULL); +#endif + name = ffc_named_group_from_uid(nid); + if (name == NULL) + return 0; + + *p++ = OSSL_PARAM_construct_utf8_string(OSSL_PKEY_PARAM_FFC_GROUP, + (void *)name, 0); + *p++ = OSSL_PARAM_construct_end(); + return EVP_PKEY_CTX_set_params(ctx, params); +} diff --git a/crypto/dh/dh_local.h b/crypto/dh/dh_local.h index 7fefcf76..3b0181f7 100644 --- a/crypto/dh/dh_local.h +++ b/crypto/dh/dh_local.h @@ -21,7 +21,8 @@ struct dh_st { int pad; int version; FFC_PARAMS params; - int32_t length; /* optional value of N (if there is no q) */ + /* max generated private key length (can be less than len(q)) */ + int32_t length; BIGNUM *pub_key; /* g^x % p */ BIGNUM *priv_key; /* x */ int flags; diff --git a/crypto/dh/dh_meth.c b/crypto/dh/dh_meth.c index 74f1891c..753af118 100644 --- a/crypto/dh/dh_meth.c +++ b/crypto/dh/dh_meth.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/crypto/dh/dh_pmeth.c b/crypto/dh/dh_pmeth.c index 5a83b483..0d0b6a84 100644 --- a/crypto/dh/dh_pmeth.c +++ b/crypto/dh/dh_pmeth.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 diff --git a/crypto/dh/dh_prn.c b/crypto/dh/dh_prn.c index 28027a4a..35cd1e92 100644 --- a/crypto/dh/dh_prn.c +++ b/crypto/dh/dh_prn.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/dh/dh_rfc5114.c b/crypto/dh/dh_rfc5114.c index c542afc1..4e7daaef 100644 --- a/crypto/dh/dh_rfc5114.c +++ b/crypto/dh/dh_rfc5114.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2020 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 diff --git a/crypto/dsa/build.info b/crypto/dsa/build.info index fb5a4fee..9a7d275c 100644 --- a/crypto/dsa/build.info +++ b/crypto/dsa/build.info @@ -1,10 +1,12 @@ LIBS=../../libcrypto $COMMON=dsa_sign.c dsa_vrf.c dsa_lib.c dsa_ossl.c dsa_check.c \ - dsa_key.c dsa_backend.c + dsa_key.c dsa_backend.c dsa_gen.c SOURCE[../../libcrypto]=$COMMON\ - dsa_gen.c dsa_asn1.c \ - dsa_err.c dsa_depr.c dsa_ameth.c dsa_pmeth.c dsa_prn.c \ + dsa_asn1.c dsa_err.c dsa_ameth.c dsa_pmeth.c dsa_prn.c \ dsa_meth.c +IF[{- !$disabled{'deprecated-0.9.8'} -}] + SOURCE[../../libcrypto]=dsa_depr.c +ENDIF SOURCE[../../providers/libfips.a]=$COMMON diff --git a/crypto/dsa/dsa_ameth.c b/crypto/dsa/dsa_ameth.c index d63c142f..f74b50ee 100644 --- a/crypto/dsa/dsa_ameth.c +++ b/crypto/dsa/dsa_ameth.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 @@ -19,11 +19,11 @@ #include #include #include +#include #include "internal/cryptlib.h" #include "crypto/asn1.h" #include "crypto/dsa.h" #include "crypto/evp.h" -#include "openssl/param_build.h" #include "internal/ffc.h" #include "dsa_local.h" @@ -576,17 +576,18 @@ err: return rv; } -static int dsa_pkey_import_from(const OSSL_PARAM params[], void *key) +static int dsa_pkey_import_from(const OSSL_PARAM params[], void *vpctx) { - EVP_PKEY *pkey = key; - DSA *dsa = DSA_new(); + EVP_PKEY_CTX *pctx = vpctx; + EVP_PKEY *pkey = EVP_PKEY_CTX_get0_pkey(pctx); + DSA *dsa = dsa_new_with_ctx(pctx->libctx); if (dsa == NULL) { ERR_raise(ERR_LIB_DSA, ERR_R_MALLOC_FAILURE); return 0; } - if (!ffc_fromdata(dsa_get0_params(dsa), params) + if (!dsa_ffc_params_fromdata(dsa, params) || !dsa_key_fromdata(dsa, params) || !EVP_PKEY_assign_DSA(pkey, dsa)) { DSA_free(dsa); diff --git a/crypto/dsa/dsa_asn1.c b/crypto/dsa/dsa_asn1.c index 5586b6a6..300ce680 100644 --- a/crypto/dsa/dsa_asn1.c +++ b/crypto/dsa/dsa_asn1.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2020 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 diff --git a/crypto/dsa/dsa_backend.c b/crypto/dsa/dsa_backend.c index b927465c..461cb187 100644 --- a/crypto/dsa/dsa_backend.c +++ b/crypto/dsa/dsa_backend.c @@ -34,7 +34,7 @@ int dsa_key_fromdata(DSA *dsa, const OSSL_PARAM params[]) return 1; /* - * DH documentation says that a public key must be present if a + * DSA documentation says that a public key must be present if a * private key is present. */ if (param_priv_key != NULL && param_pub_key == NULL) diff --git a/crypto/dsa/dsa_check.c b/crypto/dsa/dsa_check.c index 611a4e66..dc42ec5f 100644 --- a/crypto/dsa/dsa_check.c +++ b/crypto/dsa/dsa_check.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/dsa/dsa_depr.c b/crypto/dsa/dsa_depr.c index 5c8f9af2..1149c50c 100644 --- a/crypto/dsa/dsa_depr.c +++ b/crypto/dsa/dsa_depr.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 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 @@ -26,17 +26,14 @@ #define xxxHASH EVP_sha1() #include -#ifdef OPENSSL_NO_DEPRECATED_0_9_8 -NON_EMPTY_TRANSLATION_UNIT -#else -# include -# include -# include "internal/cryptlib.h" -# include -# include -# include -# include +#include +#include +#include "internal/cryptlib.h" +#include +#include +#include +#include DSA *DSA_generate_parameters(int bits, unsigned char *seed_in, int seed_len, @@ -65,4 +62,3 @@ err: DSA_free(ret); return NULL; } -#endif diff --git a/crypto/dsa/dsa_gen.c b/crypto/dsa/dsa_gen.c index 2148a1a4..7b72867f 100644 --- a/crypto/dsa/dsa_gen.c +++ b/crypto/dsa/dsa_gen.c @@ -24,32 +24,34 @@ #include "dsa_local.h" int dsa_generate_ffc_parameters(DSA *dsa, int type, - int pbits, int qbits, int gindex, - BN_GENCB *cb) + int pbits, int qbits, + EVP_MD *md, BN_GENCB *cb) { int ret = 0, res; if (qbits <= 0) { - const EVP_MD *evpmd = pbits >= 2048 ? EVP_sha256() : EVP_sha1(); - - qbits = EVP_MD_size(evpmd) * 8; + if (md != NULL) + qbits = EVP_MD_size(md) * 8; + else + qbits = (pbits >= 2048 ? SHA256_DIGEST_LENGTH : + SHA_DIGEST_LENGTH) * 8; } - dsa->params.gindex = gindex; #ifndef FIPS_MODE if (type == DSA_PARAMGEN_TYPE_FIPS_186_2) ret = ffc_params_FIPS186_2_generate(dsa->libctx, &dsa->params, FFC_PARAM_TYPE_DSA, - pbits, qbits, NULL, &res, cb); + pbits, qbits, md, &res, cb); else #endif ret = ffc_params_FIPS186_4_generate(dsa->libctx, &dsa->params, FFC_PARAM_TYPE_DSA, - pbits, qbits, NULL, &res, cb); + pbits, qbits, md, &res, cb); if (ret > 0) dsa->dirty_cnt++; return ret; } +#ifndef FIPS_MODE int DSA_generate_parameters_ex(DSA *dsa, int bits, const unsigned char *seed_in, int seed_len, int *counter_ret, unsigned long *h_ret, @@ -68,13 +70,13 @@ int DSA_generate_parameters_ex(DSA *dsa, int bits, /* The old code used FIPS 186-2 DSA Parameter generation */ if (bits <= 1024 && seed_len == 20) { if (!dsa_generate_ffc_parameters(dsa, DSA_PARAMGEN_TYPE_FIPS_186_2, - bits, 160, -1, cb)) + bits, 160, NULL, cb)) return 0; } else #endif { if (!dsa_generate_ffc_parameters(dsa, DSA_PARAMGEN_TYPE_FIPS_186_4, - bits, -1, -1, cb)) + bits, -1, NULL, cb)) return 0; } @@ -84,3 +86,4 @@ int DSA_generate_parameters_ex(DSA *dsa, int bits, *h_ret = dsa->params.h; return 1; } +#endif diff --git a/crypto/dsa/dsa_key.c b/crypto/dsa/dsa_key.c index 2dec35f2..f9bb3470 100644 --- a/crypto/dsa/dsa_key.c +++ b/crypto/dsa/dsa_key.c @@ -21,6 +21,12 @@ #include "crypto/dsa.h" #include "dsa_local.h" +#ifdef FIPS_MODE +# define MIN_STRENGTH 112 +#else +# define MIN_STRENGTH 80 +#endif + static int dsa_keygen(DSA *dsa, int pairwise_test); static int dsa_keygen_pairwise_test(DSA *dsa, OSSL_CALLBACK *cb, void *cbarg); @@ -68,8 +74,13 @@ static int dsa_keygen(DSA *dsa, int pairwise_test) priv_key = dsa->priv_key; } + /* + * For FFC FIPS 186-4 keygen + * security strength s = 112, + * Max Private key size N = len(q) + */ if (!ffc_generate_private_key(ctx, &dsa->params, BN_num_bits(dsa->params.q), - 112, priv_key)) + MIN_STRENGTH, priv_key)) goto err; if (dsa->pub_key == NULL) { diff --git a/crypto/dsa/dsa_lib.c b/crypto/dsa/dsa_lib.c index e3205223..b773f2c5 100644 --- a/crypto/dsa/dsa_lib.c +++ b/crypto/dsa/dsa_lib.c @@ -19,7 +19,9 @@ #include #include #include +#include #include "dsa_local.h" +#include "crypto/evp.h" #include "crypto/dsa.h" #include "crypto/dh.h" /* required by DSA_dup_DH() */ @@ -342,3 +344,162 @@ FFC_PARAMS *dsa_get0_params(DSA *dsa) { return &dsa->params; } + +int dsa_ffc_params_fromdata(DSA *dsa, const OSSL_PARAM params[]) +{ + int ret; + FFC_PARAMS *ffc; + + if (dsa == NULL) + return 0; + ffc = dsa_get0_params(dsa); + if (ffc == NULL) + return 0; + + ret = ffc_params_fromdata(ffc, params); + if (ret) + dsa->dirty_cnt++; + return ret; +} + +static int dsa_paramgen_check(EVP_PKEY_CTX *ctx) +{ + if (ctx == NULL || !EVP_PKEY_CTX_IS_GEN_OP(ctx)) { + ERR_raise(ERR_LIB_EVP, EVP_R_COMMAND_NOT_SUPPORTED); + /* Uses the same return values as EVP_PKEY_CTX_ctrl */ + return -2; + } + /* If key type not DSA return error */ + if (ctx->pmeth != NULL && ctx->pmeth->pkey_id != EVP_PKEY_DSA) + return -1; + return 1; +} + +int EVP_PKEY_CTX_set_dsa_paramgen_type(EVP_PKEY_CTX *ctx, const char *name) +{ + int ret; + OSSL_PARAM params[2], *p = params; + + if ((ret = dsa_paramgen_check(ctx)) <= 0) + return ret; + + *p++ = OSSL_PARAM_construct_utf8_string(OSSL_PKEY_PARAM_FFC_TYPE, + (char *)name, 0); + *p++ = OSSL_PARAM_construct_end(); + + return EVP_PKEY_CTX_set_params(ctx, params); +} + +int EVP_PKEY_CTX_set_dsa_paramgen_gindex(EVP_PKEY_CTX *ctx, int gindex) +{ + int ret; + OSSL_PARAM params[2], *p = params; + + if ((ret = dsa_paramgen_check(ctx)) <= 0) + return ret; + + *p++ = OSSL_PARAM_construct_int(OSSL_PKEY_PARAM_FFC_GINDEX, &gindex); + *p++ = OSSL_PARAM_construct_end(); + + return EVP_PKEY_CTX_set_params(ctx, params); +} + +int EVP_PKEY_CTX_set_dsa_paramgen_seed(EVP_PKEY_CTX *ctx, + const unsigned char *seed, + size_t seedlen) +{ + int ret; + OSSL_PARAM params[2], *p = params; + + if ((ret = dsa_paramgen_check(ctx)) <= 0) + return ret; + + *p++ = OSSL_PARAM_construct_octet_string(OSSL_PKEY_PARAM_FFC_SEED, + (void *)seed, seedlen); + *p++ = OSSL_PARAM_construct_end(); + + return EVP_PKEY_CTX_set_params(ctx, params); +} + +int EVP_PKEY_CTX_set_dsa_paramgen_bits(EVP_PKEY_CTX *ctx, int nbits) +{ + int ret; + OSSL_PARAM params[2], *p = params; + size_t bits = nbits; + + if ((ret = dsa_paramgen_check(ctx)) <= 0) + return ret; + +#if !defined(FIPS_MODE) + /* TODO(3.0): Remove this eventually when no more legacy */ + if (ctx->op.keymgmt.genctx == NULL) + return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, + EVP_PKEY_CTRL_DSA_PARAMGEN_BITS, nbits, NULL); +#endif + + *p++ = OSSL_PARAM_construct_size_t(OSSL_PKEY_PARAM_FFC_PBITS, &bits); + *p++ = OSSL_PARAM_construct_end(); + + return EVP_PKEY_CTX_set_params(ctx, params); +} + +int EVP_PKEY_CTX_set_dsa_paramgen_q_bits(EVP_PKEY_CTX *ctx, int qbits) +{ + int ret; + OSSL_PARAM params[2], *p = params; + size_t bits2 = qbits; + + if ((ret = dsa_paramgen_check(ctx)) <= 0) + return ret; + +#if !defined(FIPS_MODE) + /* TODO(3.0): Remove this eventually when no more legacy */ + if (ctx->op.keymgmt.genctx == NULL) + return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, + EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS, qbits, NULL); +#endif + + *p++ = OSSL_PARAM_construct_size_t(OSSL_PKEY_PARAM_FFC_QBITS, &bits2); + *p++ = OSSL_PARAM_construct_end(); + + return EVP_PKEY_CTX_set_params(ctx, params); +} + +int EVP_PKEY_CTX_set_dsa_paramgen_md_props(EVP_PKEY_CTX *ctx, + const char *md_name, + const char *md_properties) +{ + int ret; + OSSL_PARAM params[3], *p = params; + + if ((ret = dsa_paramgen_check(ctx)) <= 0) + return ret; + +#if !defined(FIPS_MODE) + /* TODO(3.0): Remove this eventually when no more legacy */ + if (ctx->op.keymgmt.genctx == NULL) { + const EVP_MD *md = EVP_get_digestbyname(md_name); + + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, + EVP_PKEY_CTRL_DSA_PARAMGEN_MD, 0, (void *)(md)); + } +#endif + + *p++ = OSSL_PARAM_construct_utf8_string(OSSL_PKEY_PARAM_FFC_DIGEST, + (char *)md_name, 0); + if (md_properties != NULL) + *p++ = OSSL_PARAM_construct_utf8_string(OSSL_PKEY_PARAM_FFC_DIGEST_PROPS, + (char *)md_properties, 0); + *p++ = OSSL_PARAM_construct_end(); + + return EVP_PKEY_CTX_set_params(ctx, params); +} + +#if !defined(FIPS_MODE) +int EVP_PKEY_CTX_set_dsa_paramgen_md(EVP_PKEY_CTX *ctx, const EVP_MD *md) +{ + const char *md_name = (md == NULL) ? "" : EVP_MD_name(md); + + return EVP_PKEY_CTX_set_dsa_paramgen_md_props(ctx, md_name, NULL); +} +#endif diff --git a/crypto/dsa/dsa_local.h b/crypto/dsa/dsa_local.h index f68ae2d0..b841595c 100644 --- a/crypto/dsa/dsa_local.h +++ b/crypto/dsa/dsa_local.h @@ -1,5 +1,5 @@ /* - * Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 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 diff --git a/crypto/dsa/dsa_meth.c b/crypto/dsa/dsa_meth.c index 0a46002b..de236f80 100644 --- a/crypto/dsa/dsa_meth.c +++ b/crypto/dsa/dsa_meth.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/crypto/dsa/dsa_ossl.c b/crypto/dsa/dsa_ossl.c index a87493a0..7288832e 100644 --- a/crypto/dsa/dsa_ossl.c +++ b/crypto/dsa/dsa_ossl.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/dsa/dsa_pmeth.c b/crypto/dsa/dsa_pmeth.c index 008a607b..750d0168 100644 --- a/crypto/dsa/dsa_pmeth.c +++ b/crypto/dsa/dsa_pmeth.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 diff --git a/crypto/dsa/dsa_prn.c b/crypto/dsa/dsa_prn.c index 65edf63d..be0b3038 100644 --- a/crypto/dsa/dsa_prn.c +++ b/crypto/dsa/dsa_prn.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 diff --git a/crypto/dsa/dsa_sign.c b/crypto/dsa/dsa_sign.c index 9ef8f30f..71a60bb3 100644 --- a/crypto/dsa/dsa_sign.c +++ b/crypto/dsa/dsa_sign.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/dsa/dsa_vrf.c b/crypto/dsa/dsa_vrf.c index 329c07ad..b0a9d965 100644 --- a/crypto/dsa/dsa_vrf.c +++ b/crypto/dsa/dsa_vrf.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/dso/dso_dlfcn.c b/crypto/dso/dso_dlfcn.c index b01c2f6a..57fa43fa 100644 --- a/crypto/dso/dso_dlfcn.c +++ b/crypto/dso/dso_dlfcn.c @@ -19,6 +19,8 @@ #include "dso_local.h" #include "e_os.h" +DEFINE_STACK_OF(void) + #ifdef DSO_DLFCN # ifdef HAVE_DLFCN_H diff --git a/crypto/dso/dso_lib.c b/crypto/dso/dso_lib.c index a464c391..82215dde 100644 --- a/crypto/dso/dso_lib.c +++ b/crypto/dso/dso_lib.c @@ -10,6 +10,8 @@ #include "dso_local.h" #include "internal/refcount.h" +DEFINE_STACK_OF(void) + static DSO_METHOD *default_DSO_meth = NULL; static DSO *DSO_new_method(DSO_METHOD *meth) diff --git a/crypto/dso/dso_win32.c b/crypto/dso/dso_win32.c index adf2e636..5826d410 100644 --- a/crypto/dso/dso_win32.c +++ b/crypto/dso/dso_win32.c @@ -69,6 +69,8 @@ static void *win32_globallookup(const char *name); static const char *openssl_strnchr(const char *string, int c, size_t len); +DEFINE_STACK_OF(void) + static DSO_METHOD dso_meth_win32 = { "OpenSSL 'win32' shared library method", win32_load, diff --git a/crypto/ec/asm/ecp_nistz256-armv4.pl b/crypto/ec/asm/ecp_nistz256-armv4.pl index c4cc4981..32fd9087 100755 --- a/crypto/ec/asm/ecp_nistz256-armv4.pl +++ b/crypto/ec/asm/ecp_nistz256-armv4.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/crypto/ec/asm/ecp_nistz256-armv8.pl b/crypto/ec/asm/ecp_nistz256-armv8.pl index 30da9000..81ee3947 100644 --- a/crypto/ec/asm/ecp_nistz256-armv8.pl +++ b/crypto/ec/asm/ecp_nistz256-armv8.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/crypto/ec/asm/ecp_nistz256-avx2.pl b/crypto/ec/asm/ecp_nistz256-avx2.pl index cf14869f..15bca9b0 100755 --- a/crypto/ec/asm/ecp_nistz256-avx2.pl +++ b/crypto/ec/asm/ecp_nistz256-avx2.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2014-2020 The OpenSSL Project Authors. All Rights Reserved. # Copyright (c) 2014, Intel Corporation. All Rights Reserved. # # Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/crypto/ec/asm/ecp_nistz256-ppc64.pl b/crypto/ec/asm/ecp_nistz256-ppc64.pl index 9934f680..7f600cec 100755 --- a/crypto/ec/asm/ecp_nistz256-ppc64.pl +++ b/crypto/ec/asm/ecp_nistz256-ppc64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/crypto/ec/asm/ecp_nistz256-sparcv9.pl b/crypto/ec/asm/ecp_nistz256-sparcv9.pl index 70afa8fc..5815896f 100755 --- a/crypto/ec/asm/ecp_nistz256-sparcv9.pl +++ b/crypto/ec/asm/ecp_nistz256-sparcv9.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/crypto/ec/asm/ecp_nistz256-x86.pl b/crypto/ec/asm/ecp_nistz256-x86.pl index 7320fc1a..e78f0cd7 100755 --- a/crypto/ec/asm/ecp_nistz256-x86.pl +++ b/crypto/ec/asm/ecp_nistz256-x86.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/crypto/ec/asm/ecp_nistz256-x86_64.pl b/crypto/ec/asm/ecp_nistz256-x86_64.pl index c0914d90..fc8719cb 100755 --- a/crypto/ec/asm/ecp_nistz256-x86_64.pl +++ b/crypto/ec/asm/ecp_nistz256-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2014-2020 The OpenSSL Project Authors. All Rights Reserved. # Copyright (c) 2014, Intel Corporation. All Rights Reserved. # Copyright (c) 2015 CloudFlare, Inc. # diff --git a/crypto/ec/asm/x25519-ppc64.pl b/crypto/ec/asm/x25519-ppc64.pl index f43059c8..c1d9650c 100755 --- a/crypto/ec/asm/x25519-ppc64.pl +++ b/crypto/ec/asm/x25519-ppc64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2018-2020 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 diff --git a/crypto/ec/asm/x25519-x86_64.pl b/crypto/ec/asm/x25519-x86_64.pl index 8cd5645e..a8b145e6 100755 --- a/crypto/ec/asm/x25519-x86_64.pl +++ b/crypto/ec/asm/x25519-x86_64.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2018-2020 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 diff --git a/crypto/ec/build.info b/crypto/ec/build.info index 590bbbde..8e4a6a9f 100644 --- a/crypto/ec/build.info +++ b/crypto/ec/build.info @@ -18,7 +18,7 @@ IF[{- !$disabled{asm} -}] $ECASM_mips32= $ECASM_mips64= - $ECASM_s390x=ecp_s390x_nistp.c + $ECASM_s390x=ecp_s390x_nistp.c ecx_s390x.c $ECDEF_s390x=S390X_EC_ASM $ECASM_armv4=ecp_nistz256.c ecp_nistz256-armv4.S @@ -44,14 +44,18 @@ IF[{- !$disabled{asm} -}] ENDIF $COMMON=ec_lib.c ecp_smpl.c ecp_mont.c ecp_nist.c ec_cvt.c ec_mult.c \ - ec_curve.c ec_check.c ec_print.c ec_key.c ec_asn1.c \ + ec_curve.c ec_check.c ec_print.c ec_key.c ecx_key.c ec_asn1.c \ ec2_smpl.c \ - ecp_nistp224.c ecp_nistp256.c ecp_nistp521.c ecp_nistputil.c \ ecp_oct.c ec2_oct.c ec_oct.c ec_kmeth.c ecdh_ossl.c \ ecdsa_ossl.c ecdsa_sign.c ecdsa_vrf.c curve25519.c \ curve448/arch_32/f_impl.c curve448/f_generic.c curve448/scalar.c \ curve448/curve448_tables.c curve448/eddsa.c curve448/curve448.c \ $ECASM ec_backend.c ecx_backend.c + +IF[{- !$disabled{'ec_nistp_64_gcc_128'} -}] + $COMMON=$COMMON ecp_nistp224.c ecp_nistp256.c ecp_nistp521.c ecp_nistputil.c +ENDIF + SOURCE[../../libcrypto]=$COMMON ec_ameth.c ec_pmeth.c ecx_meth.c ecx_key.c \ ec_err.c ecdh_kdf.c eck_prn.c ec_ctrl.c SOURCE[../../providers/libfips.a]=$COMMON @@ -72,6 +76,7 @@ GENERATE[ecp_nistz256-sparcv9.S]=asm/ecp_nistz256-sparcv9.pl INCLUDE[ecp_nistz256-sparcv9.o]=.. INCLUDE[ecp_s390x_nistp.o]=.. +INCLUDE[ecx_s390x.o]=.. INCLUDE[ecx_meth.o]=.. GENERATE[ecp_nistz256-armv4.S]=asm/ecp_nistz256-armv4.pl diff --git a/crypto/ec/curve25519.c b/crypto/ec/curve25519.c index 8db6cdb1..19fdb8d7 100644 --- a/crypto/ec/curve25519.c +++ b/crypto/ec/curve25519.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 @@ -5577,13 +5577,23 @@ err: return res; } -void ED25519_public_from_private(uint8_t out_public_key[32], - const uint8_t private_key[32]) +int ED25519_public_from_private(OPENSSL_CTX *ctx, uint8_t out_public_key[32], + const uint8_t private_key[32]) { uint8_t az[SHA512_DIGEST_LENGTH]; ge_p3 A; + int r; + EVP_MD *sha512 = NULL; - SHA512(private_key, 32, az); + sha512 = EVP_MD_fetch(ctx, SN_sha512, NULL); + if (sha512 == NULL) + return 0; + r = EVP_Digest(private_key, 32, az, NULL, sha512, NULL); + EVP_MD_free(sha512); + if (!r) { + OPENSSL_cleanse(az, sizeof(az)); + return 0; + } az[0] &= 248; az[31] &= 63; @@ -5593,6 +5603,7 @@ void ED25519_public_from_private(uint8_t out_public_key[32], ge_p3_tobytes(out_public_key, &A); OPENSSL_cleanse(az, sizeof(az)); + return 1; } int X25519(uint8_t out_shared_key[32], const uint8_t private_key[32], diff --git a/crypto/ec/curve448/curve448.c b/crypto/ec/curve448/curve448.c index ecc98d88..b0321828 100644 --- a/crypto/ec/curve448/curve448.c +++ b/crypto/ec/curve448/curve448.c @@ -1,5 +1,5 @@ /* - * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright 2015-2016 Cryptography Research, Inc. * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/crypto/ec/curve448/curve448_local.h b/crypto/ec/curve448/curve448_local.h index b70a1b54..84dd157d 100644 --- a/crypto/ec/curve448/curve448_local.h +++ b/crypto/ec/curve448/curve448_local.h @@ -1,5 +1,5 @@ /* - * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2020 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 @@ -18,7 +18,4 @@ int ED448ph_verify(OPENSSL_CTX *ctx, const uint8_t hash[64], const uint8_t signature[114], const uint8_t public_key[57], const uint8_t *context, size_t context_len); -int ED448_public_from_private(OPENSSL_CTX *ctx, uint8_t out_public_key[57], - const uint8_t private_key[57]); - #endif /* OSSL_CRYPTO_EC_CURVE448_LOCAL_H */ diff --git a/crypto/ec/curve448/eddsa.c b/crypto/ec/curve448/eddsa.c index 1cd76844..d8c2f882 100644 --- a/crypto/ec/curve448/eddsa.c +++ b/crypto/ec/curve448/eddsa.c @@ -1,5 +1,5 @@ /* - * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright 2015-2016 Cryptography Research, Inc. * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/crypto/ec/ec2_oct.c b/crypto/ec/ec2_oct.c index 38218f64..d4a7a1ab 100644 --- a/crypto/ec/ec2_oct.c +++ b/crypto/ec/ec2_oct.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/crypto/ec/ec2_smpl.c b/crypto/ec/ec2_smpl.c index 593f543e..5d921b66 100644 --- a/crypto/ec/ec2_smpl.c +++ b/crypto/ec/ec2_smpl.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -956,8 +956,6 @@ const EC_METHOD *EC_GF2m_simple_method(void) ec_GF2m_simple_point_clear_finish, ec_GF2m_simple_point_copy, ec_GF2m_simple_point_set_to_infinity, - 0, /* set_Jprojective_coordinates_GFp */ - 0, /* get_Jprojective_coordinates_GFp */ ec_GF2m_simple_point_set_affine_coordinates, ec_GF2m_simple_point_get_affine_coordinates, 0, /* point_set_compressed_coordinates */ diff --git a/crypto/ec/ec_ameth.c b/crypto/ec/ec_ameth.c index 33712247..cac0b682 100644 --- a/crypto/ec/ec_ameth.c +++ b/crypto/ec/ec_ameth.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 @@ -758,10 +758,11 @@ int ec_pkey_export_to(const EVP_PKEY *from, void *to_keydata, return rv; } -static int ec_pkey_import_from(const OSSL_PARAM params[], void *key) +static int ec_pkey_import_from(const OSSL_PARAM params[], void *vpctx) { - EVP_PKEY *pkey = key; - EC_KEY *ec = EC_KEY_new(); + EVP_PKEY_CTX *pctx = vpctx; + EVP_PKEY *pkey = EVP_PKEY_CTX_get0_pkey(pctx); + EC_KEY *ec = EC_KEY_new_ex(pctx->libctx); if (ec == NULL) { ERR_raise(ERR_LIB_DH, ERR_R_MALLOC_FAILURE); diff --git a/crypto/ec/ec_asn1.c b/crypto/ec/ec_asn1.c index 4f7a76a1..fcd03965 100644 --- a/crypto/ec/ec_asn1.c +++ b/crypto/ec/ec_asn1.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 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 diff --git a/crypto/ec/ec_check.c b/crypto/ec/ec_check.c index a4cc8073..aba437a5 100644 --- a/crypto/ec/ec_check.c +++ b/crypto/ec/ec_check.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 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 diff --git a/crypto/ec/ec_curve.c b/crypto/ec/ec_curve.c index dd3c2286..86e29217 100644 --- a/crypto/ec/ec_curve.c +++ b/crypto/ec/ec_curve.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/crypto/ec/ec_cvt.c b/crypto/ec/ec_cvt.c index 030c2990..6d58fdbe 100644 --- a/crypto/ec/ec_cvt.c +++ b/crypto/ec/ec_cvt.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/crypto/ec/ec_err.c b/crypto/ec/ec_err.c index 66d9c4b1..d775ced9 100644 --- a/crypto/ec/ec_err.c +++ b/crypto/ec/ec_err.c @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -34,6 +34,8 @@ static const ERR_STRING_DATA EC_str_reasons[] = { "discriminant is zero"}, {ERR_PACK(ERR_LIB_EC, 0, EC_R_EC_GROUP_NEW_BY_NAME_FAILURE), "ec group new by name failure"}, + {ERR_PACK(ERR_LIB_EC, 0, EC_R_FAILED_MAKING_PUBLIC_KEY), + "failed making public key"}, {ERR_PACK(ERR_LIB_EC, 0, EC_R_FIELD_TOO_LARGE), "field too large"}, {ERR_PACK(ERR_LIB_EC, 0, EC_R_GF2M_NOT_SUPPORTED), "gf2m not supported"}, {ERR_PACK(ERR_LIB_EC, 0, EC_R_GROUP2PKPARAMETERS_FAILURE), diff --git a/crypto/ec/ec_key.c b/crypto/ec/ec_key.c index 3bbf8227..72dd4a02 100644 --- a/crypto/ec/ec_key.c +++ b/crypto/ec/ec_key.c @@ -688,7 +688,7 @@ int EC_KEY_set_private_key(EC_KEY *key, const BIGNUM *priv_key) * This is important also because `BN_dup()` (and `BN_copy()`) do not * propagate the `BN_FLG_CONSTTIME` flag from the source `BIGNUM`, and * this brings an extra risk of inadvertently losing the flag, even when - * the called specifically set it. + * the caller specifically set it. * * The propagation has been turned on and off a few times in the past * years because in some conditions has shown unintended consequences in diff --git a/crypto/ec/ec_kmeth.c b/crypto/ec/ec_kmeth.c index 7aa9865d..9ba4f0dd 100644 --- a/crypto/ec/ec_kmeth.c +++ b/crypto/ec/ec_kmeth.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 diff --git a/crypto/ec/ec_lib.c b/crypto/ec/ec_lib.c index f90d8339..16fe437d 100644 --- a/crypto/ec/ec_lib.c +++ b/crypto/ec/ec_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -796,12 +796,13 @@ int EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point) return group->meth->point_set_to_infinity(group, point); } +#ifndef OPENSSL_NO_DEPRECATED_3_0 int EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *group, EC_POINT *point, const BIGNUM *x, const BIGNUM *y, const BIGNUM *z, BN_CTX *ctx) { - if (group->meth->point_set_Jprojective_coordinates_GFp == 0) { + if (group->meth->field_type != NID_X9_62_prime_field) { ECerr(EC_F_EC_POINT_SET_JPROJECTIVE_COORDINATES_GFP, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED); return 0; @@ -811,8 +812,7 @@ int EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *group, EC_R_INCOMPATIBLE_OBJECTS); return 0; } - return group->meth->point_set_Jprojective_coordinates_GFp(group, point, x, - y, z, ctx); + return ec_GFp_simple_set_Jprojective_coordinates_GFp(group, point, x, y, z, ctx); } int EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group, @@ -820,7 +820,7 @@ int EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group, BIGNUM *y, BIGNUM *z, BN_CTX *ctx) { - if (group->meth->point_get_Jprojective_coordinates_GFp == 0) { + if (group->meth->field_type != NID_X9_62_prime_field) { ECerr(EC_F_EC_POINT_GET_JPROJECTIVE_COORDINATES_GFP, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED); return 0; @@ -830,9 +830,9 @@ int EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group, EC_R_INCOMPATIBLE_OBJECTS); return 0; } - return group->meth->point_get_Jprojective_coordinates_GFp(group, point, x, - y, z, ctx); + return ec_GFp_simple_get_Jprojective_coordinates_GFp(group, point, x, y, z, ctx); } +#endif int EC_POINT_set_affine_coordinates(const EC_GROUP *group, EC_POINT *point, const BIGNUM *x, const BIGNUM *y, diff --git a/crypto/ec/ec_local.h b/crypto/ec/ec_local.h index b5963a7e..63e672af 100644 --- a/crypto/ec/ec_local.h +++ b/crypto/ec/ec_local.h @@ -1,5 +1,5 @@ /* - * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -76,14 +76,6 @@ struct ec_method_st { * EC_POINT_set_compressed_coordinates: */ int (*point_set_to_infinity) (const EC_GROUP *, EC_POINT *); - int (*point_set_Jprojective_coordinates_GFp) (const EC_GROUP *, - EC_POINT *, const BIGNUM *x, - const BIGNUM *y, - const BIGNUM *z, BN_CTX *); - int (*point_get_Jprojective_coordinates_GFp) (const EC_GROUP *, - const EC_POINT *, BIGNUM *x, - BIGNUM *y, BIGNUM *z, - BN_CTX *); int (*point_set_affine_coordinates) (const EC_GROUP *, EC_POINT *, const BIGNUM *x, const BIGNUM *y, BN_CTX *); @@ -679,8 +671,6 @@ ECDSA_SIG *ecdsa_simple_sign_sig(const unsigned char *dgst, int dgst_len, int ecdsa_simple_verify_sig(const unsigned char *dgst, int dgst_len, const ECDSA_SIG *sig, EC_KEY *eckey); -void ED25519_public_from_private(uint8_t out_public_key[32], - const uint8_t private_key[32]); /*- * This functions computes a single point multiplication over the EC group, diff --git a/crypto/ec/ec_mult.c b/crypto/ec/ec_mult.c index c66276ef..385a4789 100644 --- a/crypto/ec/ec_mult.c +++ b/crypto/ec/ec_mult.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/crypto/ec/ec_oct.c b/crypto/ec/ec_oct.c index ba2de896..1b8ef49d 100644 --- a/crypto/ec/ec_oct.c +++ b/crypto/ec/ec_oct.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/crypto/ec/ec_pmeth.c b/crypto/ec/ec_pmeth.c index d4a59b57..7eeeedc0 100644 --- a/crypto/ec/ec_pmeth.c +++ b/crypto/ec/ec_pmeth.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 diff --git a/crypto/ec/ec_print.c b/crypto/ec/ec_print.c index e3fd17d5..9c28fe3f 100644 --- a/crypto/ec/ec_print.c +++ b/crypto/ec/ec_print.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 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 diff --git a/crypto/ec/ecdh_kdf.c b/crypto/ec/ecdh_kdf.c index 80675ccf..fb501c6a 100644 --- a/crypto/ec/ecdh_kdf.c +++ b/crypto/ec/ecdh_kdf.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 diff --git a/crypto/ec/ecdh_ossl.c b/crypto/ec/ecdh_ossl.c index 89761a9f..42174178 100644 --- a/crypto/ec/ecdh_ossl.c +++ b/crypto/ec/ecdh_ossl.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/crypto/ec/ecdsa_ossl.c b/crypto/ec/ecdsa_ossl.c index e9291b17..d37b67c7 100644 --- a/crypto/ec/ecdsa_ossl.c +++ b/crypto/ec/ecdsa_ossl.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 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 diff --git a/crypto/ec/ecdsa_sign.c b/crypto/ec/ecdsa_sign.c index d6020081..6e56ef7e 100644 --- a/crypto/ec/ecdsa_sign.c +++ b/crypto/ec/ecdsa_sign.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 diff --git a/crypto/ec/ecdsa_vrf.c b/crypto/ec/ecdsa_vrf.c index 255c4eee..5b90fbfb 100644 --- a/crypto/ec/ecdsa_vrf.c +++ b/crypto/ec/ecdsa_vrf.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 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 diff --git a/crypto/ec/ecp_mont.c b/crypto/ec/ecp_mont.c index a81f7902..f4bcbd27 100644 --- a/crypto/ec/ecp_mont.c +++ b/crypto/ec/ecp_mont.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -37,8 +37,6 @@ const EC_METHOD *EC_GFp_mont_method(void) ec_GFp_simple_point_clear_finish, ec_GFp_simple_point_copy, ec_GFp_simple_point_set_to_infinity, - ec_GFp_simple_set_Jprojective_coordinates_GFp, - ec_GFp_simple_get_Jprojective_coordinates_GFp, ec_GFp_simple_point_set_affine_coordinates, ec_GFp_simple_point_get_affine_coordinates, 0, 0, 0, diff --git a/crypto/ec/ecp_nist.c b/crypto/ec/ecp_nist.c index e5aad589..fe5a7223 100644 --- a/crypto/ec/ecp_nist.c +++ b/crypto/ec/ecp_nist.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -39,8 +39,6 @@ const EC_METHOD *EC_GFp_nist_method(void) ec_GFp_simple_point_clear_finish, ec_GFp_simple_point_copy, ec_GFp_simple_point_set_to_infinity, - ec_GFp_simple_set_Jprojective_coordinates_GFp, - ec_GFp_simple_get_Jprojective_coordinates_GFp, ec_GFp_simple_point_set_affine_coordinates, ec_GFp_simple_point_get_affine_coordinates, 0, 0, 0, diff --git a/crypto/ec/ecp_nistp224.c b/crypto/ec/ecp_nistp224.c index f52e55b7..f0c0ad94 100644 --- a/crypto/ec/ecp_nistp224.c +++ b/crypto/ec/ecp_nistp224.c @@ -1,5 +1,5 @@ /* - * Copyright 2010-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2010-2020 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 @@ -37,22 +37,19 @@ */ #include -#ifdef OPENSSL_NO_EC_NISTP_64_GCC_128 -NON_EMPTY_TRANSLATION_UNIT -#else -# include -# include -# include -# include "ec_local.h" +#include +#include +#include +#include "ec_local.h" -# if defined(__SIZEOF_INT128__) && __SIZEOF_INT128__==16 +#if defined(__SIZEOF_INT128__) && __SIZEOF_INT128__==16 /* even with gcc, the typedef won't work for 32-bit platforms */ typedef __uint128_t uint128_t; /* nonstandard; implemented by gcc on 64-bit * platforms */ -# else -# error "Your compiler doesn't appear to support 128-bit integer types" -# endif +#else +# error "Your compiler doesn't appear to support 128-bit integer types" +#endif typedef uint8_t u8; typedef uint64_t u64; @@ -264,8 +261,6 @@ const EC_METHOD *EC_GFp_nistp224_method(void) ec_GFp_simple_point_clear_finish, ec_GFp_simple_point_copy, ec_GFp_simple_point_set_to_infinity, - ec_GFp_simple_set_Jprojective_coordinates_GFp, - ec_GFp_simple_get_Jprojective_coordinates_GFp, ec_GFp_simple_point_set_affine_coordinates, ec_GFp_nistp224_point_get_affine_coordinates, 0 /* point_set_compressed_coordinates */ , @@ -1468,9 +1463,8 @@ int ec_GFp_nistp224_points_mul(const EC_GROUP *group, EC_POINT *r, ECerr(EC_F_EC_GFP_NISTP224_POINTS_MUL, ERR_R_BN_LIB); goto err; } - if (!EC_POINT_set_Jprojective_coordinates_GFp(group, - generator, x, y, z, - ctx)) + if (!ec_GFp_simple_set_Jprojective_coordinates_GFp(group, generator, x, + y, z, ctx)) goto err; if (0 == EC_POINT_cmp(group, generator, group->generator, ctx)) /* precomputation matches generator */ @@ -1604,7 +1598,7 @@ int ec_GFp_nistp224_points_mul(const EC_GROUP *group, EC_POINT *r, ECerr(EC_F_EC_GFP_NISTP224_POINTS_MUL, ERR_R_BN_LIB); goto err; } - ret = EC_POINT_set_Jprojective_coordinates_GFp(group, r, x, y, z, ctx); + ret = ec_GFp_simple_set_Jprojective_coordinates_GFp(group, r, x, y, z, ctx); err: BN_CTX_end(ctx); @@ -1755,5 +1749,3 @@ int ec_GFp_nistp224_have_precompute_mult(const EC_GROUP *group) { return HAVEPRECOMP(group, nistp224); } - -#endif diff --git a/crypto/ec/ecp_nistp256.c b/crypto/ec/ecp_nistp256.c index 624909d8..70f5792e 100644 --- a/crypto/ec/ecp_nistp256.c +++ b/crypto/ec/ecp_nistp256.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2020 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 @@ -38,23 +38,20 @@ */ #include -#ifdef OPENSSL_NO_EC_NISTP_64_GCC_128 -NON_EMPTY_TRANSLATION_UNIT -#else -# include -# include -# include -# include "ec_local.h" +#include +#include +#include +#include "ec_local.h" -# if defined(__SIZEOF_INT128__) && __SIZEOF_INT128__==16 +#if defined(__SIZEOF_INT128__) && __SIZEOF_INT128__==16 /* even with gcc, the typedef won't work for 32-bit platforms */ typedef __uint128_t uint128_t; /* nonstandard; implemented by gcc on 64-bit * platforms */ typedef __int128_t int128_t; -# else -# error "Your compiler doesn't appear to support 128-bit integer types" -# endif +#else +# error "Your compiler doesn't appear to support 128-bit integer types" +#endif typedef uint8_t u8; typedef uint32_t u32; @@ -116,7 +113,7 @@ static const felem_bytearray nistp256_curve_params[5] = { * values are used as intermediate values before multiplication. */ -# define NLIMBS 4 +#define NLIMBS 4 typedef uint128_t limb; typedef limb felem[NLIMBS]; @@ -248,9 +245,9 @@ static void longfelem_scalar(longfelem out, const u64 scalar) out[7] *= scalar; } -# define two105m41m9 (((limb)1) << 105) - (((limb)1) << 41) - (((limb)1) << 9) -# define two105 (((limb)1) << 105) -# define two105m41p9 (((limb)1) << 105) - (((limb)1) << 41) + (((limb)1) << 9) +#define two105m41m9 (((limb)1) << 105) - (((limb)1) << 41) - (((limb)1) << 9) +#define two105 (((limb)1) << 105) +#define two105m41p9 (((limb)1) << 105) - (((limb)1) << 41) + (((limb)1) << 9) /* zero105 is 0 mod p */ static const felem zero105 = @@ -293,9 +290,9 @@ static void felem_diff(felem out, const felem in) out[3] -= in[3]; } -# define two107m43m11 (((limb)1) << 107) - (((limb)1) << 43) - (((limb)1) << 11) -# define two107 (((limb)1) << 107) -# define two107m43p11 (((limb)1) << 107) - (((limb)1) << 43) + (((limb)1) << 11) +#define two107m43m11 (((limb)1) << 107) - (((limb)1) << 43) - (((limb)1) << 11) +#define two107 (((limb)1) << 107) +#define two107m43p11 (((limb)1) << 107) - (((limb)1) << 43) + (((limb)1) << 11) /* zero107 is 0 mod p */ static const felem zero107 = @@ -364,10 +361,10 @@ static void longfelem_diff(longfelem out, const longfelem in) out[7] -= in[7]; } -# define two64m0 (((limb)1) << 64) - 1 -# define two110p32m0 (((limb)1) << 110) + (((limb)1) << 32) - 1 -# define two64m46 (((limb)1) << 64) - (((limb)1) << 46) -# define two64m32 (((limb)1) << 64) - (((limb)1) << 32) +#define two64m0 (((limb)1) << 64) - 1 +#define two110p32m0 (((limb)1) << 110) + (((limb)1) << 32) - 1 +#define two64m46 (((limb)1) << 64) - (((limb)1) << 46) +#define two64m32 (((limb)1) << 64) - (((limb)1) << 32) /* zero110 is 0 mod p */ static const felem zero110 = { two64m0, two110p32m0, two64m46, two64m32 }; @@ -717,9 +714,9 @@ static void felem_small_mul(longfelem out, const smallfelem small1, smallfelem_mul(out, small1, small2); } -# define two100m36m4 (((limb)1) << 100) - (((limb)1) << 36) - (((limb)1) << 4) -# define two100 (((limb)1) << 100) -# define two100m36p4 (((limb)1) << 100) - (((limb)1) << 36) + (((limb)1) << 4) +#define two100m36m4 (((limb)1) << 100) - (((limb)1) << 36) - (((limb)1) << 4) +#define two100 (((limb)1) << 100) +#define two100m36p4 (((limb)1) << 100) - (((limb)1) << 36) + (((limb)1) << 4) /* zero100 is 0 mod p */ static const felem zero100 = { two100m36m4, two100, two100m36p4, two100m36p4 }; @@ -1801,8 +1798,6 @@ const EC_METHOD *EC_GFp_nistp256_method(void) ec_GFp_simple_point_clear_finish, ec_GFp_simple_point_copy, ec_GFp_simple_point_set_to_infinity, - ec_GFp_simple_set_Jprojective_coordinates_GFp, - ec_GFp_simple_get_Jprojective_coordinates_GFp, ec_GFp_simple_point_set_affine_coordinates, ec_GFp_nistp256_point_get_affine_coordinates, 0 /* point_set_compressed_coordinates */ , @@ -2083,9 +2078,8 @@ int ec_GFp_nistp256_points_mul(const EC_GROUP *group, EC_POINT *r, ECerr(EC_F_EC_GFP_NISTP256_POINTS_MUL, ERR_R_BN_LIB); goto err; } - if (!EC_POINT_set_Jprojective_coordinates_GFp(group, - generator, x, y, z, - ctx)) + if (!ec_GFp_simple_set_Jprojective_coordinates_GFp(group, generator, x, + y, z, ctx)) goto err; if (0 == EC_POINT_cmp(group, generator, group->generator, ctx)) /* precomputation matches generator */ @@ -2225,7 +2219,7 @@ int ec_GFp_nistp256_points_mul(const EC_GROUP *group, EC_POINT *r, ECerr(EC_F_EC_GFP_NISTP256_POINTS_MUL, ERR_R_BN_LIB); goto err; } - ret = EC_POINT_set_Jprojective_coordinates_GFp(group, r, x, y, z, ctx); + ret = ec_GFp_simple_set_Jprojective_coordinates_GFp(group, r, x, y, z, ctx); err: BN_CTX_end(ctx); @@ -2387,4 +2381,3 @@ int ec_GFp_nistp256_have_precompute_mult(const EC_GROUP *group) { return HAVEPRECOMP(group, nistp256); } -#endif diff --git a/crypto/ec/ecp_nistp521.c b/crypto/ec/ecp_nistp521.c index d09553fe..db99b963 100644 --- a/crypto/ec/ecp_nistp521.c +++ b/crypto/ec/ecp_nistp521.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2020 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 @@ -38,21 +38,18 @@ */ #include -#ifdef OPENSSL_NO_EC_NISTP_64_GCC_128 -NON_EMPTY_TRANSLATION_UNIT -#else -# include -# include -# include "ec_local.h" +#include +#include +#include "ec_local.h" -# if defined(__SIZEOF_INT128__) && __SIZEOF_INT128__==16 +#if defined(__SIZEOF_INT128__) && __SIZEOF_INT128__==16 /* even with gcc, the typedef won't work for 32-bit platforms */ typedef __uint128_t uint128_t; /* nonstandard; implemented by gcc on 64-bit * platforms */ -# else -# error "Your compiler doesn't appear to support 128-bit integer types" -# endif +#else +# error "Your compiler doesn't appear to support 128-bit integer types" +#endif typedef uint8_t u8; typedef uint64_t u64; @@ -131,7 +128,7 @@ static const felem_bytearray nistp521_curve_params[5] = { * A field element with 64-bit limbs is an 'felem'. One with 128-bit limbs is a * 'largefelem' */ -# define NLIMBS 9 +#define NLIMBS 9 typedef uint64_t limb; typedef limb felem[NLIMBS]; @@ -1641,8 +1638,6 @@ const EC_METHOD *EC_GFp_nistp521_method(void) ec_GFp_simple_point_clear_finish, ec_GFp_simple_point_copy, ec_GFp_simple_point_set_to_infinity, - ec_GFp_simple_set_Jprojective_coordinates_GFp, - ec_GFp_simple_get_Jprojective_coordinates_GFp, ec_GFp_simple_point_set_affine_coordinates, ec_GFp_nistp521_point_get_affine_coordinates, 0 /* point_set_compressed_coordinates */ , @@ -1922,9 +1917,8 @@ int ec_GFp_nistp521_points_mul(const EC_GROUP *group, EC_POINT *r, ECerr(EC_F_EC_GFP_NISTP521_POINTS_MUL, ERR_R_BN_LIB); goto err; } - if (!EC_POINT_set_Jprojective_coordinates_GFp(group, - generator, x, y, z, - ctx)) + if (!ec_GFp_simple_set_Jprojective_coordinates_GFp(group, generator, x, + y, z, ctx)) goto err; if (0 == EC_POINT_cmp(group, generator, group->generator, ctx)) /* precomputation matches generator */ @@ -2062,7 +2056,7 @@ int ec_GFp_nistp521_points_mul(const EC_GROUP *group, EC_POINT *r, ECerr(EC_F_EC_GFP_NISTP521_POINTS_MUL, ERR_R_BN_LIB); goto err; } - ret = EC_POINT_set_Jprojective_coordinates_GFp(group, r, x, y, z, ctx); + ret = ec_GFp_simple_set_Jprojective_coordinates_GFp(group, r, x, y, z, ctx); err: BN_CTX_end(ctx); @@ -2193,5 +2187,3 @@ int ec_GFp_nistp521_have_precompute_mult(const EC_GROUP *group) { return HAVEPRECOMP(group, nistp521); } - -#endif diff --git a/crypto/ec/ecp_nistputil.c b/crypto/ec/ecp_nistputil.c index d3739a10..814a3083 100644 --- a/crypto/ec/ecp_nistputil.c +++ b/crypto/ec/ecp_nistputil.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2020 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 @@ -30,16 +30,13 @@ #include "internal/deprecated.h" #include -#ifdef OPENSSL_NO_EC_NISTP_64_GCC_128 -NON_EMPTY_TRANSLATION_UNIT -#else /* * Common utility functions for ecp_nistp224.c, ecp_nistp256.c, ecp_nistp521.c. */ -# include -# include "ec_local.h" +#include +#include "ec_local.h" /* * Convert an array of points into affine coordinates. (If the point at @@ -80,10 +77,10 @@ void ec_GFp_nistp_points_make_affine_internal(size_t num, void *point_array, { int i = 0; -# define tmp_felem(I) (&((char *)tmp_felems)[(I) * felem_size]) -# define X(I) (&((char *)point_array)[3*(I) * felem_size]) -# define Y(I) (&((char *)point_array)[(3*(I) + 1) * felem_size]) -# define Z(I) (&((char *)point_array)[(3*(I) + 2) * felem_size]) +#define tmp_felem(I) (&((char *)tmp_felems)[(I) * felem_size]) +#define X(I) (&((char *)point_array)[3*(I) * felem_size]) +#define Y(I) (&((char *)point_array)[(3*(I) + 1) * felem_size]) +#define Z(I) (&((char *)point_array)[(3*(I) + 2) * felem_size]) if (!felem_is_zero(Z(0))) felem_assign(tmp_felem(0), Z(0)); @@ -226,4 +223,3 @@ void ec_GFp_nistp_recode_scalar_bits(unsigned char *sign, *sign = s & 1; *digit = d; } -#endif diff --git a/crypto/ec/ecp_nistz256.c b/crypto/ec/ecp_nistz256.c index d9709da4..4577707e 100644 --- a/crypto/ec/ecp_nistz256.c +++ b/crypto/ec/ecp_nistz256.c @@ -1,5 +1,5 @@ /* - * Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2014-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2014, Intel Corporation. All Rights Reserved. * Copyright (c) 2015, CloudFlare, Inc. * @@ -1694,8 +1694,6 @@ const EC_METHOD *EC_GFp_nistz256_method(void) ec_GFp_simple_point_clear_finish, ec_GFp_simple_point_copy, ec_GFp_simple_point_set_to_infinity, - ec_GFp_simple_set_Jprojective_coordinates_GFp, - ec_GFp_simple_get_Jprojective_coordinates_GFp, ec_GFp_simple_point_set_affine_coordinates, ecp_nistz256_get_affine, 0, 0, 0, diff --git a/crypto/ec/ecp_oct.c b/crypto/ec/ecp_oct.c index 1455f9c1..57a196cf 100644 --- a/crypto/ec/ecp_oct.c +++ b/crypto/ec/ecp_oct.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/crypto/ec/ecp_s390x_nistp.c b/crypto/ec/ecp_s390x_nistp.c index 92b199d9..75c8475e 100644 --- a/crypto/ec/ecp_s390x_nistp.c +++ b/crypto/ec/ecp_s390x_nistp.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 @@ -332,8 +332,6 @@ const EC_METHOD *EC_GFp_s390x_nistp##bits##_method(void) \ ec_GFp_simple_point_clear_finish, \ ec_GFp_simple_point_copy, \ ec_GFp_simple_point_set_to_infinity, \ - ec_GFp_simple_set_Jprojective_coordinates_GFp, \ - ec_GFp_simple_get_Jprojective_coordinates_GFp, \ ec_GFp_simple_point_set_affine_coordinates, \ ec_GFp_simple_point_get_affine_coordinates, \ NULL, /* point_set_compressed_coordinates */ \ diff --git a/crypto/ec/ecp_smpl.c b/crypto/ec/ecp_smpl.c index 0c25816c..e942782b 100644 --- a/crypto/ec/ecp_smpl.c +++ b/crypto/ec/ecp_smpl.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -38,8 +38,6 @@ const EC_METHOD *EC_GFp_simple_method(void) ec_GFp_simple_point_clear_finish, ec_GFp_simple_point_copy, ec_GFp_simple_point_set_to_infinity, - ec_GFp_simple_set_Jprojective_coordinates_GFp, - ec_GFp_simple_get_Jprojective_coordinates_GFp, ec_GFp_simple_point_set_affine_coordinates, ec_GFp_simple_point_get_affine_coordinates, 0, 0, 0, diff --git a/crypto/ec/ecx_meth.c b/crypto/ec/ecx_meth.c index 03d6a7af..d23fcd42 100644 --- a/crypto/ec/ecx_meth.c +++ b/crypto/ec/ecx_meth.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 @@ -35,7 +35,8 @@ typedef enum { /* Setup EVP_PKEY using public, private or generation */ static int ecx_key_op(EVP_PKEY *pkey, int id, const X509_ALGOR *palg, - const unsigned char *p, int plen, ecx_key_op_t op) + const unsigned char *p, int plen, ecx_key_op_t op, + OPENSSL_CTX *libctx, const char *propq) { ECX_KEY *key = NULL; unsigned char *privkey, *pubkey; @@ -92,17 +93,19 @@ static int ecx_key_op(EVP_PKEY *pkey, int id, const X509_ALGOR *palg, X25519_public_from_private(pubkey, privkey); break; case EVP_PKEY_ED25519: - ED25519_public_from_private(pubkey, privkey); + if (!ED25519_public_from_private(libctx, pubkey, privkey)) { + ECerr(EC_F_ECX_KEY_OP, EC_R_FAILED_MAKING_PUBLIC_KEY); + return 0; + } break; case EVP_PKEY_X448: X448_public_from_private(pubkey, privkey); break; case EVP_PKEY_ED448: - /* - * TODO(3.0): We set the library context to NULL for now. This will - * need to change. - */ - ED448_public_from_private(NULL, pubkey, privkey); + if (!ED448_public_from_private(libctx, pubkey, privkey)) { + ECerr(EC_F_ECX_KEY_OP, EC_R_FAILED_MAKING_PUBLIC_KEY); + return 0; + } break; } } @@ -148,7 +151,7 @@ static int ecx_pub_decode(EVP_PKEY *pkey, X509_PUBKEY *pubkey) if (!X509_PUBKEY_get0_param(NULL, &p, &pklen, &palg, pubkey)) return 0; return ecx_key_op(pkey, pkey->ameth->pkey_id, palg, p, pklen, - KEY_OP_PUBLIC); + KEY_OP_PUBLIC, NULL, NULL); } static int ecx_pub_cmp(const EVP_PKEY *a, const EVP_PKEY *b) @@ -162,7 +165,9 @@ static int ecx_pub_cmp(const EVP_PKEY *a, const EVP_PKEY *b) return CRYPTO_memcmp(akey->pubkey, bkey->pubkey, KEYLEN(a)) == 0; } -static int ecx_priv_decode(EVP_PKEY *pkey, const PKCS8_PRIV_KEY_INFO *p8) +static int ecx_priv_decode_with_libctx(EVP_PKEY *pkey, + const PKCS8_PRIV_KEY_INFO *p8, + OPENSSL_CTX *libctx, const char *propq) { const unsigned char *p; int plen; @@ -182,7 +187,8 @@ static int ecx_priv_decode(EVP_PKEY *pkey, const PKCS8_PRIV_KEY_INFO *p8) plen = ASN1_STRING_length(oct); } - rv = ecx_key_op(pkey, pkey->ameth->pkey_id, palg, p, plen, KEY_OP_PRIVATE); + rv = ecx_key_op(pkey, pkey->ameth->pkey_id, palg, p, plen, KEY_OP_PRIVATE, + libctx, propq); ASN1_STRING_clear_free(oct); return rv; } @@ -310,7 +316,7 @@ static int ecx_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) case ASN1_PKEY_CTRL_SET1_TLS_ENCPT: return ecx_key_op(pkey, pkey->ameth->pkey_id, NULL, arg2, arg1, - KEY_OP_PUBLIC); + KEY_OP_PUBLIC, NULL, NULL); case ASN1_PKEY_CTRL_GET1_TLS_ENCPT: if (pkey->pkey.ecx != NULL) { @@ -345,14 +351,15 @@ static int ecd_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) static int ecx_set_priv_key(EVP_PKEY *pkey, const unsigned char *priv, size_t len) { + /* TODO(3.0): We should pass a libctx here */ return ecx_key_op(pkey, pkey->ameth->pkey_id, NULL, priv, len, - KEY_OP_PRIVATE); + KEY_OP_PRIVATE, NULL, NULL); } static int ecx_set_pub_key(EVP_PKEY *pkey, const unsigned char *pub, size_t len) { return ecx_key_op(pkey, pkey->ameth->pkey_id, NULL, pub, len, - KEY_OP_PUBLIC); + KEY_OP_PUBLIC, NULL, NULL); } static int ecx_get_priv_key(const EVP_PKEY *pkey, unsigned char *priv, @@ -443,10 +450,11 @@ static int ecx_pkey_export_to(const EVP_PKEY *from, void *to_keydata, return rv; } -static int ecx_generic_import_from(const OSSL_PARAM params[], void *key, +static int ecx_generic_import_from(const OSSL_PARAM params[], void *vpctx, int keytype) { - EVP_PKEY *pkey = key; + EVP_PKEY_CTX *pctx = vpctx; + EVP_PKEY *pkey = EVP_PKEY_CTX_get0_pkey(pctx); ECX_KEY *ecx = ecx_key_new(KEYNID2TYPE(keytype), 0); if (ecx == NULL) { @@ -462,9 +470,9 @@ static int ecx_generic_import_from(const OSSL_PARAM params[], void *key, return 1; } -static int x25519_import_from(const OSSL_PARAM params[], void *key) +static int x25519_import_from(const OSSL_PARAM params[], void *vpctx) { - return ecx_generic_import_from(params, key, EVP_PKEY_X25519); + return ecx_generic_import_from(params, vpctx, EVP_PKEY_X25519); } const EVP_PKEY_ASN1_METHOD ecx25519_asn1_meth = { @@ -479,7 +487,7 @@ const EVP_PKEY_ASN1_METHOD ecx25519_asn1_meth = { ecx_pub_cmp, ecx_pub_print, - ecx_priv_decode, + NULL, ecx_priv_encode, ecx_priv_print, @@ -510,12 +518,14 @@ const EVP_PKEY_ASN1_METHOD ecx25519_asn1_meth = { ecx_get_pub_key, ecx_pkey_dirty_cnt, ecx_pkey_export_to, - x25519_import_from + x25519_import_from, + + ecx_priv_decode_with_libctx }; -static int x448_import_from(const OSSL_PARAM params[], void *key) +static int x448_import_from(const OSSL_PARAM params[], void *vpctx) { - return ecx_generic_import_from(params, key, EVP_PKEY_X448); + return ecx_generic_import_from(params, vpctx, EVP_PKEY_X448); } const EVP_PKEY_ASN1_METHOD ecx448_asn1_meth = { @@ -530,7 +540,7 @@ const EVP_PKEY_ASN1_METHOD ecx448_asn1_meth = { ecx_pub_cmp, ecx_pub_print, - ecx_priv_decode, + NULL, ecx_priv_encode, ecx_priv_print, @@ -561,7 +571,9 @@ const EVP_PKEY_ASN1_METHOD ecx448_asn1_meth = { ecx_get_pub_key, ecx_pkey_dirty_cnt, ecx_pkey_export_to, - x448_import_from + x448_import_from, + + ecx_priv_decode_with_libctx }; static int ecd_size25519(const EVP_PKEY *pkey) @@ -636,9 +648,9 @@ static int ecd_sig_info_set448(X509_SIG_INFO *siginf, const X509_ALGOR *alg, return 1; } -static int ed25519_import_from(const OSSL_PARAM params[], void *key) +static int ed25519_import_from(const OSSL_PARAM params[], void *vpctx) { - return ecx_generic_import_from(params, key, EVP_PKEY_ED25519); + return ecx_generic_import_from(params, vpctx, EVP_PKEY_ED25519); } const EVP_PKEY_ASN1_METHOD ed25519_asn1_meth = { @@ -653,7 +665,7 @@ const EVP_PKEY_ASN1_METHOD ed25519_asn1_meth = { ecx_pub_cmp, ecx_pub_print, - ecx_priv_decode, + NULL, ecx_priv_encode, ecx_priv_print, @@ -683,12 +695,14 @@ const EVP_PKEY_ASN1_METHOD ed25519_asn1_meth = { ecx_get_pub_key, ecx_pkey_dirty_cnt, ecx_pkey_export_to, - ed25519_import_from + ed25519_import_from, + + ecx_priv_decode_with_libctx }; -static int ed448_import_from(const OSSL_PARAM params[], void *key) +static int ed448_import_from(const OSSL_PARAM params[], void *vpctx) { - return ecx_generic_import_from(params, key, EVP_PKEY_ED448); + return ecx_generic_import_from(params, vpctx, EVP_PKEY_ED448); } const EVP_PKEY_ASN1_METHOD ed448_asn1_meth = { @@ -703,7 +717,7 @@ const EVP_PKEY_ASN1_METHOD ed448_asn1_meth = { ecx_pub_cmp, ecx_pub_print, - ecx_priv_decode, + NULL, ecx_priv_encode, ecx_priv_print, @@ -733,12 +747,15 @@ const EVP_PKEY_ASN1_METHOD ed448_asn1_meth = { ecx_get_pub_key, ecx_pkey_dirty_cnt, ecx_pkey_export_to, - ed448_import_from + ed448_import_from, + + ecx_priv_decode_with_libctx }; static int pkey_ecx_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey) { - return ecx_key_op(pkey, ctx->pmeth->pkey_id, NULL, NULL, 0, KEY_OP_KEYGEN); + return ecx_key_op(pkey, ctx->pmeth->pkey_id, NULL, NULL, 0, KEY_OP_KEYGEN, + NULL, NULL); } static int validate_ecx_derive(EVP_PKEY_CTX *ctx, unsigned char *key, @@ -938,205 +955,6 @@ static const EVP_PKEY_METHOD ed448_pkey_meth = { #ifdef S390X_EC_ASM # include "s390x_arch.h" -# include "internal/constant_time.h" - -static void s390x_x25519_mod_p(unsigned char u[32]) -{ - unsigned char u_red[32]; - unsigned int c = 0; - int i; - - memcpy(u_red, u, sizeof(u_red)); - - c += (unsigned int)u_red[31] + 19; - u_red[31] = (unsigned char)c; - c >>= 8; - - for (i = 30; i >= 0; i--) { - c += (unsigned int)u_red[i]; - u_red[i] = (unsigned char)c; - c >>= 8; - } - - c = (u_red[0] & 0x80) >> 7; - u_red[0] &= 0x7f; - constant_time_cond_swap_buff(0 - (unsigned char)c, - u, u_red, sizeof(u_red)); -} - -static void s390x_x448_mod_p(unsigned char u[56]) -{ - unsigned char u_red[56]; - unsigned int c = 0; - int i; - - memcpy(u_red, u, sizeof(u_red)); - - c += (unsigned int)u_red[55] + 1; - u_red[55] = (unsigned char)c; - c >>= 8; - - for (i = 54; i >= 28; i--) { - c += (unsigned int)u_red[i]; - u_red[i] = (unsigned char)c; - c >>= 8; - } - - c += (unsigned int)u_red[27] + 1; - u_red[27] = (unsigned char)c; - c >>= 8; - - for (i = 26; i >= 0; i--) { - c += (unsigned int)u_red[i]; - u_red[i] = (unsigned char)c; - c >>= 8; - } - - constant_time_cond_swap_buff(0 - (unsigned char)c, - u, u_red, sizeof(u_red)); -} - -int s390x_x25519_mul(unsigned char u_dst[32], - const unsigned char u_src[32], - const unsigned char d_src[32]) -{ - union { - struct { - unsigned char u_dst[32]; - unsigned char u_src[32]; - unsigned char d_src[32]; - } x25519; - unsigned long long buff[512]; - } param; - int rc; - - memset(¶m, 0, sizeof(param)); - - s390x_flip_endian32(param.x25519.u_src, u_src); - param.x25519.u_src[0] &= 0x7f; - s390x_x25519_mod_p(param.x25519.u_src); - - s390x_flip_endian32(param.x25519.d_src, d_src); - param.x25519.d_src[31] &= 248; - param.x25519.d_src[0] &= 127; - param.x25519.d_src[0] |= 64; - - rc = s390x_pcc(S390X_SCALAR_MULTIPLY_X25519, ¶m.x25519) ? 0 : 1; - if (rc == 1) - s390x_flip_endian32(u_dst, param.x25519.u_dst); - - OPENSSL_cleanse(param.x25519.d_src, sizeof(param.x25519.d_src)); - return rc; -} - -int s390x_x448_mul(unsigned char u_dst[56], - const unsigned char u_src[56], - const unsigned char d_src[56]) -{ - union { - struct { - unsigned char u_dst[64]; - unsigned char u_src[64]; - unsigned char d_src[64]; - } x448; - unsigned long long buff[512]; - } param; - int rc; - - memset(¶m, 0, sizeof(param)); - - memcpy(param.x448.u_src, u_src, 56); - memcpy(param.x448.d_src, d_src, 56); - - s390x_flip_endian64(param.x448.u_src, param.x448.u_src); - s390x_x448_mod_p(param.x448.u_src + 8); - - s390x_flip_endian64(param.x448.d_src, param.x448.d_src); - param.x448.d_src[63] &= 252; - param.x448.d_src[8] |= 128; - - rc = s390x_pcc(S390X_SCALAR_MULTIPLY_X448, ¶m.x448) ? 0 : 1; - if (rc == 1) { - s390x_flip_endian64(param.x448.u_dst, param.x448.u_dst); - memcpy(u_dst, param.x448.u_dst, 56); - } - - OPENSSL_cleanse(param.x448.d_src, sizeof(param.x448.d_src)); - return rc; -} - -static int s390x_ed25519_mul(unsigned char x_dst[32], - unsigned char y_dst[32], - const unsigned char x_src[32], - const unsigned char y_src[32], - const unsigned char d_src[32]) -{ - union { - struct { - unsigned char x_dst[32]; - unsigned char y_dst[32]; - unsigned char x_src[32]; - unsigned char y_src[32]; - unsigned char d_src[32]; - } ed25519; - unsigned long long buff[512]; - } param; - int rc; - - memset(¶m, 0, sizeof(param)); - - s390x_flip_endian32(param.ed25519.x_src, x_src); - s390x_flip_endian32(param.ed25519.y_src, y_src); - s390x_flip_endian32(param.ed25519.d_src, d_src); - - rc = s390x_pcc(S390X_SCALAR_MULTIPLY_ED25519, ¶m.ed25519) ? 0 : 1; - if (rc == 1) { - s390x_flip_endian32(x_dst, param.ed25519.x_dst); - s390x_flip_endian32(y_dst, param.ed25519.y_dst); - } - - OPENSSL_cleanse(param.ed25519.d_src, sizeof(param.ed25519.d_src)); - return rc; -} - -static int s390x_ed448_mul(unsigned char x_dst[57], - unsigned char y_dst[57], - const unsigned char x_src[57], - const unsigned char y_src[57], - const unsigned char d_src[57]) -{ - union { - struct { - unsigned char x_dst[64]; - unsigned char y_dst[64]; - unsigned char x_src[64]; - unsigned char y_src[64]; - unsigned char d_src[64]; - } ed448; - unsigned long long buff[512]; - } param; - int rc; - - memset(¶m, 0, sizeof(param)); - - memcpy(param.ed448.x_src, x_src, 57); - memcpy(param.ed448.y_src, y_src, 57); - memcpy(param.ed448.d_src, d_src, 57); - s390x_flip_endian64(param.ed448.x_src, param.ed448.x_src); - s390x_flip_endian64(param.ed448.y_src, param.ed448.y_src); - s390x_flip_endian64(param.ed448.d_src, param.ed448.d_src); - - rc = s390x_pcc(S390X_SCALAR_MULTIPLY_ED448, ¶m.ed448) ? 0 : 1; - if (rc == 1) { - s390x_flip_endian64(param.ed448.x_dst, param.ed448.x_dst); - s390x_flip_endian64(param.ed448.y_dst, param.ed448.y_dst); - memcpy(x_dst, param.ed448.x_dst, 57); - memcpy(y_dst, param.ed448.y_dst, 57); - } - - OPENSSL_cleanse(param.ed448.d_src, sizeof(param.ed448.d_src)); - return rc; -} static int s390x_pkey_ecx_keygen25519(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey) { diff --git a/crypto/ec/ecx_s390x.c b/crypto/ec/ecx_s390x.c new file mode 100644 index 00000000..d424d625 --- /dev/null +++ b/crypto/ec/ecx_s390x.c @@ -0,0 +1,217 @@ +/* + * Copyright 2006-2020 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 +#include "internal/cryptlib.h" +#include +#include +#include "crypto/ecx.h" +#include "ec_local.h" +#include "curve448/curve448_local.h" +#include "ecx_backend.h" +#include "s390x_arch.h" +#include "internal/constant_time.h" + +static void s390x_x25519_mod_p(unsigned char u[32]) +{ + unsigned char u_red[32]; + unsigned int c = 0; + int i; + + memcpy(u_red, u, sizeof(u_red)); + + c += (unsigned int)u_red[31] + 19; + u_red[31] = (unsigned char)c; + c >>= 8; + + for (i = 30; i >= 0; i--) { + c += (unsigned int)u_red[i]; + u_red[i] = (unsigned char)c; + c >>= 8; + } + + c = (u_red[0] & 0x80) >> 7; + u_red[0] &= 0x7f; + constant_time_cond_swap_buff(0 - (unsigned char)c, + u, u_red, sizeof(u_red)); +} + +static void s390x_x448_mod_p(unsigned char u[56]) +{ + unsigned char u_red[56]; + unsigned int c = 0; + int i; + + memcpy(u_red, u, sizeof(u_red)); + + c += (unsigned int)u_red[55] + 1; + u_red[55] = (unsigned char)c; + c >>= 8; + + for (i = 54; i >= 28; i--) { + c += (unsigned int)u_red[i]; + u_red[i] = (unsigned char)c; + c >>= 8; + } + + c += (unsigned int)u_red[27] + 1; + u_red[27] = (unsigned char)c; + c >>= 8; + + for (i = 26; i >= 0; i--) { + c += (unsigned int)u_red[i]; + u_red[i] = (unsigned char)c; + c >>= 8; + } + + constant_time_cond_swap_buff(0 - (unsigned char)c, + u, u_red, sizeof(u_red)); +} + +int s390x_x25519_mul(unsigned char u_dst[32], + const unsigned char u_src[32], + const unsigned char d_src[32]) +{ + union { + struct { + unsigned char u_dst[32]; + unsigned char u_src[32]; + unsigned char d_src[32]; + } x25519; + unsigned long long buff[512]; + } param; + int rc; + + memset(¶m, 0, sizeof(param)); + + s390x_flip_endian32(param.x25519.u_src, u_src); + param.x25519.u_src[0] &= 0x7f; + s390x_x25519_mod_p(param.x25519.u_src); + + s390x_flip_endian32(param.x25519.d_src, d_src); + param.x25519.d_src[31] &= 248; + param.x25519.d_src[0] &= 127; + param.x25519.d_src[0] |= 64; + + rc = s390x_pcc(S390X_SCALAR_MULTIPLY_X25519, ¶m.x25519) ? 0 : 1; + if (rc == 1) + s390x_flip_endian32(u_dst, param.x25519.u_dst); + + OPENSSL_cleanse(param.x25519.d_src, sizeof(param.x25519.d_src)); + return rc; +} + +int s390x_x448_mul(unsigned char u_dst[56], + const unsigned char u_src[56], + const unsigned char d_src[56]) +{ + union { + struct { + unsigned char u_dst[64]; + unsigned char u_src[64]; + unsigned char d_src[64]; + } x448; + unsigned long long buff[512]; + } param; + int rc; + + memset(¶m, 0, sizeof(param)); + + memcpy(param.x448.u_src, u_src, 56); + memcpy(param.x448.d_src, d_src, 56); + + s390x_flip_endian64(param.x448.u_src, param.x448.u_src); + s390x_x448_mod_p(param.x448.u_src + 8); + + s390x_flip_endian64(param.x448.d_src, param.x448.d_src); + param.x448.d_src[63] &= 252; + param.x448.d_src[8] |= 128; + + rc = s390x_pcc(S390X_SCALAR_MULTIPLY_X448, ¶m.x448) ? 0 : 1; + if (rc == 1) { + s390x_flip_endian64(param.x448.u_dst, param.x448.u_dst); + memcpy(u_dst, param.x448.u_dst, 56); + } + + OPENSSL_cleanse(param.x448.d_src, sizeof(param.x448.d_src)); + return rc; +} + +int s390x_ed25519_mul(unsigned char x_dst[32], + unsigned char y_dst[32], + const unsigned char x_src[32], + const unsigned char y_src[32], + const unsigned char d_src[32]) +{ + union { + struct { + unsigned char x_dst[32]; + unsigned char y_dst[32]; + unsigned char x_src[32]; + unsigned char y_src[32]; + unsigned char d_src[32]; + } ed25519; + unsigned long long buff[512]; + } param; + int rc; + + memset(¶m, 0, sizeof(param)); + + s390x_flip_endian32(param.ed25519.x_src, x_src); + s390x_flip_endian32(param.ed25519.y_src, y_src); + s390x_flip_endian32(param.ed25519.d_src, d_src); + + rc = s390x_pcc(S390X_SCALAR_MULTIPLY_ED25519, ¶m.ed25519) ? 0 : 1; + if (rc == 1) { + s390x_flip_endian32(x_dst, param.ed25519.x_dst); + s390x_flip_endian32(y_dst, param.ed25519.y_dst); + } + + OPENSSL_cleanse(param.ed25519.d_src, sizeof(param.ed25519.d_src)); + return rc; +} + +int s390x_ed448_mul(unsigned char x_dst[57], + unsigned char y_dst[57], + const unsigned char x_src[57], + const unsigned char y_src[57], + const unsigned char d_src[57]) +{ + union { + struct { + unsigned char x_dst[64]; + unsigned char y_dst[64]; + unsigned char x_src[64]; + unsigned char y_src[64]; + unsigned char d_src[64]; + } ed448; + unsigned long long buff[512]; + } param; + int rc; + + memset(¶m, 0, sizeof(param)); + + memcpy(param.ed448.x_src, x_src, 57); + memcpy(param.ed448.y_src, y_src, 57); + memcpy(param.ed448.d_src, d_src, 57); + s390x_flip_endian64(param.ed448.x_src, param.ed448.x_src); + s390x_flip_endian64(param.ed448.y_src, param.ed448.y_src); + s390x_flip_endian64(param.ed448.d_src, param.ed448.d_src); + + rc = s390x_pcc(S390X_SCALAR_MULTIPLY_ED448, ¶m.ed448) ? 0 : 1; + if (rc == 1) { + s390x_flip_endian64(param.ed448.x_dst, param.ed448.x_dst); + s390x_flip_endian64(param.ed448.y_dst, param.ed448.y_dst); + memcpy(x_dst, param.ed448.x_dst, 57); + memcpy(y_dst, param.ed448.y_dst, 57); + } + + OPENSSL_cleanse(param.ed448.d_src, sizeof(param.ed448.d_src)); + return rc; +} diff --git a/crypto/engine/eng_cnf.c b/crypto/engine/eng_cnf.c index 22198194..de215952 100644 --- a/crypto/engine/eng_cnf.c +++ b/crypto/engine/eng_cnf.c @@ -11,6 +11,8 @@ #include #include +DEFINE_STACK_OF(CONF_VALUE) + /* ENGINE config module */ static const char *skip_dot(const char *name) diff --git a/crypto/engine/eng_dyn.c b/crypto/engine/eng_dyn.c index 15504410..f7595b74 100644 --- a/crypto/engine/eng_dyn.c +++ b/crypto/engine/eng_dyn.c @@ -17,6 +17,8 @@ * prototypes. */ +DEFINE_STACK_OF_STRING() + /* Our ENGINE handlers */ static int dynamic_init(ENGINE *e); static int dynamic_finish(ENGINE *e); diff --git a/crypto/engine/eng_list.c b/crypto/engine/eng_list.c index 4bd00592..167c24cb 100644 --- a/crypto/engine/eng_list.c +++ b/crypto/engine/eng_list.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/crypto/engine/eng_openssl.c b/crypto/engine/eng_openssl.c index 42c71271..8b2b8c1f 100644 --- a/crypto/engine/eng_openssl.c +++ b/crypto/engine/eng_openssl.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/crypto/err/err.c b/crypto/err/err.c index efc62733..9a37c426 100644 --- a/crypto/err/err.c +++ b/crypto/err/err.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/err/err_all.c b/crypto/err/err_all.c index 49d4e361..f16cb692 100644 --- a/crypto/err/err_all.c +++ b/crypto/err/err_all.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/err/err_prn.c b/crypto/err/err_prn.c index 1647d930..5c4ebcbd 100644 --- a/crypto/err/err_prn.c +++ b/crypto/err/err_prn.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/err/openssl.txt b/crypto/err/openssl.txt index 2a0e64e9..044ea94f 100644 --- a/crypto/err/openssl.txt +++ b/crypto/err/openssl.txt @@ -2122,6 +2122,7 @@ CMP_R_MISSING_KEY_INPUT_FOR_CREATING_PROTECTION:130:\ CMP_R_MISSING_KEY_USAGE_DIGITALSIGNATURE:142:missing key usage digitalsignature CMP_R_MISSING_PRIVATE_KEY:131:missing private key CMP_R_MISSING_PROTECTION:143:missing protection +CMP_R_MISSING_REFERENCE_CERT:168:missing reference cert CMP_R_MISSING_SENDER_IDENTIFICATION:111:missing sender identification CMP_R_MISSING_TRUST_STORE:144:missing trust store CMP_R_MULTIPLE_REQUESTS_NOT_SUPPORTED:161:multiple requests not supported @@ -2402,6 +2403,7 @@ EC_R_D2I_ECPKPARAMETERS_FAILURE:117:d2i ecpkparameters failure EC_R_DECODE_ERROR:142:decode error EC_R_DISCRIMINANT_IS_ZERO:118:discriminant is zero EC_R_EC_GROUP_NEW_BY_NAME_FAILURE:119:ec group new by name failure +EC_R_FAILED_MAKING_PUBLIC_KEY:166:failed making public key EC_R_FIELD_TOO_LARGE:143:field too large EC_R_GF2M_NOT_SUPPORTED:147:gf2m not supported EC_R_GROUP2PKPARAMETERS_FAILURE:120:group2pkparameters failure diff --git a/crypto/err/openssl.txt.old b/crypto/err/openssl.txt.old index 12826beb..122542f6 100644 --- a/crypto/err/openssl.txt.old +++ b/crypto/err/openssl.txt.old @@ -2122,6 +2122,7 @@ CMP_R_MISSING_KEY_INPUT_FOR_CREATING_PROTECTION:130:\ CMP_R_MISSING_KEY_USAGE_DIGITALSIGNATURE:142:missing key usage digitalsignature CMP_R_MISSING_PRIVATE_KEY:131:missing private key CMP_R_MISSING_PROTECTION:143:missing protection +CMP_R_MISSING_REFERENCE_CERT:168:missing reference cert CMP_R_MISSING_SENDER_IDENTIFICATION:111:missing sender identification CMP_R_MISSING_TRUST_STORE:144:missing trust store CMP_R_MULTIPLE_REQUESTS_NOT_SUPPORTED:161:multiple requests not supported @@ -2402,6 +2403,7 @@ EC_R_D2I_ECPKPARAMETERS_FAILURE:117:d2i ecpkparameters failure EC_R_DECODE_ERROR:142:decode error EC_R_DISCRIMINANT_IS_ZERO:118:discriminant is zero EC_R_EC_GROUP_NEW_BY_NAME_FAILURE:119:ec group new by name failure +EC_R_FAILED_MAKING_PUBLIC_KEY:166:failed making public key EC_R_FIELD_TOO_LARGE:143:field too large EC_R_GF2M_NOT_SUPPORTED:147:gf2m not supported EC_R_GROUP2PKPARAMETERS_FAILURE:120:group2pkparameters failure @@ -3013,6 +3015,7 @@ SM2_R_INVALID_ENCODING:104:invalid encoding SM2_R_INVALID_FIELD:105:invalid field SM2_R_NO_PARAMETERS_SET:109:no parameters set SM2_R_USER_ID_TOO_LARGE:106:user id too large +SSL_R_ALGORITHM_FETCH_FAILED:295:algorithm fetch failed SSL_R_APPLICATION_DATA_AFTER_CLOSE_NOTIFY:291:\ application data after close notify SSL_R_APP_DATA_IN_HANDSHAKE:100:app data in handshake @@ -3119,7 +3122,6 @@ SSL_R_EXTENSION_NOT_RECEIVED:279:extension not received SSL_R_EXTRA_DATA_IN_MESSAGE:153:extra data in message SSL_R_EXT_LENGTH_MISMATCH:163:ext length mismatch SSL_R_FAILED_TO_INIT_ASYNC:405:failed to init async -SSL_R_ALGORITHM_FETCH_FAILED:295:algorithm fetch failed SSL_R_FRAGMENTED_CLIENT_HELLO:401:fragmented client hello SSL_R_GOT_A_FIN_BEFORE_A_CCS:154:got a fin before a ccs SSL_R_HTTPS_PROXY_REQUEST:155:https proxy request diff --git a/crypto/ess/ess_lib.c b/crypto/ess/ess_lib.c index a2d6bfe7..9d9defa9 100644 --- a/crypto/ess/ess_lib.c +++ b/crypto/ess/ess_lib.c @@ -13,6 +13,11 @@ #include #include "crypto/ess.h" +DEFINE_STACK_OF(ESS_CERT_ID) +DEFINE_STACK_OF(ESS_CERT_ID_V2) +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(GENERAL_NAME) + static ESS_CERT_ID *ESS_CERT_ID_new_init(X509 *cert, int issuer_needed); static ESS_CERT_ID_V2 *ESS_CERT_ID_V2_new_init(const EVP_MD *hash_alg, X509 *cert, int issuer_needed); diff --git a/crypto/evp/bio_b64.c b/crypto/evp/bio_b64.c index 5f9d3f09..e13d1196 100644 --- a/crypto/evp/bio_b64.c +++ b/crypto/evp/bio_b64.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/evp/bio_enc.c b/crypto/evp/bio_enc.c index e780135b..046e5c0c 100644 --- a/crypto/evp/bio_enc.c +++ b/crypto/evp/bio_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/evp/bio_md.c b/crypto/evp/bio_md.c index dbc9f395..f7970a91 100644 --- a/crypto/evp/bio_md.c +++ b/crypto/evp/bio_md.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/evp/bio_ok.c b/crypto/evp/bio_ok.c index 9129fe03..492cbfe2 100644 --- a/crypto/evp/bio_ok.c +++ b/crypto/evp/bio_ok.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/evp/build.info b/crypto/evp/build.info index 846cd655..82669c18 100644 --- a/crypto/evp/build.info +++ b/crypto/evp/build.info @@ -6,14 +6,14 @@ $COMMON=digest.c evp_enc.c evp_lib.c evp_fetch.c cmeth_lib.c evp_utils.c \ SOURCE[../../libcrypto]=$COMMON\ encode.c evp_key.c evp_cnf.c \ - e_des.c e_bf.c e_idea.c e_des3.c e_camellia.c\ - e_rc4.c e_aes.c names.c e_seed.c e_aria.c e_sm4.c \ + e_des.c e_bf.c e_idea.c e_des3.c \ + e_rc4.c e_aes.c names.c e_aria.c e_sm4.c \ e_xcbc_d.c e_rc2.c e_cast.c e_rc5.c m_null.c \ - p_open.c p_seal.c p_sign.c p_verify.c \ + p_seal.c p_sign.c p_verify.c \ bio_md.c bio_b64.c bio_enc.c evp_err.c e_null.c \ c_allc.c c_alld.c bio_ok.c \ evp_pkey.c evp_pbe.c p5_crpt.c p5_crpt2.c pbe_scrypt.c \ - pkey_kdf.c e_old.c pmeth_fn.c\ + pkey_kdf.c pmeth_fn.c\ e_aes_cbc_hmac_sha1.c e_aes_cbc_hmac_sha256.c e_rc4_hmac_md5.c \ e_chacha20_poly1305.c \ pkey_mac.c \ @@ -22,7 +22,12 @@ SOURCE[../../libcrypto]=$COMMON\ IF[{- !$disabled{'deprecated-3.0'} -}] SOURCE[../../libcrypto]=p_enc.c p_dec.c ENDIF - +IF[{- !$disabled{'deprecated-0.9.8'} -}] + SOURCE[../../libcrypto]=e_old.c +ENDIF +IF[{- !$disabled{'rsa'} -}] + SOURCE[../../libcrypto]=p_open.c +ENDIF IF[{- !$disabled{md2} -}] SOURCE[../../libcrypto]=legacy_md2.c ENDIF @@ -44,6 +49,13 @@ ENDIF IF[{- !$disabled{rmd160} -}] SOURCE[../../libcrypto]=legacy_ripemd.c ENDIF +IF[{- !$disabled{seed} -}] + SOURCE[../../libcrypto]=e_seed.c +ENDIF +IF[{- !$disabled{camellia} -}] + SOURCE[../../libcrypto]=e_camellia.c + INCLUDE[e_camellia.o]=.. ../modes +ENDIF SOURCE[../../providers/libfips.a]=$COMMON @@ -51,7 +63,6 @@ INCLUDE[e_aes.o]=.. ../modes INCLUDE[e_aes_cbc_hmac_sha1.o]=../modes INCLUDE[e_aes_cbc_hmac_sha256.o]=../modes INCLUDE[e_aria.o]=.. ../modes -INCLUDE[e_camellia.o]=.. ../modes INCLUDE[e_sm4.o]=.. ../modes INCLUDE[e_des.o]=.. INCLUDE[e_des3.o]=.. diff --git a/crypto/evp/digest.c b/crypto/evp/digest.c index 040a92dc..fba53152 100644 --- a/crypto/evp/digest.c +++ b/crypto/evp/digest.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/evp/e_aes.c b/crypto/evp/e_aes.c index 0d5418b0..39c53b55 100644 --- a/crypto/evp/e_aes.c +++ b/crypto/evp/e_aes.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 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 diff --git a/crypto/evp/e_aes_cbc_hmac_sha1.c b/crypto/evp/e_aes_cbc_hmac_sha1.c index 35b16463..aa3b9d35 100644 --- a/crypto/evp/e_aes_cbc_hmac_sha1.c +++ b/crypto/evp/e_aes_cbc_hmac_sha1.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2020 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 diff --git a/crypto/evp/e_aes_cbc_hmac_sha256.c b/crypto/evp/e_aes_cbc_hmac_sha256.c index 27cc59bd..72508c98 100644 --- a/crypto/evp/e_aes_cbc_hmac_sha256.c +++ b/crypto/evp/e_aes_cbc_hmac_sha256.c @@ -1,5 +1,5 @@ /* - * Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2013-2020 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 diff --git a/crypto/evp/e_bf.c b/crypto/evp/e_bf.c index 57976b8b..c9ca56dc 100644 --- a/crypto/evp/e_bf.c +++ b/crypto/evp/e_bf.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/evp/e_camellia.c b/crypto/evp/e_camellia.c index b0638219..e9a29930 100644 --- a/crypto/evp/e_camellia.c +++ b/crypto/evp/e_camellia.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 @@ -14,18 +14,15 @@ #include "internal/deprecated.h" #include -#ifdef OPENSSL_NO_CAMELLIA -NON_EMPTY_TRANSLATION_UNIT -#else -# include -# include -# include -# include -# include -# include "crypto/evp.h" -# include "crypto/modes.h" -# include "crypto/cmll_platform.h" +#include +#include +#include +#include +#include +#include "crypto/evp.h" +#include "crypto/modes.h" +#include "crypto/cmll_platform.h" static int camellia_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, const unsigned char *iv, int enc); @@ -40,15 +37,15 @@ typedef struct { } stream; } EVP_CAMELLIA_KEY; -# define MAXBITCHUNK ((size_t)1<<(sizeof(size_t)*8-4)) +#define MAXBITCHUNK ((size_t)1<<(sizeof(size_t)*8-4)) /* Attribute operation for Camellia */ -# define data(ctx) EVP_C_DATA(EVP_CAMELLIA_KEY,ctx) +#define data(ctx) EVP_C_DATA(EVP_CAMELLIA_KEY,ctx) -# if defined(AES_ASM) && (defined(__sparc) || defined(__sparc__)) +#if defined(AES_ASM) && (defined(__sparc) || defined(__sparc__)) /* ---------^^^ this is not a typo, just a way to detect that * assembler support was in general requested... */ -# include "sparc_arch.h" +# include "sparc_arch.h" static int cmll_t4_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, @@ -114,35 +111,35 @@ static int cmll_t4_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, return 1; } -# define cmll_t4_cbc_cipher camellia_cbc_cipher +# define cmll_t4_cbc_cipher camellia_cbc_cipher static int cmll_t4_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, size_t len); -# define cmll_t4_ecb_cipher camellia_ecb_cipher +# define cmll_t4_ecb_cipher camellia_ecb_cipher static int cmll_t4_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, size_t len); -# define cmll_t4_ofb_cipher camellia_ofb_cipher +# define cmll_t4_ofb_cipher camellia_ofb_cipher static int cmll_t4_ofb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, size_t len); -# define cmll_t4_cfb_cipher camellia_cfb_cipher +# define cmll_t4_cfb_cipher camellia_cfb_cipher static int cmll_t4_cfb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, size_t len); -# define cmll_t4_cfb8_cipher camellia_cfb8_cipher +# define cmll_t4_cfb8_cipher camellia_cfb8_cipher static int cmll_t4_cfb8_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, size_t len); -# define cmll_t4_cfb1_cipher camellia_cfb1_cipher +# define cmll_t4_cfb1_cipher camellia_cfb1_cipher static int cmll_t4_cfb1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, size_t len); -# define cmll_t4_ctr_cipher camellia_ctr_cipher +# define cmll_t4_ctr_cipher camellia_ctr_cipher static int cmll_t4_ctr_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, size_t len); -# define BLOCK_CIPHER_generic(nid,keylen,blocksize,ivlen,nmode,mode,MODE,flags) \ +# define BLOCK_CIPHER_generic(nid,keylen,blocksize,ivlen,nmode,mode,MODE,flags) \ static const EVP_CIPHER cmll_t4_##keylen##_##mode = { \ nid##_##keylen##_##nmode,blocksize,keylen/8,ivlen, \ flags|EVP_CIPH_##MODE##_MODE, \ @@ -163,9 +160,9 @@ static const EVP_CIPHER camellia_##keylen##_##mode = { \ const EVP_CIPHER *EVP_camellia_##keylen##_##mode(void) \ { return SPARC_CMLL_CAPABLE?&cmll_t4_##keylen##_##mode:&camellia_##keylen##_##mode; } -# else +#else -# define BLOCK_CIPHER_generic(nid,keylen,blocksize,ivlen,nmode,mode,MODE,flags) \ +# define BLOCK_CIPHER_generic(nid,keylen,blocksize,ivlen,nmode,mode,MODE,flags) \ static const EVP_CIPHER camellia_##keylen##_##mode = { \ nid##_##keylen##_##nmode,blocksize,keylen/8,ivlen, \ flags|EVP_CIPH_##MODE##_MODE, \ @@ -177,9 +174,9 @@ static const EVP_CIPHER camellia_##keylen##_##mode = { \ const EVP_CIPHER *EVP_camellia_##keylen##_##mode(void) \ { return &camellia_##keylen##_##mode; } -# endif +#endif -# define BLOCK_CIPHER_generic_pack(nid,keylen,flags) \ +#define BLOCK_CIPHER_generic_pack(nid,keylen,flags) \ BLOCK_CIPHER_generic(nid,keylen,16,16,cbc,cbc,CBC,flags|EVP_CIPH_FLAG_DEFAULT_ASN1) \ BLOCK_CIPHER_generic(nid,keylen,16,0,ecb,ecb,ECB,flags|EVP_CIPH_FLAG_DEFAULT_ASN1) \ BLOCK_CIPHER_generic(nid,keylen,1,16,ofb128,ofb,OFB,flags|EVP_CIPH_FLAG_DEFAULT_ASN1) \ @@ -342,4 +339,3 @@ static int camellia_ctr_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, BLOCK_CIPHER_generic_pack(NID_camellia, 128, 0) BLOCK_CIPHER_generic_pack(NID_camellia, 192, 0) BLOCK_CIPHER_generic_pack(NID_camellia, 256, 0) -#endif diff --git a/crypto/evp/e_cast.c b/crypto/evp/e_cast.c index 5703f7fa..9ee06d06 100644 --- a/crypto/evp/e_cast.c +++ b/crypto/evp/e_cast.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/evp/e_des.c b/crypto/evp/e_des.c index a72ba85f..9d8af99d 100644 --- a/crypto/evp/e_des.c +++ b/crypto/evp/e_des.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/evp/e_des3.c b/crypto/evp/e_des3.c index 40036687..3f7802ef 100644 --- a/crypto/evp/e_des3.c +++ b/crypto/evp/e_des3.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/evp/e_idea.c b/crypto/evp/e_idea.c index 97170200..43665887 100644 --- a/crypto/evp/e_idea.c +++ b/crypto/evp/e_idea.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/evp/e_old.c b/crypto/evp/e_old.c index 82e0c128..e9c9f221 100644 --- a/crypto/evp/e_old.c +++ b/crypto/evp/e_old.c @@ -1,5 +1,5 @@ /* - * Copyright 2004-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2004-2020 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 @@ -8,11 +8,8 @@ */ #include -#ifdef OPENSSL_NO_DEPRECATED_0_9_8 -NON_EMPTY_TRANSLATION_UNIT -#else -# include +#include /* * Define some deprecated functions, so older programs don't crash and burn @@ -21,93 +18,91 @@ NON_EMPTY_TRANSLATION_UNIT * location, not by name. */ -# ifndef OPENSSL_NO_BF -# undef EVP_bf_cfb +#ifndef OPENSSL_NO_BF +# undef EVP_bf_cfb const EVP_CIPHER *EVP_bf_cfb(void); const EVP_CIPHER *EVP_bf_cfb(void) { return EVP_bf_cfb64(); } -# endif +#endif -# ifndef OPENSSL_NO_DES -# undef EVP_des_cfb +#ifndef OPENSSL_NO_DES +# undef EVP_des_cfb const EVP_CIPHER *EVP_des_cfb(void); const EVP_CIPHER *EVP_des_cfb(void) { return EVP_des_cfb64(); } -# undef EVP_des_ede3_cfb +# undef EVP_des_ede3_cfb const EVP_CIPHER *EVP_des_ede3_cfb(void); const EVP_CIPHER *EVP_des_ede3_cfb(void) { return EVP_des_ede3_cfb64(); } -# undef EVP_des_ede_cfb +# undef EVP_des_ede_cfb const EVP_CIPHER *EVP_des_ede_cfb(void); const EVP_CIPHER *EVP_des_ede_cfb(void) { return EVP_des_ede_cfb64(); } -# endif +#endif -# ifndef OPENSSL_NO_IDEA -# undef EVP_idea_cfb +#ifndef OPENSSL_NO_IDEA +# undef EVP_idea_cfb const EVP_CIPHER *EVP_idea_cfb(void); const EVP_CIPHER *EVP_idea_cfb(void) { return EVP_idea_cfb64(); } -# endif +#endif -# ifndef OPENSSL_NO_RC2 -# undef EVP_rc2_cfb +#ifndef OPENSSL_NO_RC2 +# undef EVP_rc2_cfb const EVP_CIPHER *EVP_rc2_cfb(void); const EVP_CIPHER *EVP_rc2_cfb(void) { return EVP_rc2_cfb64(); } -# endif +#endif -# ifndef OPENSSL_NO_CAST -# undef EVP_cast5_cfb +#ifndef OPENSSL_NO_CAST +# undef EVP_cast5_cfb const EVP_CIPHER *EVP_cast5_cfb(void); const EVP_CIPHER *EVP_cast5_cfb(void) { return EVP_cast5_cfb64(); } -# endif +#endif -# ifndef OPENSSL_NO_RC5 -# undef EVP_rc5_32_12_16_cfb +#ifndef OPENSSL_NO_RC5 +# undef EVP_rc5_32_12_16_cfb const EVP_CIPHER *EVP_rc5_32_12_16_cfb(void); const EVP_CIPHER *EVP_rc5_32_12_16_cfb(void) { return EVP_rc5_32_12_16_cfb64(); } -# endif +#endif -# undef EVP_aes_128_cfb +#undef EVP_aes_128_cfb const EVP_CIPHER *EVP_aes_128_cfb(void); const EVP_CIPHER *EVP_aes_128_cfb(void) { return EVP_aes_128_cfb128(); } -# undef EVP_aes_192_cfb +#undef EVP_aes_192_cfb const EVP_CIPHER *EVP_aes_192_cfb(void); const EVP_CIPHER *EVP_aes_192_cfb(void) { return EVP_aes_192_cfb128(); } -# undef EVP_aes_256_cfb +#undef EVP_aes_256_cfb const EVP_CIPHER *EVP_aes_256_cfb(void); const EVP_CIPHER *EVP_aes_256_cfb(void) { return EVP_aes_256_cfb128(); } - -#endif diff --git a/crypto/evp/e_rc2.c b/crypto/evp/e_rc2.c index a3c09c86..88d8e524 100644 --- a/crypto/evp/e_rc2.c +++ b/crypto/evp/e_rc2.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/evp/e_rc4.c b/crypto/evp/e_rc4.c index f75e2d71..10b83aea 100644 --- a/crypto/evp/e_rc4.c +++ b/crypto/evp/e_rc4.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/evp/e_rc4_hmac_md5.c b/crypto/evp/e_rc4_hmac_md5.c index d3b1dfe2..098aa3ee 100644 --- a/crypto/evp/e_rc4_hmac_md5.c +++ b/crypto/evp/e_rc4_hmac_md5.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2020 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 diff --git a/crypto/evp/e_rc5.c b/crypto/evp/e_rc5.c index 96066e85..40691d42 100644 --- a/crypto/evp/e_rc5.c +++ b/crypto/evp/e_rc5.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/evp/e_seed.c b/crypto/evp/e_seed.c index 224003d9..3f223ce9 100644 --- a/crypto/evp/e_seed.c +++ b/crypto/evp/e_seed.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 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 @@ -14,15 +14,12 @@ #include "internal/deprecated.h" #include -#ifdef OPENSSL_NO_SEED -NON_EMPTY_TRANSLATION_UNIT -#else -# include -# include -# include -# include -# include -# include "crypto/evp.h" +#include +#include +#include +#include +#include +#include "crypto/evp.h" static int seed_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, const unsigned char *iv, int enc); @@ -41,5 +38,3 @@ static int seed_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, SEED_set_key(key, &EVP_C_DATA(EVP_SEED_KEY,ctx)->ks); return 1; } - -#endif diff --git a/crypto/evp/e_xcbc_d.c b/crypto/evp/e_xcbc_d.c index d7cd25c2..f2b540e7 100644 --- a/crypto/evp/e_xcbc_d.c +++ b/crypto/evp/e_xcbc_d.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/evp/evp_cnf.c b/crypto/evp/evp_cnf.c index 7cfa0a27..fa35fd16 100644 --- a/crypto/evp/evp_cnf.c +++ b/crypto/evp/evp_cnf.c @@ -15,6 +15,8 @@ #include #include +DEFINE_STACK_OF(CONF_VALUE) + /* Algorithm configuration module. */ /* TODO(3.0): the config module functions should be passed a library context */ diff --git a/crypto/evp/evp_enc.c b/crypto/evp/evp_enc.c index 4687a2b8..f6d7e87f 100644 --- a/crypto/evp/evp_enc.c +++ b/crypto/evp/evp_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/evp/evp_fetch.c b/crypto/evp/evp_fetch.c index e808bf81..ca06b578 100644 --- a/crypto/evp/evp_fetch.c +++ b/crypto/evp/evp_fetch.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 @@ -73,8 +73,8 @@ static OSSL_METHOD_STORE *get_evp_method_store(OPENSSL_CTX *libctx) } /* - * To identity the method in the EVP method store, we mix the name identity - * with the operation identity, with the assumption that we don't have more + * To identify the method in the EVP method store, we mix the name identity + * with the operation identity, under the assumption that we don't have more * than 2^24 names or more than 2^8 operation types. * * The resulting identity is a 32-bit integer, composed like this: @@ -83,10 +83,10 @@ static OSSL_METHOD_STORE *get_evp_method_store(OPENSSL_CTX *libctx) * | name identity | op id | * +------------------------+--------+ */ -static uint32_t evp_method_id(unsigned int operation_id, int name_id) +static uint32_t evp_method_id(int name_id, unsigned int operation_id) { - if (!ossl_assert(name_id < (1 << 24) || operation_id < (1 << 8)) - || !ossl_assert(name_id > 0 && operation_id > 0)) + if (!ossl_assert(name_id > 0 && name_id < (1 << 24)) + || !ossl_assert(operation_id > 0 && operation_id < (1 << 8))) return 0; return ((name_id << 8) & 0xFFFFFF00) | (operation_id & 0x000000FF); } @@ -116,7 +116,7 @@ static void *get_evp_method_from_store(OPENSSL_CTX *libctx, void *store, } if (name_id == 0 - || (meth_id = evp_method_id(methdata->operation_id, name_id)) == 0) + || (meth_id = evp_method_id(name_id, methdata->operation_id)) == 0) return NULL; if (store == NULL @@ -154,7 +154,7 @@ static int put_evp_method_in_store(OPENSSL_CTX *libctx, void *store, if ((namemap = ossl_namemap_stored(libctx)) == NULL || (name_id = ossl_namemap_name2num_n(namemap, names, l)) == 0 - || (meth_id = evp_method_id(operation_id, name_id)) == 0) + || (meth_id = evp_method_id(name_id, operation_id)) == 0) return 0; if (store == NULL @@ -242,7 +242,7 @@ inner_evp_generic_fetch(OPENSSL_CTX *libctx, int operation_id, * about 2^8) or too many names (more than about 2^24). In that case, * we can't create any new method. */ - if (name_id != 0 && (meth_id = evp_method_id(operation_id, name_id)) == 0) + if (name_id != 0 && (meth_id = evp_method_id(name_id, operation_id)) == 0) return NULL; if (meth_id == 0 @@ -277,7 +277,7 @@ inner_evp_generic_fetch(OPENSSL_CTX *libctx, int operation_id, */ if (name_id == 0) name_id = ossl_namemap_name2num(namemap, name); - meth_id = evp_method_id(operation_id, name_id); + meth_id = evp_method_id(name_id, operation_id); ossl_method_store_cache_set(store, meth_id, properties, method, up_ref_method, free_method); } diff --git a/crypto/evp/evp_lib.c b/crypto/evp/evp_lib.c index 2b512671..d5f758fb 100644 --- a/crypto/evp/evp_lib.c +++ b/crypto/evp/evp_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -76,13 +76,15 @@ int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type) goto err; /* ... but, we should get a return size too! */ - if (params[0].return_size != 0 + if (OSSL_PARAM_modified(params) + && params[0].return_size != 0 && (der = OPENSSL_malloc(params[0].return_size)) != NULL) { params[0].data = der; params[0].data_size = params[0].return_size; - params[0].return_size = 0; + OSSL_PARAM_set_all_unmodified(params); derp = der; if (EVP_CIPHER_CTX_get_params(c, params) + && OSSL_PARAM_modified(params) && d2i_ASN1_TYPE(&type, (const unsigned char **)&derp, params[0].return_size) != NULL) { ret = 1; diff --git a/crypto/evp/evp_local.h b/crypto/evp/evp_local.h index 40f02b34..4c822aa7 100644 --- a/crypto/evp/evp_local.h +++ b/crypto/evp/evp_local.h @@ -1,5 +1,5 @@ /* - * Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2020 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 diff --git a/crypto/evp/evp_pkey.c b/crypto/evp/evp_pkey.c index a11b856c..cfe0544e 100644 --- a/crypto/evp/evp_pkey.c +++ b/crypto/evp/evp_pkey.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2020 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 @@ -18,7 +18,8 @@ /* Extract a private key from a PKCS8 structure */ -EVP_PKEY *EVP_PKCS82PKEY(const PKCS8_PRIV_KEY_INFO *p8) +EVP_PKEY *evp_pkcs82pkey_int(const PKCS8_PRIV_KEY_INFO *p8, OPENSSL_CTX *libctx, + const char *propq) { EVP_PKEY *pkey = NULL; const ASN1_OBJECT *algoid; @@ -28,24 +29,29 @@ EVP_PKEY *EVP_PKCS82PKEY(const PKCS8_PRIV_KEY_INFO *p8) return NULL; if ((pkey = EVP_PKEY_new()) == NULL) { - EVPerr(EVP_F_EVP_PKCS82PKEY, ERR_R_MALLOC_FAILURE); + EVPerr(0, ERR_R_MALLOC_FAILURE); return NULL; } if (!EVP_PKEY_set_type(pkey, OBJ_obj2nid(algoid))) { - EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM); + EVPerr(0, EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM); i2t_ASN1_OBJECT(obj_tmp, 80, algoid); ERR_add_error_data(2, "TYPE=", obj_tmp); goto error; } - if (pkey->ameth->priv_decode) { + if (pkey->ameth->priv_decode_with_libctx != NULL) { + if (!pkey->ameth->priv_decode_with_libctx(pkey, p8, libctx, propq)) { + EVPerr(0, EVP_R_PRIVATE_KEY_DECODE_ERROR); + goto error; + } + } else if (pkey->ameth->priv_decode != NULL) { if (!pkey->ameth->priv_decode(pkey, p8)) { - EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_PRIVATE_KEY_DECODE_ERROR); + EVPerr(0, EVP_R_PRIVATE_KEY_DECODE_ERROR); goto error; } } else { - EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_METHOD_NOT_SUPPORTED); + EVPerr(0, EVP_R_METHOD_NOT_SUPPORTED); goto error; } @@ -56,6 +62,11 @@ EVP_PKEY *EVP_PKCS82PKEY(const PKCS8_PRIV_KEY_INFO *p8) return NULL; } +EVP_PKEY *EVP_PKCS82PKEY(const PKCS8_PRIV_KEY_INFO *p8) +{ + return evp_pkcs82pkey_int(p8, NULL, NULL); +} + /* Turn a private key into a PKCS8 structure */ PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(const EVP_PKEY *pkey) diff --git a/crypto/evp/exchange.c b/crypto/evp/exchange.c index 3e66e721..8b2c0772 100644 --- a/crypto/evp/exchange.c +++ b/crypto/evp/exchange.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/crypto/evp/kdf_lib.c b/crypto/evp/kdf_lib.c index 84dc9108..d22bb39c 100644 --- a/crypto/evp/kdf_lib.c +++ b/crypto/evp/kdf_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2018-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2018-2019, Oracle and/or its affiliates. All rights reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/crypto/evp/keymgmt_lib.c b/crypto/evp/keymgmt_lib.c index 6c66bfa7..3493ceb3 100644 --- a/crypto/evp/keymgmt_lib.c +++ b/crypto/evp/keymgmt_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 @@ -412,3 +412,49 @@ void *evp_keymgmt_util_gen(EVP_PKEY *target, EVP_KEYMGMT *keymgmt, return keydata; } + +/* + * Returns the same numbers as EVP_PKEY_get_default_digest_name() + * When the string from the EVP_KEYMGMT implementation is "", we use + * SN_undef, since that corresponds to what EVP_PKEY_get_default_nid() + * returns for no digest. + */ +int evp_keymgmt_util_get_deflt_digest_name(EVP_KEYMGMT *keymgmt, + void *keydata, + char *mdname, size_t mdname_sz) +{ + OSSL_PARAM params[3]; + char mddefault[100] = ""; + char mdmandatory[100] = ""; + char *result = NULL; + int rv = -2; + + params[0] = + OSSL_PARAM_construct_utf8_string(OSSL_PKEY_PARAM_DEFAULT_DIGEST, + mddefault, sizeof(mddefault)); + params[1] = + OSSL_PARAM_construct_utf8_string(OSSL_PKEY_PARAM_MANDATORY_DIGEST, + mdmandatory, + sizeof(mdmandatory)); + params[2] = OSSL_PARAM_construct_end(); + + if (!evp_keymgmt_get_params(keymgmt, keydata, params)) + return 0; + + if (OSSL_PARAM_modified(params + 1)) { + if (params[1].return_size <= 1) /* Only a NUL byte */ + result = SN_undef; + else + result = mdmandatory; + rv = 2; + } else if (OSSL_PARAM_modified(params)) { + if (params[0].return_size <= 1) /* Only a NUL byte */ + result = SN_undef; + else + result = mddefault; + rv = 1; + } + if (rv > 0) + OPENSSL_strlcpy(mdname, result, mdname_sz); + return rv; +} diff --git a/crypto/evp/keymgmt_meth.c b/crypto/evp/keymgmt_meth.c index 7ea414e8..172dd21a 100644 --- a/crypto/evp/keymgmt_meth.c +++ b/crypto/evp/keymgmt_meth.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 @@ -313,8 +313,15 @@ void *evp_keymgmt_gen_init(const EVP_KEYMGMT *keymgmt, int selection) int evp_keymgmt_gen_set_template(const EVP_KEYMGMT *keymgmt, void *genctx, void *template) { + /* + * It's arguable if we actually should return success in this case, as + * it allows the caller to set a template key, which is then ignored. + * However, this is how the legacy methods (EVP_PKEY_METHOD) operate, + * so we do this in the interest of backward compatibility. + * TODO(3.0) Investigate if we should change this behaviour. + */ if (keymgmt->gen_set_template == NULL) - return 0; + return 1; return keymgmt->gen_set_template(genctx, template); } diff --git a/crypto/evp/legacy_md2.c b/crypto/evp/legacy_md2.c index ec6e0a5f..d22b3eb6 100644 --- a/crypto/evp/legacy_md2.c +++ b/crypto/evp/legacy_md2.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 diff --git a/crypto/evp/legacy_md4.c b/crypto/evp/legacy_md4.c index 4f91a9b2..f4351ffb 100644 --- a/crypto/evp/legacy_md4.c +++ b/crypto/evp/legacy_md4.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 diff --git a/crypto/evp/legacy_md5.c b/crypto/evp/legacy_md5.c index 3ca53056..32591791 100644 --- a/crypto/evp/legacy_md5.c +++ b/crypto/evp/legacy_md5.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 diff --git a/crypto/evp/legacy_md5_sha1.c b/crypto/evp/legacy_md5_sha1.c index 9910892a..a332e299 100644 --- a/crypto/evp/legacy_md5_sha1.c +++ b/crypto/evp/legacy_md5_sha1.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 diff --git a/crypto/evp/legacy_mdc2.c b/crypto/evp/legacy_mdc2.c index 9499db78..2593124d 100644 --- a/crypto/evp/legacy_mdc2.c +++ b/crypto/evp/legacy_mdc2.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 diff --git a/crypto/evp/legacy_ripemd.c b/crypto/evp/legacy_ripemd.c index fd1739c7..92c814ca 100644 --- a/crypto/evp/legacy_ripemd.c +++ b/crypto/evp/legacy_ripemd.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/evp/legacy_sha.c b/crypto/evp/legacy_sha.c index 6d3bc0fb..188f3e34 100644 --- a/crypto/evp/legacy_sha.c +++ b/crypto/evp/legacy_sha.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/crypto/evp/legacy_wp.c b/crypto/evp/legacy_wp.c index 38f82a76..a85c8ba7 100644 --- a/crypto/evp/legacy_wp.c +++ b/crypto/evp/legacy_wp.c @@ -1,5 +1,5 @@ /* - * Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2005-2020 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 diff --git a/crypto/evp/m_sigver.c b/crypto/evp/m_sigver.c index 8dd4207d..5f2e27ed 100644 --- a/crypto/evp/m_sigver.c +++ b/crypto/evp/m_sigver.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 @@ -152,10 +152,16 @@ static int do_sigver_init(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, if (mdname == NULL) mdname = canon_mdname(EVP_MD_name(type)); } else { - if (mdname == NULL - && EVP_PKEY_get_default_digest_name(locpctx->pkey, locmdname, - sizeof(locmdname))) - mdname = canon_mdname(locmdname); + if (mdname == NULL) { + if (evp_keymgmt_util_get_deflt_digest_name(tmp_keymgmt, provkey, + locmdname, + sizeof(locmdname)) > 0) { + mdname = canon_mdname(locmdname); + } else { + EVPerr(EVP_F_DO_SIGVER_INIT, EVP_R_NO_DEFAULT_DIGEST); + return 0; + } + } if (mdname != NULL) { /* diff --git a/crypto/evp/mac_lib.c b/crypto/evp/mac_lib.c index bf52aaff..b7bfe892 100644 --- a/crypto/evp/mac_lib.c +++ b/crypto/evp/mac_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2018-2020 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 diff --git a/crypto/evp/p5_crpt.c b/crypto/evp/p5_crpt.c index 6218c17c..4e960375 100644 --- a/crypto/evp/p5_crpt.c +++ b/crypto/evp/p5_crpt.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2020 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 diff --git a/crypto/evp/p5_crpt2.c b/crypto/evp/p5_crpt2.c index aa8ab987..6e89ffd9 100644 --- a/crypto/evp/p5_crpt2.c +++ b/crypto/evp/p5_crpt2.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2020 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 diff --git a/crypto/evp/p_dec.c b/crypto/evp/p_dec.c index d1d8b0b5..c1ac0f7e 100644 --- a/crypto/evp/p_dec.c +++ b/crypto/evp/p_dec.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/evp/p_enc.c b/crypto/evp/p_enc.c index 4c169857..09dea892 100644 --- a/crypto/evp/p_enc.c +++ b/crypto/evp/p_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/evp/p_lib.c b/crypto/evp/p_lib.c index 9f04c723..0b75777a 100644 --- a/crypto/evp/p_lib.c +++ b/crypto/evp/p_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -36,6 +36,7 @@ #include "internal/evp.h" #include "internal/provider.h" #include "evp_local.h" +DEFINE_STACK_OF(X509_ATTRIBUTE) #include "crypto/ec.h" @@ -627,14 +628,6 @@ RSA *EVP_PKEY_get1_RSA(EVP_PKEY *pkey) # endif # ifndef OPENSSL_NO_DSA -int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, DSA *key) -{ - int ret = EVP_PKEY_assign_DSA(pkey, key); - if (ret) - DSA_up_ref(key); - return ret; -} - DSA *EVP_PKEY_get0_DSA(const EVP_PKEY *pkey) { if (!evp_pkey_downgrade((EVP_PKEY *)pkey)) { @@ -648,6 +641,13 @@ DSA *EVP_PKEY_get0_DSA(const EVP_PKEY *pkey) return pkey->pkey.dsa; } +int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, DSA *key) +{ + int ret = EVP_PKEY_assign_DSA(pkey, key); + if (ret) + DSA_up_ref(key); + return ret; +} DSA *EVP_PKEY_get1_DSA(EVP_PKEY *pkey) { DSA *ret = EVP_PKEY_get0_DSA(pkey); @@ -655,10 +655,11 @@ DSA *EVP_PKEY_get1_DSA(EVP_PKEY *pkey) DSA_up_ref(ret); return ret; } -# endif +# endif /* OPENSSL_NO_DSA */ +#endif /* FIPS_MODE */ +#ifndef FIPS_MODE # ifndef OPENSSL_NO_EC - int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, EC_KEY *key) { int ret = EVP_PKEY_assign_EC_KEY(pkey, key); @@ -1007,28 +1008,10 @@ int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid) int EVP_PKEY_get_default_digest_name(EVP_PKEY *pkey, char *mdname, size_t mdname_sz) { - if (pkey->ameth == NULL) { - OSSL_PARAM params[3]; - char mddefault[100] = ""; - char mdmandatory[100] = ""; - - params[0] = - OSSL_PARAM_construct_utf8_string(OSSL_PKEY_PARAM_DEFAULT_DIGEST, - mddefault, sizeof(mddefault)); - params[1] = - OSSL_PARAM_construct_utf8_string(OSSL_PKEY_PARAM_MANDATORY_DIGEST, - mdmandatory, - sizeof(mdmandatory)); - params[2] = OSSL_PARAM_construct_end(); - if (!evp_keymgmt_get_params(pkey->keymgmt, pkey->keydata, params)) - return 0; - if (mdmandatory[0] != '\0') { - OPENSSL_strlcpy(mdname, mdmandatory, mdname_sz); - return 2; - } - OPENSSL_strlcpy(mdname, mddefault, mdname_sz); - return 1; - } + if (pkey->ameth == NULL) + return evp_keymgmt_util_get_deflt_digest_name(pkey->keymgmt, + pkey->keydata, + mdname, mdname_sz); { int nid = NID_undef; @@ -1568,24 +1551,38 @@ int evp_pkey_downgrade(EVP_PKEY *pk) if (pk->ameth->import_from == NULL) { ERR_raise_data(ERR_LIB_EVP, EVP_R_NO_IMPORT_FUNCTION, "key type = %s", keytype); - } else if (evp_keymgmt_export(keymgmt, keydata, - OSSL_KEYMGMT_SELECT_ALL, - pk->ameth->import_from, pk)) { + } else { /* - * Save the provider side data in the operation cache, so they'll - * find it again. evp_pkey_free_it() cleared the cache, so it's - * safe to assume slot zero is free. - * Note that evp_keymgmt_util_cache_keydata() increments keymgmt's - * reference count. + * We perform the export in the same libctx as the keymgmt that we + * are using. */ - evp_keymgmt_util_cache_keydata(pk, 0, keymgmt, keydata); + OPENSSL_CTX *libctx = ossl_provider_library_context(keymgmt->prov); + EVP_PKEY_CTX *pctx = EVP_PKEY_CTX_new_from_pkey(libctx, pk, NULL); + if (pctx == NULL) + ERR_raise(ERR_LIB_EVP, ERR_R_MALLOC_FAILURE); - /* Synchronize the dirty count */ - pk->dirty_cnt_copy = pk->ameth->dirty_cnt(pk); + if (pctx != NULL + && evp_keymgmt_export(keymgmt, keydata, + OSSL_KEYMGMT_SELECT_ALL, + pk->ameth->import_from, pctx)) { + /* + * Save the provider side data in the operation cache, so they'll + * find it again. evp_pkey_free_it() cleared the cache, so it's + * safe to assume slot zero is free. + * Note that evp_keymgmt_util_cache_keydata() increments keymgmt's + * reference count. + */ + evp_keymgmt_util_cache_keydata(pk, 0, keymgmt, keydata); + EVP_PKEY_CTX_free(pctx); - /* evp_keymgmt_export() increased the refcount... */ - EVP_KEYMGMT_free(keymgmt); - return 1; + /* Synchronize the dirty count */ + pk->dirty_cnt_copy = pk->ameth->dirty_cnt(pk); + + /* evp_keymgmt_export() increased the refcount... */ + EVP_KEYMGMT_free(keymgmt); + return 1; + } + EVP_PKEY_CTX_free(pctx); } ERR_raise_data(ERR_LIB_EVP, EVP_R_KEYMGMT_EXPORT_FAILURE, @@ -1620,23 +1617,11 @@ const OSSL_PARAM *EVP_PKEY_gettable_params(EVP_PKEY *pkey) return evp_keymgmt_gettable_params(pkey->keymgmt); } -/* - * For the following methods param->return_size is set to a value - * larger than can be returned by the call to evp_keymgmt_get_params(). - * If it is still this value then the parameter was ignored - and in this - * case it returns an error.. - */ - int EVP_PKEY_get_bn_param(EVP_PKEY *pkey, const char *key_name, BIGNUM **bn) { int ret = 0; OSSL_PARAM params[2]; unsigned char buffer[2048]; - /* - * Use -1 as the terminator here instead of sizeof(buffer) + 1 since - * -1 is less likely to be a valid value. - */ - const size_t not_set = (size_t)-1; unsigned char *buf = NULL; size_t buf_sz = 0; @@ -1649,12 +1634,9 @@ int EVP_PKEY_get_bn_param(EVP_PKEY *pkey, const char *key_name, BIGNUM **bn) memset(buffer, 0, sizeof(buffer)); params[0] = OSSL_PARAM_construct_BN(key_name, buffer, sizeof(buffer)); - /* If the return_size is still not_set then we know it was not found */ - params[0].return_size = not_set; params[1] = OSSL_PARAM_construct_end(); if (!evp_keymgmt_get_params(pkey->keymgmt, pkey->keydata, params)) { - if (params[0].return_size == not_set - || params[0].return_size == 0) + if (!OSSL_PARAM_modified(params) || params[0].return_size == 0) return 0; buf_sz = params[0].return_size; /* @@ -1671,7 +1653,7 @@ int EVP_PKEY_get_bn_param(EVP_PKEY *pkey, const char *key_name, BIGNUM **bn) goto err; } /* Fail if the param was not found */ - if (params[0].return_size == not_set) + if (!OSSL_PARAM_modified(params)) goto err; ret = OSSL_PARAM_get_BN(params, bn); err: @@ -1684,7 +1666,6 @@ int EVP_PKEY_get_octet_string_param(EVP_PKEY *pkey, const char *key_name, size_t *out_sz) { OSSL_PARAM params[2]; - const size_t not_set = max_buf_sz + 1; if (pkey == NULL || pkey->keymgmt == NULL @@ -1693,11 +1674,9 @@ int EVP_PKEY_get_octet_string_param(EVP_PKEY *pkey, const char *key_name, return 0; params[0] = OSSL_PARAM_construct_octet_string(key_name, buf, max_buf_sz); - params[0].return_size = not_set; params[1] = OSSL_PARAM_construct_end(); - if (!evp_keymgmt_get_params(pkey->keymgmt, pkey->keydata, params)) - return 0; - if (params[0].return_size == not_set) + if (!evp_keymgmt_get_params(pkey->keymgmt, pkey->keydata, params) + || !OSSL_PARAM_modified(params)) return 0; if (out_sz != NULL) *out_sz = params[0].return_size; @@ -1709,7 +1688,6 @@ int EVP_PKEY_get_utf8_string_param(EVP_PKEY *pkey, const char *key_name, size_t *out_sz) { OSSL_PARAM params[2]; - const size_t not_set = max_buf_sz + 1; if (pkey == NULL || pkey->keymgmt == NULL @@ -1718,11 +1696,9 @@ int EVP_PKEY_get_utf8_string_param(EVP_PKEY *pkey, const char *key_name, return 0; params[0] = OSSL_PARAM_construct_utf8_string(key_name, str, max_buf_sz); - params[0].return_size = not_set; params[1] = OSSL_PARAM_construct_end(); - if (!evp_keymgmt_get_params(pkey->keymgmt, pkey->keydata, params)) - return 0; - if (params[0].return_size == not_set) + if (!evp_keymgmt_get_params(pkey->keymgmt, pkey->keydata, params) + || !OSSL_PARAM_modified(params)) return 0; if (out_sz != NULL) *out_sz = params[0].return_size; @@ -1732,7 +1708,6 @@ int EVP_PKEY_get_utf8_string_param(EVP_PKEY *pkey, const char *key_name, int EVP_PKEY_get_int_param(EVP_PKEY *pkey, const char *key_name, int *out) { OSSL_PARAM params[2]; - const size_t not_set = sizeof(int) + 1; if (pkey == NULL || pkey->keymgmt == NULL @@ -1741,11 +1716,9 @@ int EVP_PKEY_get_int_param(EVP_PKEY *pkey, const char *key_name, int *out) return 0; params[0] = OSSL_PARAM_construct_int(key_name, out); - params[0].return_size = not_set; params[1] = OSSL_PARAM_construct_end(); - if (!evp_keymgmt_get_params(pkey->keymgmt, pkey->keydata, params)) - return 0; - if (params[0].return_size == not_set) + if (!evp_keymgmt_get_params(pkey->keymgmt, pkey->keydata, params) + || !OSSL_PARAM_modified(params)) return 0; return 1; } @@ -1753,7 +1726,6 @@ int EVP_PKEY_get_int_param(EVP_PKEY *pkey, const char *key_name, int *out) int EVP_PKEY_get_size_t_param(EVP_PKEY *pkey, const char *key_name, size_t *out) { OSSL_PARAM params[2]; - const size_t not_set = sizeof(size_t) + 1; if (pkey == NULL || pkey->keymgmt == NULL @@ -1762,11 +1734,9 @@ int EVP_PKEY_get_size_t_param(EVP_PKEY *pkey, const char *key_name, size_t *out) return 0; params[0] = OSSL_PARAM_construct_size_t(key_name, out); - params[0].return_size = not_set; params[1] = OSSL_PARAM_construct_end(); - if (!evp_keymgmt_get_params(pkey->keymgmt, pkey->keydata, params)) - return 0; - if (params[0].return_size == not_set) + if (!evp_keymgmt_get_params(pkey->keymgmt, pkey->keydata, params) + || !OSSL_PARAM_modified(params)) return 0; return 1; } diff --git a/crypto/evp/p_open.c b/crypto/evp/p_open.c index bcc01a78..b08f2716 100644 --- a/crypto/evp/p_open.c +++ b/crypto/evp/p_open.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -8,15 +8,12 @@ */ #include "internal/cryptlib.h" -#ifdef OPENSSL_NO_RSA -NON_EMPTY_TRANSLATION_UNIT -#else -# include -# include -# include -# include -# include +#include +#include +#include +#include +#include int EVP_OpenInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, const unsigned char *ek, int ekl, const unsigned char *iv, @@ -73,4 +70,3 @@ int EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl) i = EVP_DecryptInit_ex(ctx, NULL, NULL, NULL, NULL); return i; } -#endif diff --git a/crypto/evp/p_seal.c b/crypto/evp/p_seal.c index 3f855d08..36900e03 100644 --- a/crypto/evp/p_seal.c +++ b/crypto/evp/p_seal.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/evp/pkey_kdf.c b/crypto/evp/pkey_kdf.c index 86c2fac6..ac4a0fa4 100644 --- a/crypto/evp/pkey_kdf.c +++ b/crypto/evp/pkey_kdf.c @@ -1,5 +1,5 @@ /* - * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2018-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/crypto/evp/pkey_mac.c b/crypto/evp/pkey_mac.c index 7452e032..bfd8cd63 100644 --- a/crypto/evp/pkey_mac.c +++ b/crypto/evp/pkey_mac.c @@ -1,5 +1,5 @@ /* - * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2018-2020 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 diff --git a/crypto/evp/pmeth_fn.c b/crypto/evp/pmeth_fn.c index 5d0e21ed..4d8d3e91 100644 --- a/crypto/evp/pmeth_fn.c +++ b/crypto/evp/pmeth_fn.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 diff --git a/crypto/evp/pmeth_gn.c b/crypto/evp/pmeth_gn.c index 78ed9ec7..0d6a8220 100644 --- a/crypto/evp/pmeth_gn.c +++ b/crypto/evp/pmeth_gn.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 @@ -170,8 +170,12 @@ int EVP_PKEY_gen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey) evp_pkey_export_to_provider(ctx->pkey, ctx->libctx, &tmp_keymgmt, ctx->propquery); - if (keydata == NULL) + if (tmp_keymgmt == NULL) goto not_supported; + /* + * It's ok if keydata is NULL here. The backend is expected to deal + * with that as it sees fit. + */ ret = evp_keymgmt_gen_set_template(ctx->keymgmt, ctx->op.keymgmt.genctx, keydata); } diff --git a/crypto/evp/pmeth_lib.c b/crypto/evp/pmeth_lib.c index 6a86b26d..2b99b52c 100644 --- a/crypto/evp/pmeth_lib.c +++ b/crypto/evp/pmeth_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 @@ -8,7 +8,7 @@ */ /* - * DH low level APIs are deprecated for public use, but still ok for + * Low level key APIs (DH etc) are deprecated for public use, but still ok for * internal use. */ #include "internal/deprecated.h" @@ -24,6 +24,8 @@ #include "internal/cryptlib.h" #include "crypto/asn1.h" #include "crypto/evp.h" +#include "crypto/dh.h" +#include "internal/ffc.h" #include "internal/numbers.h" #include "internal/provider.h" #include "evp_local.h" @@ -234,6 +236,7 @@ static EVP_PKEY_CTX *int_ctx_new(OPENSSL_CTX *libctx, ret = OPENSSL_zalloc(sizeof(*ret)); if (ret == NULL) { + EVP_KEYMGMT_free(keymgmt); #if !defined(OPENSSL_NO_ENGINE) && !defined(FIPS_MODE) ENGINE_finish(e); #endif @@ -808,11 +811,34 @@ static int legacy_ctrl_to_param(EVP_PKEY_CTX *ctx, int keytype, int optype, */ if (cmd == EVP_PKEY_CTRL_CIPHER) return -2; + # ifndef OPENSSL_NO_DH if (keytype == EVP_PKEY_DH) { switch (cmd) { case EVP_PKEY_CTRL_DH_PAD: return EVP_PKEY_CTX_set_dh_pad(ctx, p1); + case EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN: + return EVP_PKEY_CTX_set_dh_paramgen_prime_len(ctx, p1); + case EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN: + return EVP_PKEY_CTX_set_dh_paramgen_subprime_len(ctx, p1); + case EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR: + return EVP_PKEY_CTX_set_dh_paramgen_generator(ctx, p1); + case EVP_PKEY_CTRL_DH_PARAMGEN_TYPE: + return EVP_PKEY_CTX_set_dh_paramgen_type(ctx, p1); + case EVP_PKEY_CTRL_DH_RFC5114: + return EVP_PKEY_CTX_set_dh_rfc5114(ctx, p1); + } + } +# endif +# ifndef OPENSSL_NO_DSA + if (keytype == EVP_PKEY_DSA) { + switch (cmd) { + case EVP_PKEY_CTRL_DSA_PARAMGEN_BITS: + return EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx, p1); + case EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS: + return EVP_PKEY_CTX_set_dsa_paramgen_q_bits(ctx, p1); + case EVP_PKEY_CTRL_DSA_PARAMGEN_MD: + return EVP_PKEY_CTX_set_dsa_paramgen_md(ctx, p2); } } # endif @@ -1000,8 +1026,30 @@ static int legacy_ctrl_str_to_param(EVP_PKEY_CTX *ctx, const char *name, name = OSSL_PKEY_PARAM_RSA_E; else if (strcmp(name, "rsa_keygen_primes") == 0) name = OSSL_PKEY_PARAM_RSA_PRIMES; +# ifndef OPENSSL_NO_DSA + else if (strcmp(name, "dsa_paramgen_bits") == 0) + name = OSSL_PKEY_PARAM_FFC_PBITS; + else if (strcmp(name, "dsa_paramgen_q_bits") == 0) + name = OSSL_PKEY_PARAM_FFC_QBITS; + else if (strcmp(name, "dsa_paramgen_md") == 0) + name = OSSL_PKEY_PARAM_FFC_DIGEST; +# endif # ifndef OPENSSL_NO_DH - else if (strcmp(name, "dh_pad") == 0) + else if (strcmp(name, "dh_paramgen_generator") == 0) + name = OSSL_PKEY_PARAM_FFC_GENERATOR; + else if (strcmp(name, "dh_paramgen_prime_len") == 0) + name = OSSL_PKEY_PARAM_FFC_PBITS; + else if (strcmp(name, "dh_paramgen_subprime_len") == 0) + name = OSSL_PKEY_PARAM_FFC_QBITS; + else if (strcmp(name, "dh_paramgen_type") == 0) { + name = OSSL_PKEY_PARAM_FFC_TYPE; + value = dh_gen_type_id2name(atoi(value)); + } else if (strcmp(name, "dh_param") == 0) + name = OSSL_PKEY_PARAM_FFC_GROUP; + else if (strcmp(name, "dh_rfc5114") == 0) { + name = OSSL_PKEY_PARAM_FFC_GROUP; + value = ffc_named_group_from_uid(atoi(value)); + } else if (strcmp(name, "dh_pad") == 0) name = OSSL_EXCHANGE_PARAM_PAD; # endif # ifndef OPENSSL_NO_EC diff --git a/crypto/evp/signature.c b/crypto/evp/signature.c index 1f5e570f..d845ac12 100644 --- a/crypto/evp/signature.c +++ b/crypto/evp/signature.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 @@ -369,7 +369,7 @@ static int evp_pkey_signature_init(EVP_PKEY_CTX *ctx, int operation) tmp_keymgmt = ctx->keymgmt; provkey = evp_pkey_export_to_provider(ctx->pkey, ctx->libctx, &tmp_keymgmt, ctx->propquery); - if (provkey == NULL) + if (tmp_keymgmt == NULL) goto legacy; if (!EVP_KEYMGMT_up_ref(tmp_keymgmt)) { ERR_clear_last_mark(); diff --git a/crypto/ex_data.c b/crypto/ex_data.c index defa2b4b..6200d055 100644 --- a/crypto/ex_data.c +++ b/crypto/ex_data.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -10,6 +10,8 @@ #include "crypto/cryptlib.h" #include "internal/thread_once.h" +DEFINE_STACK_OF(void) + int do_ex_data_init(OPENSSL_CTX *ctx) { OSSL_EX_DATA_GLOBAL *global = openssl_ctx_get_ex_data_global(ctx); diff --git a/crypto/ffc/ffc_backend.c b/crypto/ffc/ffc_backend.c index cde9e43d..d9b3e2e8 100644 --- a/crypto/ffc/ffc_backend.c +++ b/crypto/ffc/ffc_backend.c @@ -9,6 +9,7 @@ #include #include "internal/ffc.h" +#include "internal/sizes.h" /* * The intention with the "backend" source file is to offer backend support @@ -16,27 +17,76 @@ * implementations alike. */ -int ffc_fromdata(FFC_PARAMS *ffc, const OSSL_PARAM params[]) +int ffc_params_fromdata(FFC_PARAMS *ffc, const OSSL_PARAM params[]) { + const OSSL_PARAM *prm; const OSSL_PARAM *param_p, *param_q, *param_g; - BIGNUM *p = NULL, *q = NULL, *g = NULL; + BIGNUM *p = NULL, *q = NULL, *g = NULL, *j = NULL; + int i; if (ffc == NULL) return 0; + prm = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_GROUP); + if (prm != NULL) { + if (prm->data_type != OSSL_PARAM_UTF8_STRING) + goto err; +#ifndef OPENSSL_NO_DH + /* + * In a no-dh build we just go straight to err because we have no + * support for this. + */ + if (!ffc_set_group_pqg(ffc, prm->data)) +#endif + goto err; + } + param_p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_P); - param_q = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_Q); param_g = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_G); + param_q = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_Q); if ((param_p != NULL && !OSSL_PARAM_get_BN(param_p, &p)) || (param_q != NULL && !OSSL_PARAM_get_BN(param_q, &q)) || (param_g != NULL && !OSSL_PARAM_get_BN(param_g, &g))) goto err; + prm = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_GINDEX); + if (prm != NULL) { + if (!OSSL_PARAM_get_int(prm, &i)) + goto err; + ffc->gindex = i; + } + prm = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_PCOUNTER); + if (prm != NULL) { + if (!OSSL_PARAM_get_int(prm, &i)) + goto err; + ffc->pcounter = i; + } + prm = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_COFACTOR); + if (prm != NULL) { + if (!OSSL_PARAM_get_BN(prm, &j)) + goto err; + j = NULL; + } + prm = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_H); + if (prm != NULL) { + if (!OSSL_PARAM_get_int(prm, &i)) + goto err; + ffc->h = i; + } + prm = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_SEED); + if (prm != NULL) { + if (prm->data_type != OSSL_PARAM_OCTET_STRING) + goto err; + if (!ffc_params_set_seed(ffc, prm->data, prm->data_size)) + goto err; + } ffc_params_set0_pqg(ffc, p, q, g); + ffc_params_set0_j(ffc, j); return 1; err: + BN_free(j); BN_free(p); BN_free(q); BN_free(g); diff --git a/crypto/ffc/ffc_key_generate.c b/crypto/ffc/ffc_key_generate.c index 078e8d39..aeabae01 100644 --- a/crypto/ffc/ffc_key_generate.c +++ b/crypto/ffc/ffc_key_generate.c @@ -21,34 +21,20 @@ */ int ffc_generate_private_key(BN_CTX *ctx, const FFC_PARAMS *params, int N, int s, BIGNUM *priv) -{ -#ifdef FIPS_MODE - return ffc_generate_private_key_fips(ctx, params, N, s, priv); -#else - do { - if (!BN_priv_rand_range_ex(priv, params->q, ctx)) - return 0; - } while (BN_is_zero(priv) || BN_is_one(priv)); - return 1; -#endif /* FIPS_MODE */ -} - -int ffc_generate_private_key_fips(BN_CTX *ctx, const FFC_PARAMS *params, - int N, int s, BIGNUM *priv) { int ret = 0, qbits = BN_num_bits(params->q); BIGNUM *m, *two_powN = NULL; + /* Deal with the edge case where the value of N is not set */ + if (N == 0) + N = qbits; + if (s == 0) + s = N / 2; + /* Step (2) : check range of N */ if (N < 2 * s || N > qbits) return 0; - /* Deal with the edge case where the value of N is not set */ - if (N == 0) { - N = qbits; - s = N / 2; - } - two_powN = BN_new(); /* 2^N */ if (two_powN == NULL || !BN_lshift(two_powN, BN_value_one(), N)) diff --git a/crypto/ffc/ffc_params.c b/crypto/ffc/ffc_params.c index cb8987b6..63a8bb73 100644 --- a/crypto/ffc/ffc_params.c +++ b/crypto/ffc/ffc_params.c @@ -8,7 +8,10 @@ */ #include /* memset */ +#include #include "internal/ffc.h" +#include "internal/param_build_set.h" + #ifndef FIPS_MODE # include /* ffc_params_print */ #endif @@ -67,15 +70,17 @@ void ffc_params_set0_j(FFC_PARAMS *d, BIGNUM *j) d->j = j; } -int ffc_params_set_validate_params(FFC_PARAMS *params, - const unsigned char *seed, size_t seedlen, - int counter) +int ffc_params_set_seed(FFC_PARAMS *params, + const unsigned char *seed, size_t seedlen) { if (params == NULL) return 0; - if (params->seed != NULL) + if (params->seed != NULL) { + if (params->seed == seed) + return 1; OPENSSL_free(params->seed); + } if (seed != NULL && seedlen > 0) { params->seed = OPENSSL_memdup(seed, seedlen); @@ -86,6 +91,30 @@ int ffc_params_set_validate_params(FFC_PARAMS *params, params->seed = NULL; params->seedlen = 0; } + return 1; +} + +void ffc_params_set_gindex(FFC_PARAMS *params, int index) +{ + params->gindex = index; +} + +void ffc_params_set_pcounter(FFC_PARAMS *params, int index) +{ + params->pcounter = index; +} + +void ffc_params_set_h(FFC_PARAMS *params, int index) +{ + params->h = index; +} + +int ffc_params_set_validate_params(FFC_PARAMS *params, + const unsigned char *seed, size_t seedlen, + int counter) +{ + if (!ffc_params_set_seed(params, seed, seedlen)) + return 0; params->pcounter = counter; return 1; } @@ -139,7 +168,10 @@ int ffc_params_copy(FFC_PARAMS *dst, const FFC_PARAMS *src) } else { dst->seed = NULL; } + dst->nid = src->nid; dst->pcounter = src->pcounter; + dst->h = src->h; + dst->gindex = src->gindex; return 1; } @@ -150,6 +182,55 @@ int ffc_params_cmp(const FFC_PARAMS *a, const FFC_PARAMS *b, int ignore_q) && (ignore_q || BN_cmp(a->q, b->q) == 0); /* Note: q may be NULL */ } +int ffc_params_todata(const FFC_PARAMS *ffc, OSSL_PARAM_BLD *bld, + OSSL_PARAM params[]) +{ + if (ffc == NULL) + return 0; + + if (ffc->p != NULL + && !ossl_param_build_set_bn(bld, params, OSSL_PKEY_PARAM_FFC_P, ffc->p)) + return 0; + if (ffc->q != NULL + && !ossl_param_build_set_bn(bld, params, OSSL_PKEY_PARAM_FFC_Q, ffc->q)) + return 0; + if (ffc->g != NULL + && !ossl_param_build_set_bn(bld, params, OSSL_PKEY_PARAM_FFC_G, ffc->g)) + return 0; + if (ffc->j != NULL + && !ossl_param_build_set_bn(bld, params, OSSL_PKEY_PARAM_FFC_COFACTOR, + ffc->j)) + return 0; + if (!ossl_param_build_set_int(bld, params, OSSL_PKEY_PARAM_FFC_GINDEX, + ffc->gindex)) + return 0; + if (!ossl_param_build_set_int(bld, params, OSSL_PKEY_PARAM_FFC_PCOUNTER, + ffc->pcounter)) + return 0; + if (!ossl_param_build_set_int(bld, params, OSSL_PKEY_PARAM_FFC_H, ffc->h)) + return 0; + if (ffc->seed != NULL + && !ossl_param_build_set_octet_string(bld, params, + OSSL_PKEY_PARAM_FFC_SEED, + ffc->seed, ffc->seedlen)) + return 0; + if (ffc->nid != NID_undef) { +#ifndef OPENSSL_NO_DH + const char *name = ffc_named_group_from_uid(ffc->nid); + + if (name == NULL + || !ossl_param_build_set_utf8_string(bld, params, + OSSL_PKEY_PARAM_FFC_GROUP, + name)) + return 0; +#else + /* How could this be? We should not have a nid in a no-dh build. */ + return 0; +#endif + } + return 1; +} + #ifndef FIPS_MODE int ffc_params_print(BIO *bp, const FFC_PARAMS *ffc, int indent) { diff --git a/crypto/ffc/ffc_params_generate.c b/crypto/ffc/ffc_params_generate.c index cb51bf0e..6d9b9243 100644 --- a/crypto/ffc/ffc_params_generate.c +++ b/crypto/ffc/ffc_params_generate.c @@ -487,7 +487,7 @@ int ffc_params_FIPS186_4_gen_verify(OPENSSL_CTX *libctx, FFC_PARAMS *params, BIGNUM *g = NULL, *q = NULL, *p = NULL; BN_MONT_CTX *mont = NULL; int n = 0, m = 0, qsize = N >> 3; - int canonical_g = 0, hret = -1; + int canonical_g = 0, hret = 0; BN_CTX *ctx = NULL; EVP_MD_CTX *mctx = NULL; int generate = (validate_flags == 0); diff --git a/crypto/hmac/hm_ameth.c b/crypto/hmac/hm_ameth.c index 4893a103..a0e1556b 100644 --- a/crypto/hmac/hm_ameth.c +++ b/crypto/hmac/hm_ameth.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 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 diff --git a/crypto/hmac/hmac.c b/crypto/hmac/hmac.c index 37bd7e67..b49baec4 100644 --- a/crypto/hmac/hmac.c +++ b/crypto/hmac/hmac.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/hmac/hmac_local.h b/crypto/hmac/hmac_local.h index d6fd4f39..495b8593 100644 --- a/crypto/hmac/hmac_local.h +++ b/crypto/hmac/hmac_local.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/http/http_client.c b/crypto/http/http_client.c index 4c123f81..98be2c49 100644 --- a/crypto/http/http_client.c +++ b/crypto/http/http_client.c @@ -25,6 +25,8 @@ #include "http_local.h" +DEFINE_STACK_OF(CONF_VALUE) + #define HTTP_PREFIX "HTTP/" #define HTTP_VERSION_PATT "1." /* allow 1.x */ #define HTTP_VERSION_STR_LEN 3 diff --git a/crypto/idea/i_cbc.c b/crypto/idea/i_cbc.c index 987ba05e..e9608e82 100644 --- a/crypto/idea/i_cbc.c +++ b/crypto/idea/i_cbc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/idea/i_cfb64.c b/crypto/idea/i_cfb64.c index 50784f90..b9db1639 100644 --- a/crypto/idea/i_cfb64.c +++ b/crypto/idea/i_cfb64.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/idea/i_ecb.c b/crypto/idea/i_ecb.c index 74cb35ae..6304e6ca 100644 --- a/crypto/idea/i_ecb.c +++ b/crypto/idea/i_ecb.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/idea/i_ofb64.c b/crypto/idea/i_ofb64.c index bca1999e..89ac18ce 100644 --- a/crypto/idea/i_ofb64.c +++ b/crypto/idea/i_ofb64.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/idea/i_skey.c b/crypto/idea/i_skey.c index 36bc2c9b..7564bce5 100644 --- a/crypto/idea/i_skey.c +++ b/crypto/idea/i_skey.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/info.c b/crypto/info.c index abba5437..968184fc 100644 --- a/crypto/info.c +++ b/crypto/info.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/crypto/initthread.c b/crypto/initthread.c index d6f7869b..6f15cda6 100644 --- a/crypto/initthread.c +++ b/crypto/initthread.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/crypto/md2/md2_dgst.c b/crypto/md2/md2_dgst.c index d8524891..0b003354 100644 --- a/crypto/md2/md2_dgst.c +++ b/crypto/md2/md2_dgst.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/md2/md2_one.c b/crypto/md2/md2_one.c index 9b152ef7..f9be6927 100644 --- a/crypto/md2/md2_one.c +++ b/crypto/md2/md2_one.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/md4/md4_dgst.c b/crypto/md4/md4_dgst.c index 531676a2..aefe6a3a 100644 --- a/crypto/md4/md4_dgst.c +++ b/crypto/md4/md4_dgst.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/md4/md4_one.c b/crypto/md4/md4_one.c index 25f8eb8b..36fa88dd 100644 --- a/crypto/md4/md4_one.c +++ b/crypto/md4/md4_one.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/md5/asm/md5-586.pl b/crypto/md5/asm/md5-586.pl index 79e1b856..2a9e910d 100644 --- a/crypto/md5/asm/md5-586.pl +++ b/crypto/md5/asm/md5-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 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 diff --git a/crypto/md5/asm/md5-sparcv9.pl b/crypto/md5/asm/md5-sparcv9.pl index ee9d1486..755648e5 100644 --- a/crypto/md5/asm/md5-sparcv9.pl +++ b/crypto/md5/asm/md5-sparcv9.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 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 diff --git a/crypto/md5/asm/md5-x86_64.pl b/crypto/md5/asm/md5-x86_64.pl index 88383728..c09d8f20 100755 --- a/crypto/md5/asm/md5-x86_64.pl +++ b/crypto/md5/asm/md5-x86_64.pl @@ -1,6 +1,6 @@ #! /usr/bin/env perl # Author: Marc Bevand -# Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 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 diff --git a/crypto/md5/md5_dgst.c b/crypto/md5/md5_dgst.c index 72b641f4..913b1ea5 100644 --- a/crypto/md5/md5_dgst.c +++ b/crypto/md5/md5_dgst.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/md5/md5_one.c b/crypto/md5/md5_one.c index 96f4f96f..fe9b3df2 100644 --- a/crypto/md5/md5_one.c +++ b/crypto/md5/md5_one.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/md5/md5_sha1.c b/crypto/md5/md5_sha1.c index 054f634a..db359dba 100644 --- a/crypto/md5/md5_sha1.c +++ b/crypto/md5/md5_sha1.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 diff --git a/crypto/mdc2/mdc2_one.c b/crypto/mdc2/mdc2_one.c index c8bfdcc9..cb978263 100644 --- a/crypto/mdc2/mdc2_one.c +++ b/crypto/mdc2/mdc2_one.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/mdc2/mdc2dgst.c b/crypto/mdc2/mdc2dgst.c index 8893be16..607f9fc7 100644 --- a/crypto/mdc2/mdc2dgst.c +++ b/crypto/mdc2/mdc2dgst.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/mem.c b/crypto/mem.c index ad64fda5..1368bd73 100644 --- a/crypto/mem.c +++ b/crypto/mem.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/mem_sec.c b/crypto/mem_sec.c index b70c0a97..e28a43e2 100644 --- a/crypto/mem_sec.c +++ b/crypto/mem_sec.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright 2004-2014, Akamai Technologies. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/crypto/modes/asm/aes-gcm-armv8_64.pl b/crypto/modes/asm/aes-gcm-armv8_64.pl index 328e5449..3b9d5b65 100755 --- a/crypto/modes/asm/aes-gcm-armv8_64.pl +++ b/crypto/modes/asm/aes-gcm-armv8_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2019-2020 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 diff --git a/crypto/modes/asm/aesni-gcm-x86_64.pl b/crypto/modes/asm/aesni-gcm-x86_64.pl index a066fe09..37953109 100644 --- a/crypto/modes/asm/aesni-gcm-x86_64.pl +++ b/crypto/modes/asm/aesni-gcm-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2013-2020 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 diff --git a/crypto/modes/asm/ghash-alpha.pl b/crypto/modes/asm/ghash-alpha.pl index 2def37d0..c350e901 100644 --- a/crypto/modes/asm/ghash-alpha.pl +++ b/crypto/modes/asm/ghash-alpha.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 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 diff --git a/crypto/modes/asm/ghash-armv4.pl b/crypto/modes/asm/ghash-armv4.pl index bc44449a..044f86f1 100644 --- a/crypto/modes/asm/ghash-armv4.pl +++ b/crypto/modes/asm/ghash-armv4.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 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 diff --git a/crypto/modes/asm/ghash-c64xplus.pl b/crypto/modes/asm/ghash-c64xplus.pl index 41efa4ba..ded2f779 100644 --- a/crypto/modes/asm/ghash-c64xplus.pl +++ b/crypto/modes/asm/ghash-c64xplus.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 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 diff --git a/crypto/modes/asm/ghash-ia64.pl b/crypto/modes/asm/ghash-ia64.pl index dcdbc83f..74b88176 100755 --- a/crypto/modes/asm/ghash-ia64.pl +++ b/crypto/modes/asm/ghash-ia64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 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 diff --git a/crypto/modes/asm/ghash-parisc.pl b/crypto/modes/asm/ghash-parisc.pl index a1fb99f3..7b5cc2f1 100644 --- a/crypto/modes/asm/ghash-parisc.pl +++ b/crypto/modes/asm/ghash-parisc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 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 diff --git a/crypto/modes/asm/ghash-s390x.pl b/crypto/modes/asm/ghash-s390x.pl index bd1c811b..ba9c5b4a 100644 --- a/crypto/modes/asm/ghash-s390x.pl +++ b/crypto/modes/asm/ghash-s390x.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 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 diff --git a/crypto/modes/asm/ghash-sparcv9.pl b/crypto/modes/asm/ghash-sparcv9.pl index b8bfa815..c844235c 100644 --- a/crypto/modes/asm/ghash-sparcv9.pl +++ b/crypto/modes/asm/ghash-sparcv9.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 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 diff --git a/crypto/modes/asm/ghash-x86.pl b/crypto/modes/asm/ghash-x86.pl index cebcf290..c796107c 100644 --- a/crypto/modes/asm/ghash-x86.pl +++ b/crypto/modes/asm/ghash-x86.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 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 diff --git a/crypto/modes/asm/ghash-x86_64.pl b/crypto/modes/asm/ghash-x86_64.pl index db8063df..5a8d2e0b 100644 --- a/crypto/modes/asm/ghash-x86_64.pl +++ b/crypto/modes/asm/ghash-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 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 diff --git a/crypto/modes/asm/ghashp8-ppc.pl b/crypto/modes/asm/ghashp8-ppc.pl index d6caefcc..20f611da 100755 --- a/crypto/modes/asm/ghashp8-ppc.pl +++ b/crypto/modes/asm/ghashp8-ppc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2014-2020 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 diff --git a/crypto/modes/asm/ghashv8-armx.pl b/crypto/modes/asm/ghashv8-armx.pl index 8272f507..b1d35d25 100644 --- a/crypto/modes/asm/ghashv8-armx.pl +++ b/crypto/modes/asm/ghashv8-armx.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2014-2020 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 diff --git a/crypto/objects/obj_compat.h b/crypto/objects/obj_compat.h new file mode 100644 index 00000000..68d1d733 --- /dev/null +++ b/crypto/objects/obj_compat.h @@ -0,0 +1,46 @@ + +#ifndef OPENSSL_NO_DEPRECATED_3_0 + +#define SN_id_tc26_cipher_gostr3412_2015_magma_ctracpkm SN_magma_ctr_acpkm +#define NID_id_tc26_cipher_gostr3412_2015_magma_ctracpkm NID_magma_ctr_acpkm +#define OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm OBJ_magma_ctr_acpkm + +#define SN_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac SN_magma_ctr_acpkm_omac +#define NID_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac NID_magma_ctr_acpkm_omac +#define OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac OBJ_magma_ctr_acpkm_omac + +#define SN_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm SN_kuznyechik_ctr_acpkm +#define NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm NID_kuznyechik_ctr_acpkm +#define OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm OBJ_kuznyechik_ctr_acpkm + +#define SN_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac SN_kuznyechik_ctr_acpkm_omac +#define NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac NID_kuznyechik_ctr_acpkm_omac +#define OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac OBJ_kuznyechik_ctr_acpkm_omac + +#define SN_id_tc26_wrap_gostr3412_2015_magma_kexp15 SN_magma_kexp15 +#define NID_id_tc26_wrap_gostr3412_2015_magma_kexp15 NID_magma_kexp15 +#define OBJ_id_tc26_wrap_gostr3412_2015_magma_kexp15 OBJ_magma_kexp15 + +#define SN_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 SN_kuznyechik_kexp15 +#define NID_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 NID_kuznyechik_kexp15 +#define OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 OBJ_kuznyechik_kexp15 + +#define SN_grasshopper_ecb SN_kuznyechik_ecb +#define NID_grasshopper_ecb NID_kuznyechik_ecb + +#define SN_grasshopper_ctr SN_kuznyechik_ctr +#define NID_grasshopper_ctr NID_kuznyechik_ctr + +#define SN_grasshopper_ofb SN_kuznyechik_ofb +#define NID_grasshopper_ofb NID_kuznyechik_ofb + +#define SN_grasshopper_cbc SN_kuznyechik_cbc +#define NID_grasshopper_cbc NID_kuznyechik_cbc + +#define SN_grasshopper_cfb SN_kuznyechik_cfb +#define NID_grasshopper_cfb NID_kuznyechik_cfb + +#define SN_grasshopper_mac SN_kuznyechik_mac +#define NID_grasshopper_mac NID_kuznyechik_mac + +#endif diff --git a/crypto/objects/obj_dat.h b/crypto/objects/obj_dat.h index 6b3d7f90..06298cf7 100644 --- a/crypto/objects/obj_dat.h +++ b/crypto/objects/obj_dat.h @@ -1061,16 +1061,16 @@ static const unsigned char so[7845] = { 0x2B,0x6F,0x02,0x8C,0x53, /* [ 7612] OBJ_ieee_siswg */ 0x2A,0x81,0x1C,0xCF,0x55,0x01,0x82,0x2D, /* [ 7617] OBJ_sm2 */ 0x2A,0x85,0x03,0x07,0x01,0x01,0x05,0x01, /* [ 7625] OBJ_id_tc26_cipher_gostr3412_2015_magma */ - 0x2A,0x85,0x03,0x07,0x01,0x01,0x05,0x01,0x01, /* [ 7633] OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm */ - 0x2A,0x85,0x03,0x07,0x01,0x01,0x05,0x01,0x02, /* [ 7642] OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac */ + 0x2A,0x85,0x03,0x07,0x01,0x01,0x05,0x01,0x01, /* [ 7633] OBJ_magma_ctr_acpkm */ + 0x2A,0x85,0x03,0x07,0x01,0x01,0x05,0x01,0x02, /* [ 7642] OBJ_magma_ctr_acpkm_omac */ 0x2A,0x85,0x03,0x07,0x01,0x01,0x05,0x02, /* [ 7651] OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik */ - 0x2A,0x85,0x03,0x07,0x01,0x01,0x05,0x02,0x01, /* [ 7659] OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm */ - 0x2A,0x85,0x03,0x07,0x01,0x01,0x05,0x02,0x02, /* [ 7668] OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac */ + 0x2A,0x85,0x03,0x07,0x01,0x01,0x05,0x02,0x01, /* [ 7659] OBJ_kuznyechik_ctr_acpkm */ + 0x2A,0x85,0x03,0x07,0x01,0x01,0x05,0x02,0x02, /* [ 7668] OBJ_kuznyechik_ctr_acpkm_omac */ 0x2A,0x85,0x03,0x07,0x01,0x01,0x07, /* [ 7677] OBJ_id_tc26_wrap */ 0x2A,0x85,0x03,0x07,0x01,0x01,0x07,0x01, /* [ 7684] OBJ_id_tc26_wrap_gostr3412_2015_magma */ - 0x2A,0x85,0x03,0x07,0x01,0x01,0x07,0x01,0x01, /* [ 7692] OBJ_id_tc26_wrap_gostr3412_2015_magma_kexp15 */ + 0x2A,0x85,0x03,0x07,0x01,0x01,0x07,0x01,0x01, /* [ 7692] OBJ_magma_kexp15 */ 0x2A,0x85,0x03,0x07,0x01,0x01,0x07,0x02, /* [ 7701] OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik */ - 0x2A,0x85,0x03,0x07,0x01,0x01,0x07,0x02,0x01, /* [ 7709] OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 */ + 0x2A,0x85,0x03,0x07,0x01,0x01,0x07,0x02,0x01, /* [ 7709] OBJ_kuznyechik_kexp15 */ 0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x01,0x02, /* [ 7718] OBJ_id_tc26_gost_3410_2012_256_paramSetB */ 0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x01,0x03, /* [ 7727] OBJ_id_tc26_gost_3410_2012_256_paramSetC */ 0x2A,0x85,0x03,0x07,0x01,0x02,0x01,0x01,0x04, /* [ 7736] OBJ_id_tc26_gost_3410_2012_256_paramSetD */ @@ -2102,12 +2102,12 @@ static const ASN1_OBJECT nid_objs[NUM_NID] = { {"gost89-cbc", "gost89-cbc", NID_gost89_cbc}, {"gost89-ecb", "gost89-ecb", NID_gost89_ecb}, {"gost89-ctr", "gost89-ctr", NID_gost89_ctr}, - {"grasshopper-ecb", "grasshopper-ecb", NID_grasshopper_ecb}, - {"grasshopper-ctr", "grasshopper-ctr", NID_grasshopper_ctr}, - {"grasshopper-ofb", "grasshopper-ofb", NID_grasshopper_ofb}, - {"grasshopper-cbc", "grasshopper-cbc", NID_grasshopper_cbc}, - {"grasshopper-cfb", "grasshopper-cfb", NID_grasshopper_cfb}, - {"grasshopper-mac", "grasshopper-mac", NID_grasshopper_mac}, + {"kuznyechik-ecb", "kuznyechik-ecb", NID_kuznyechik_ecb}, + {"kuznyechik-ctr", "kuznyechik-ctr", NID_kuznyechik_ctr}, + {"kuznyechik-ofb", "kuznyechik-ofb", NID_kuznyechik_ofb}, + {"kuznyechik-cbc", "kuznyechik-cbc", NID_kuznyechik_cbc}, + {"kuznyechik-cfb", "kuznyechik-cfb", NID_kuznyechik_cfb}, + {"kuznyechik-mac", "kuznyechik-mac", NID_kuznyechik_mac}, {"ChaCha20-Poly1305", "chacha20-poly1305", NID_chacha20_poly1305}, {"ChaCha20", "chacha20", NID_chacha20}, {"tlsfeature", "TLS Feature", NID_tlsfeature, 8, &so[6619]}, @@ -2264,16 +2264,16 @@ static const ASN1_OBJECT nid_objs[NUM_NID] = { {"ieee-siswg", "IEEE Security in Storage Working Group", NID_ieee_siswg, 5, &so[7612]}, {"SM2", "sm2", NID_sm2, 8, &so[7617]}, {"id-tc26-cipher-gostr3412-2015-magma", "id-tc26-cipher-gostr3412-2015-magma", NID_id_tc26_cipher_gostr3412_2015_magma, 8, &so[7625]}, - {"id-tc26-cipher-gostr3412-2015-magma-ctracpkm", "id-tc26-cipher-gostr3412-2015-magma-ctracpkm", NID_id_tc26_cipher_gostr3412_2015_magma_ctracpkm, 9, &so[7633]}, - {"id-tc26-cipher-gostr3412-2015-magma-ctracpkm-omac", "id-tc26-cipher-gostr3412-2015-magma-ctracpkm-omac", NID_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac, 9, &so[7642]}, + {"magma-ctr-acpkm", "magma-ctr-acpkm", NID_magma_ctr_acpkm, 9, &so[7633]}, + {"magma-ctr-acpkm-omac", "magma-ctr-acpkm-omac", NID_magma_ctr_acpkm_omac, 9, &so[7642]}, {"id-tc26-cipher-gostr3412-2015-kuznyechik", "id-tc26-cipher-gostr3412-2015-kuznyechik", NID_id_tc26_cipher_gostr3412_2015_kuznyechik, 8, &so[7651]}, - {"id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm", "id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm", NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm, 9, &so[7659]}, - {"id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm-omac", "id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm-omac", NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac, 9, &so[7668]}, + {"kuznyechik-ctr-acpkm", "kuznyechik-ctr-acpkm", NID_kuznyechik_ctr_acpkm, 9, &so[7659]}, + {"kuznyechik-ctr-acpkm-omac", "kuznyechik-ctr-acpkm-omac", NID_kuznyechik_ctr_acpkm_omac, 9, &so[7668]}, {"id-tc26-wrap", "id-tc26-wrap", NID_id_tc26_wrap, 7, &so[7677]}, {"id-tc26-wrap-gostr3412-2015-magma", "id-tc26-wrap-gostr3412-2015-magma", NID_id_tc26_wrap_gostr3412_2015_magma, 8, &so[7684]}, - {"id-tc26-wrap-gostr3412-2015-magma-kexp15", "id-tc26-wrap-gostr3412-2015-magma-kexp15", NID_id_tc26_wrap_gostr3412_2015_magma_kexp15, 9, &so[7692]}, + {"magma-kexp15", "magma-kexp15", NID_magma_kexp15, 9, &so[7692]}, {"id-tc26-wrap-gostr3412-2015-kuznyechik", "id-tc26-wrap-gostr3412-2015-kuznyechik", NID_id_tc26_wrap_gostr3412_2015_kuznyechik, 8, &so[7701]}, - {"id-tc26-wrap-gostr3412-2015-kuznyechik-kexp15", "id-tc26-wrap-gostr3412-2015-kuznyechik-kexp15", NID_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15, 9, &so[7709]}, + {"kuznyechik-kexp15", "kuznyechik-kexp15", NID_kuznyechik_kexp15, 9, &so[7709]}, {"id-tc26-gost-3410-2012-256-paramSetB", "GOST R 34.10-2012 (256 bit) ParamSet B", NID_id_tc26_gost_3410_2012_256_paramSetB, 9, &so[7718]}, {"id-tc26-gost-3410-2012-256-paramSetC", "GOST R 34.10-2012 (256 bit) ParamSet C", NID_id_tc26_gost_3410_2012_256_paramSetC, 9, &so[7727]}, {"id-tc26-gost-3410-2012-256-paramSetD", "GOST R 34.10-2012 (256 bit) ParamSet D", NID_id_tc26_gost_3410_2012_256_paramSetD, 9, &so[7736]}, @@ -2796,12 +2796,6 @@ static const unsigned int sn_objs[NUM_SN] = { 1010, /* "gost89-ecb" */ 812, /* "gost94" */ 850, /* "gost94cc" */ - 1015, /* "grasshopper-cbc" */ - 1016, /* "grasshopper-cfb" */ - 1013, /* "grasshopper-ctr" */ - 1012, /* "grasshopper-ecb" */ - 1017, /* "grasshopper-mac" */ - 1014, /* "grasshopper-ofb" */ 1156, /* "hmacWithDstu34311" */ 797, /* "hmacWithMD5" */ 163, /* "hmacWithSHA1" */ @@ -3092,11 +3086,7 @@ static const unsigned int sn_objs[NUM_SN] = { 990, /* "id-tc26-cipher" */ 1001, /* "id-tc26-cipher-constants" */ 1176, /* "id-tc26-cipher-gostr3412-2015-kuznyechik" */ - 1177, /* "id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm" */ - 1178, /* "id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm-omac" */ 1173, /* "id-tc26-cipher-gostr3412-2015-magma" */ - 1174, /* "id-tc26-cipher-gostr3412-2015-magma-ctracpkm" */ - 1175, /* "id-tc26-cipher-gostr3412-2015-magma-ctracpkm-omac" */ 994, /* "id-tc26-constants" */ 981, /* "id-tc26-digest" */ 1000, /* "id-tc26-digest-constants" */ @@ -3122,9 +3112,7 @@ static const unsigned int sn_objs[NUM_SN] = { 986, /* "id-tc26-signwithdigest-gost3410-2012-512" */ 1179, /* "id-tc26-wrap" */ 1182, /* "id-tc26-wrap-gostr3412-2015-kuznyechik" */ - 1183, /* "id-tc26-wrap-gostr3412-2015-kuznyechik-kexp15" */ 1180, /* "id-tc26-wrap-gostr3412-2015-magma" */ - 1181, /* "id-tc26-wrap-gostr3412-2015-magma-kexp15" */ 676, /* "identified-organization" */ 1170, /* "ieee" */ 1171, /* "ieee-siswg" */ @@ -3147,6 +3135,15 @@ static const unsigned int sn_objs[NUM_SN] = { 956, /* "jurisdictionST" */ 150, /* "keyBag" */ 83, /* "keyUsage" */ + 1015, /* "kuznyechik-cbc" */ + 1016, /* "kuznyechik-cfb" */ + 1013, /* "kuznyechik-ctr" */ + 1177, /* "kuznyechik-ctr-acpkm" */ + 1178, /* "kuznyechik-ctr-acpkm-omac" */ + 1012, /* "kuznyechik-ecb" */ + 1183, /* "kuznyechik-kexp15" */ + 1017, /* "kuznyechik-mac" */ + 1014, /* "kuznyechik-ofb" */ 477, /* "lastModifiedBy" */ 476, /* "lastModifiedTime" */ 157, /* "localKeyID" */ @@ -3154,7 +3151,10 @@ static const unsigned int sn_objs[NUM_SN] = { 1190, /* "magma-cbc" */ 1191, /* "magma-cfb" */ 1188, /* "magma-ctr" */ + 1174, /* "magma-ctr-acpkm" */ + 1175, /* "magma-ctr-acpkm-omac" */ 1187, /* "magma-ecb" */ + 1181, /* "magma-kexp15" */ 1192, /* "magma-mac" */ 1189, /* "magma-ofb" */ 460, /* "mail" */ @@ -4037,12 +4037,6 @@ static const unsigned int ln_objs[NUM_LN] = { 975, /* "gost89-cnt-12" */ 1011, /* "gost89-ctr" */ 1010, /* "gost89-ecb" */ - 1015, /* "grasshopper-cbc" */ - 1016, /* "grasshopper-cfb" */ - 1013, /* "grasshopper-ctr" */ - 1012, /* "grasshopper-ecb" */ - 1017, /* "grasshopper-mac" */ - 1014, /* "grasshopper-ofb" */ 1036, /* "hkdf" */ 855, /* "hmac" */ 780, /* "hmac-md5" */ @@ -4290,11 +4284,7 @@ static const unsigned int ln_objs[NUM_LN] = { 990, /* "id-tc26-cipher" */ 1001, /* "id-tc26-cipher-constants" */ 1176, /* "id-tc26-cipher-gostr3412-2015-kuznyechik" */ - 1177, /* "id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm" */ - 1178, /* "id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm-omac" */ 1173, /* "id-tc26-cipher-gostr3412-2015-magma" */ - 1174, /* "id-tc26-cipher-gostr3412-2015-magma-ctracpkm" */ - 1175, /* "id-tc26-cipher-gostr3412-2015-magma-ctracpkm-omac" */ 994, /* "id-tc26-constants" */ 981, /* "id-tc26-digest" */ 1000, /* "id-tc26-digest-constants" */ @@ -4307,9 +4297,7 @@ static const unsigned int ln_objs[NUM_LN] = { 984, /* "id-tc26-signwithdigest" */ 1179, /* "id-tc26-wrap" */ 1182, /* "id-tc26-wrap-gostr3412-2015-kuznyechik" */ - 1183, /* "id-tc26-wrap-gostr3412-2015-kuznyechik-kexp15" */ 1180, /* "id-tc26-wrap-gostr3412-2015-magma" */ - 1181, /* "id-tc26-wrap-gostr3412-2015-magma-kexp15" */ 34, /* "idea-cbc" */ 35, /* "idea-cfb" */ 36, /* "idea-ecb" */ @@ -4334,6 +4322,15 @@ static const unsigned int ln_objs[NUM_LN] = { 773, /* "kisa" */ 1196, /* "kmac128" */ 1197, /* "kmac256" */ + 1015, /* "kuznyechik-cbc" */ + 1016, /* "kuznyechik-cfb" */ + 1013, /* "kuznyechik-ctr" */ + 1177, /* "kuznyechik-ctr-acpkm" */ + 1178, /* "kuznyechik-ctr-acpkm-omac" */ + 1012, /* "kuznyechik-ecb" */ + 1183, /* "kuznyechik-kexp15" */ + 1017, /* "kuznyechik-mac" */ + 1014, /* "kuznyechik-ofb" */ 1063, /* "kx-any" */ 1039, /* "kx-dhe" */ 1041, /* "kx-dhe-psk" */ @@ -4352,7 +4349,10 @@ static const unsigned int ln_objs[NUM_LN] = { 1190, /* "magma-cbc" */ 1191, /* "magma-cfb" */ 1188, /* "magma-ctr" */ + 1174, /* "magma-ctr-acpkm" */ + 1175, /* "magma-ctr-acpkm-omac" */ 1187, /* "magma-ecb" */ + 1181, /* "magma-kexp15" */ 1192, /* "magma-mac" */ 1189, /* "magma-ofb" */ 493, /* "mailPreferenceOption" */ @@ -5447,12 +5447,12 @@ static const unsigned int obj_objs[NUM_OBJ] = { 1120, /* OBJ_aria_128_ccm 1 2 410 200046 1 1 37 */ 1121, /* OBJ_aria_192_ccm 1 2 410 200046 1 1 38 */ 1122, /* OBJ_aria_256_ccm 1 2 410 200046 1 1 39 */ - 1174, /* OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm 1 2 643 7 1 1 5 1 1 */ - 1175, /* OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac 1 2 643 7 1 1 5 1 2 */ - 1177, /* OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm 1 2 643 7 1 1 5 2 1 */ - 1178, /* OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac 1 2 643 7 1 1 5 2 2 */ - 1181, /* OBJ_id_tc26_wrap_gostr3412_2015_magma_kexp15 1 2 643 7 1 1 7 1 1 */ - 1183, /* OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 1 2 643 7 1 1 7 2 1 */ + 1174, /* OBJ_magma_ctr_acpkm 1 2 643 7 1 1 5 1 1 */ + 1175, /* OBJ_magma_ctr_acpkm_omac 1 2 643 7 1 1 5 1 2 */ + 1177, /* OBJ_kuznyechik_ctr_acpkm 1 2 643 7 1 1 5 2 1 */ + 1178, /* OBJ_kuznyechik_ctr_acpkm_omac 1 2 643 7 1 1 5 2 2 */ + 1181, /* OBJ_magma_kexp15 1 2 643 7 1 1 7 1 1 */ + 1183, /* OBJ_kuznyechik_kexp15 1 2 643 7 1 1 7 2 1 */ 1148, /* OBJ_id_tc26_gost_3410_2012_256_paramSetA 1 2 643 7 1 2 1 1 1 */ 1184, /* OBJ_id_tc26_gost_3410_2012_256_paramSetB 1 2 643 7 1 2 1 1 2 */ 1185, /* OBJ_id_tc26_gost_3410_2012_256_paramSetC 1 2 643 7 1 2 1 1 3 */ diff --git a/crypto/objects/obj_dat.pl b/crypto/objects/obj_dat.pl index 2cee3e19..ea77b9d2 100644 --- a/crypto/objects/obj_dat.pl +++ b/crypto/objects/obj_dat.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 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 diff --git a/crypto/objects/obj_mac.num b/crypto/objects/obj_mac.num index 6fb028c1..2afe3992 100644 --- a/crypto/objects/obj_mac.num +++ b/crypto/objects/obj_mac.num @@ -1009,12 +1009,12 @@ issuerSignTool 1008 gost89_cbc 1009 gost89_ecb 1010 gost89_ctr 1011 -grasshopper_ecb 1012 -grasshopper_ctr 1013 -grasshopper_ofb 1014 -grasshopper_cbc 1015 -grasshopper_cfb 1016 -grasshopper_mac 1017 +kuznyechik_ecb 1012 +kuznyechik_ctr 1013 +kuznyechik_ofb 1014 +kuznyechik_cbc 1015 +kuznyechik_cfb 1016 +kuznyechik_mac 1017 chacha20_poly1305 1018 chacha20 1019 tlsfeature 1020 @@ -1171,16 +1171,16 @@ ieee 1170 ieee_siswg 1171 sm2 1172 id_tc26_cipher_gostr3412_2015_magma 1173 -id_tc26_cipher_gostr3412_2015_magma_ctracpkm 1174 -id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac 1175 +magma_ctr_acpkm 1174 +magma_ctr_acpkm_omac 1175 id_tc26_cipher_gostr3412_2015_kuznyechik 1176 -id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm 1177 -id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac 1178 +kuznyechik_ctr_acpkm 1177 +kuznyechik_ctr_acpkm_omac 1178 id_tc26_wrap 1179 id_tc26_wrap_gostr3412_2015_magma 1180 -id_tc26_wrap_gostr3412_2015_magma_kexp15 1181 +magma_kexp15 1181 id_tc26_wrap_gostr3412_2015_kuznyechik 1182 -id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 1183 +kuznyechik_kexp15 1183 id_tc26_gost_3410_2012_256_paramSetB 1184 id_tc26_gost_3410_2012_256_paramSetC 1185 id_tc26_gost_3410_2012_256_paramSetD 1186 diff --git a/crypto/objects/objects.pl b/crypto/objects/objects.pl index f4f11fa4..5edf26ec 100644 --- a/crypto/objects/objects.pl +++ b/crypto/objects/objects.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2000-2020 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 diff --git a/crypto/objects/objects.txt b/crypto/objects/objects.txt index bb4a9958..25aa503c 100644 --- a/crypto/objects/objects.txt +++ b/crypto/objects/objects.txt @@ -1359,11 +1359,11 @@ id-tc26-mac 2 : id-tc26-hmac-gost-3411-2012-512 : HMAC GOST 34.11-2012 512 bit id-tc26-algorithms 5 : id-tc26-cipher id-tc26-cipher 1 : id-tc26-cipher-gostr3412-2015-magma -id-tc26-cipher-gostr3412-2015-magma 1 : id-tc26-cipher-gostr3412-2015-magma-ctracpkm -id-tc26-cipher-gostr3412-2015-magma 2 : id-tc26-cipher-gostr3412-2015-magma-ctracpkm-omac +id-tc26-cipher-gostr3412-2015-magma 1 : magma-ctr-acpkm +id-tc26-cipher-gostr3412-2015-magma 2 : magma-ctr-acpkm-omac id-tc26-cipher 2 : id-tc26-cipher-gostr3412-2015-kuznyechik -id-tc26-cipher-gostr3412-2015-kuznyechik 1 : id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm -id-tc26-cipher-gostr3412-2015-kuznyechik 2 : id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm-omac +id-tc26-cipher-gostr3412-2015-kuznyechik 1 : kuznyechik-ctr-acpkm +id-tc26-cipher-gostr3412-2015-kuznyechik 2 : kuznyechik-ctr-acpkm-omac id-tc26-algorithms 6 : id-tc26-agreement id-tc26-agreement 1 : id-tc26-agreement-gost-3410-2012-256 @@ -1371,9 +1371,9 @@ id-tc26-agreement 2 : id-tc26-agreement-gost-3410-2012-512 id-tc26-algorithms 7 : id-tc26-wrap id-tc26-wrap 1 : id-tc26-wrap-gostr3412-2015-magma -id-tc26-wrap-gostr3412-2015-magma 1 : id-tc26-wrap-gostr3412-2015-magma-kexp15 +id-tc26-wrap-gostr3412-2015-magma 1 : magma-kexp15 id-tc26-wrap 2 : id-tc26-wrap-gostr3412-2015-kuznyechik -id-tc26-wrap-gostr3412-2015-kuznyechik 1 : id-tc26-wrap-gostr3412-2015-kuznyechik-kexp15 +id-tc26-wrap-gostr3412-2015-kuznyechik 1 : kuznyechik-kexp15 id-tc26 2 : id-tc26-constants @@ -1401,12 +1401,12 @@ member-body 643 100 111 : subjectSignTool : Signing Tool of Subject member-body 643 100 112 : issuerSignTool : Signing Tool of Issuer #GOST R34.13-2015 Grasshopper "Kuznechik" - : grasshopper-ecb - : grasshopper-ctr - : grasshopper-ofb - : grasshopper-cbc - : grasshopper-cfb - : grasshopper-mac + : kuznyechik-ecb + : kuznyechik-ctr + : kuznyechik-ofb + : kuznyechik-cbc + : kuznyechik-cfb + : kuznyechik-mac #GOST R34.13-2015 Magma : magma-ecb diff --git a/crypto/objects/objxref.pl b/crypto/objects/objxref.pl index 01ecf438..bf45d660 100644 --- a/crypto/objects/objxref.pl +++ b/crypto/objects/objxref.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1998-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1998-2020 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 diff --git a/crypto/ocsp/ocsp_cl.c b/crypto/ocsp/ocsp_cl.c index 6523dfec..95b16dce 100644 --- a/crypto/ocsp/ocsp_cl.c +++ b/crypto/ocsp/ocsp_cl.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 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 @@ -18,6 +18,10 @@ #include #include "ocsp_local.h" +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(OCSP_ONEREQ) +DEFINE_STACK_OF(OCSP_SINGLERESP) + /* * Utility functions related to sending OCSP requests and extracting relevant * information from the response. diff --git a/crypto/ocsp/ocsp_err.c b/crypto/ocsp/ocsp_err.c index e2717809..7cd36723 100644 --- a/crypto/ocsp/ocsp_err.c +++ b/crypto/ocsp/ocsp_err.c @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/ocsp/ocsp_ext.c b/crypto/ocsp/ocsp_ext.c index c8b698de..77e67840 100644 --- a/crypto/ocsp/ocsp_ext.c +++ b/crypto/ocsp/ocsp_ext.c @@ -1,5 +1,5 @@ /* - * Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2020 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 @@ -16,6 +16,9 @@ #include #include +DEFINE_STACK_OF(ASN1_OBJECT) +DEFINE_STACK_OF(ACCESS_DESCRIPTION) + /* Standard wrapper functions for extensions */ /* OCSP request extensions */ diff --git a/crypto/ocsp/ocsp_http.c b/crypto/ocsp/ocsp_http.c index 1e270100..cf4d69d8 100644 --- a/crypto/ocsp/ocsp_http.c +++ b/crypto/ocsp/ocsp_http.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 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 diff --git a/crypto/ocsp/ocsp_lib.c b/crypto/ocsp/ocsp_lib.c index 17a7b8eb..2701789c 100644 --- a/crypto/ocsp/ocsp_lib.c +++ b/crypto/ocsp/ocsp_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2020 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 diff --git a/crypto/ocsp/ocsp_prn.c b/crypto/ocsp/ocsp_prn.c index 6d527dfc..170fb275 100644 --- a/crypto/ocsp/ocsp_prn.c +++ b/crypto/ocsp/ocsp_prn.c @@ -14,6 +14,10 @@ #include "internal/cryptlib.h" #include +DEFINE_STACK_OF(OCSP_ONEREQ) +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(OCSP_SINGLERESP) + static int ocsp_certid_print(BIO *bp, OCSP_CERTID *a, int indent) { BIO_printf(bp, "%*sCertificate ID:\n", indent, ""); diff --git a/crypto/ocsp/ocsp_srv.c b/crypto/ocsp/ocsp_srv.c index 051747b4..3cfe3649 100644 --- a/crypto/ocsp/ocsp_srv.c +++ b/crypto/ocsp/ocsp_srv.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 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 @@ -16,6 +16,10 @@ #include #include "ocsp_local.h" +DEFINE_STACK_OF(OCSP_ONEREQ) +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(OCSP_SINGLERESP) + /* * Utility functions related to sending OCSP responses and extracting * relevant information from the request. diff --git a/crypto/ocsp/ocsp_vfy.c b/crypto/ocsp/ocsp_vfy.c index 421d2f32..0dccb24e 100644 --- a/crypto/ocsp/ocsp_vfy.c +++ b/crypto/ocsp/ocsp_vfy.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 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 @@ -12,6 +12,10 @@ #include #include +DEFINE_STACK_OF(OCSP_ONEREQ) +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(OCSP_SINGLERESP) + static int ocsp_find_signer(X509 **psigner, OCSP_BASICRESP *bs, STACK_OF(X509) *certs, unsigned long flags); static X509 *ocsp_find_signer_sk(STACK_OF(X509) *certs, OCSP_RESPID *id); diff --git a/crypto/ocsp/v3_ocsp.c b/crypto/ocsp/v3_ocsp.c index 9648ba94..33451ec4 100644 --- a/crypto/ocsp/v3_ocsp.c +++ b/crypto/ocsp/v3_ocsp.c @@ -16,6 +16,8 @@ # include # include "../x509/ext_dat.h" +DEFINE_STACK_OF(ACCESS_DESCRIPTION) + /* * OCSP extensions and a couple of CRL entry extensions */ diff --git a/crypto/packet.c b/crypto/packet.c index 6dacebfe..661b59e8 100644 --- a/crypto/packet.c +++ b/crypto/packet.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 diff --git a/crypto/param_build.c b/crypto/param_build.c index 4f999678..c4624ec3 100644 --- a/crypto/param_build.c +++ b/crypto/param_build.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -312,7 +312,7 @@ static OSSL_PARAM *param_bld_convert(OSSL_PARAM_BLD *bld, OSSL_PARAM *param, param[i].key = pd->key; param[i].data_type = pd->type; param[i].data_size = pd->size; - param[i].return_size = 0; + param[i].return_size = OSSL_PARAM_UNMODIFIED; if (pd->secure) { p = secure; diff --git a/crypto/params.c b/crypto/params.c index 64d53c50..32161d05 100644 --- a/crypto/params.c +++ b/crypto/params.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -36,10 +36,22 @@ static OSSL_PARAM ossl_param_construct(const char *key, unsigned int data_type, res.data_type = data_type; res.data = data; res.data_size = data_size; - res.return_size = 0; + res.return_size = OSSL_PARAM_UNMODIFIED; return res; } +int OSSL_PARAM_modified(const OSSL_PARAM *p) +{ + return p != NULL && p->return_size != OSSL_PARAM_UNMODIFIED; +} + +void OSSL_PARAM_set_all_unmodified(OSSL_PARAM *p) +{ + if (p != NULL) + while (p->key != NULL) + p++->return_size = OSSL_PARAM_UNMODIFIED; +} + int OSSL_PARAM_get_int(const OSSL_PARAM *p, int *val) { switch (sizeof(int)) { diff --git a/crypto/params_from_text.c b/crypto/params_from_text.c index 71fa8aef..14b64edb 100644 --- a/crypto/params_from_text.c +++ b/crypto/params_from_text.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -157,7 +157,7 @@ static int construct_from_text(OSSL_PARAM *to, const OSSL_PARAM *paramdef, *to = *paramdef; to->data = buf; to->data_size = buf_n; - to->return_size = 0; + to->return_size = OSSL_PARAM_UNMODIFIED; return 1; } diff --git a/crypto/pariscid.pl b/crypto/pariscid.pl index c8ee8bdb..bad33754 100644 --- a/crypto/pariscid.pl +++ b/crypto/pariscid.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 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 diff --git a/crypto/pem/pem_all.c b/crypto/pem/pem_all.c index d4b069d3..9b803082 100644 --- a/crypto/pem/pem_all.c +++ b/crypto/pem/pem_all.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/pem/pem_info.c b/crypto/pem/pem_info.c index 6c8eb2a9..f6a5dedc 100644 --- a/crypto/pem/pem_info.c +++ b/crypto/pem/pem_info.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -23,6 +23,8 @@ #include #include +DEFINE_STACK_OF(X509_INFO) + #ifndef OPENSSL_NO_STDIO STACK_OF(X509_INFO) *PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk, pem_password_cb *cb, void *u) diff --git a/crypto/pem/pem_pkey.c b/crypto/pem/pem_pkey.c index c619cc11..a1e8403e 100644 --- a/crypto/pem/pem_pkey.c +++ b/crypto/pem/pem_pkey.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -27,8 +27,9 @@ int pem_check_suffix(const char *pem_str, const char *suffix); -EVP_PKEY *PEM_read_bio_PrivateKey(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, - void *u) +EVP_PKEY *PEM_read_bio_PrivateKey_ex(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, + void *u, OPENSSL_CTX *libctx, + const char *propq) { EVP_PKEY *ret = NULL; OSSL_STORE_CTX *ctx = NULL; @@ -38,7 +39,8 @@ EVP_PKEY *PEM_read_bio_PrivateKey(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, if ((ui_method = UI_UTIL_wrap_read_pem_callback(cb, 0)) == NULL) return NULL; - if ((ctx = ossl_store_attach_pem_bio(bp, ui_method, u)) == NULL) + if ((ctx = ossl_store_attach_pem_bio(bp, ui_method, u, libctx, + propq)) == NULL) goto err; #ifndef OPENSSL_NO_SECURE_HEAP { @@ -66,6 +68,12 @@ EVP_PKEY *PEM_read_bio_PrivateKey(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, return ret; } +EVP_PKEY *PEM_read_bio_PrivateKey(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, + void *u) +{ + return PEM_read_bio_PrivateKey_ex(bp, x, cb, u, NULL, NULL); +} + PEM_write_cb_fnsig(PrivateKey, EVP_PKEY, BIO, write_bio) { IMPLEMENT_PEM_provided_write_body_vars(EVP_PKEY, PrivateKey); @@ -97,7 +105,7 @@ EVP_PKEY *PEM_read_bio_Parameters(BIO *bp, EVP_PKEY **x) OSSL_STORE_CTX *ctx = NULL; OSSL_STORE_INFO *info = NULL; - if ((ctx = ossl_store_attach_pem_bio(bp, UI_null(), NULL)) == NULL) + if ((ctx = ossl_store_attach_pem_bio(bp, UI_null(), NULL, NULL, NULL)) == NULL) goto err; while (!OSSL_STORE_eof(ctx) && (info = OSSL_STORE_load(ctx)) != NULL) { @@ -134,22 +142,29 @@ PEM_write_fnsig(Parameters, EVP_PKEY, BIO, write_bio) } #ifndef OPENSSL_NO_STDIO -EVP_PKEY *PEM_read_PrivateKey(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, - void *u) +EVP_PKEY *PEM_read_PrivateKey_ex(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, + void *u, OPENSSL_CTX *libctx, + const char *propq) { BIO *b; EVP_PKEY *ret; if ((b = BIO_new(BIO_s_file())) == NULL) { - PEMerr(PEM_F_PEM_READ_PRIVATEKEY, ERR_R_BUF_LIB); + PEMerr(0, ERR_R_BUF_LIB); return 0; } BIO_set_fp(b, fp, BIO_NOCLOSE); - ret = PEM_read_bio_PrivateKey(b, x, cb, u); + ret = PEM_read_bio_PrivateKey_ex(b, x, cb, u, libctx, propq); BIO_free(b); return ret; } +EVP_PKEY *PEM_read_PrivateKey(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, + void *u) +{ + return PEM_read_PrivateKey_ex(fp, x, cb, u, NULL, NULL); +} + int PEM_write_PrivateKey(FILE *fp, const EVP_PKEY *x, const EVP_CIPHER *enc, const unsigned char *kstr, int klen, pem_password_cb *cb, void *u) @@ -183,7 +198,7 @@ DH *PEM_read_bio_DHparams(BIO *bp, DH **x, pem_password_cb *cb, void *u) if ((ui_method = UI_UTIL_wrap_read_pem_callback(cb, 0)) == NULL) return NULL; - if ((ctx = ossl_store_attach_pem_bio(bp, ui_method, u)) == NULL) + if ((ctx = ossl_store_attach_pem_bio(bp, ui_method, u, NULL, NULL)) == NULL) goto err; while (!OSSL_STORE_eof(ctx) && (info = OSSL_STORE_load(ctx)) != NULL) { diff --git a/crypto/pem/pvkfmt.c b/crypto/pem/pvkfmt.c index 7f9de421..6896cc4e 100644 --- a/crypto/pem/pvkfmt.c +++ b/crypto/pem/pvkfmt.c @@ -1,5 +1,5 @@ /* - * Copyright 2005-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2005-2020 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 diff --git a/crypto/perlasm/arm-xlate.pl b/crypto/perlasm/arm-xlate.pl index b7ee99ee..f0e495d4 100755 --- a/crypto/perlasm/arm-xlate.pl +++ b/crypto/perlasm/arm-xlate.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/crypto/perlasm/cbc.pl b/crypto/perlasm/cbc.pl index 44a60eb7..ef09e0fd 100644 --- a/crypto/perlasm/cbc.pl +++ b/crypto/perlasm/cbc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 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 diff --git a/crypto/perlasm/ppc-xlate.pl b/crypto/perlasm/ppc-xlate.pl index 571d59c2..0c8009c0 100755 --- a/crypto/perlasm/ppc-xlate.pl +++ b/crypto/perlasm/ppc-xlate.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2006-2020 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 diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl index ff2df790..fdf3e543 100755 --- a/crypto/perlasm/x86_64-xlate.pl +++ b/crypto/perlasm/x86_64-xlate.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 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 diff --git a/crypto/perlasm/x86gas.pl b/crypto/perlasm/x86gas.pl index 2875a1f7..1b2b27c0 100644 --- a/crypto/perlasm/x86gas.pl +++ b/crypto/perlasm/x86gas.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 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 diff --git a/crypto/pkcs12/p12_crt.c b/crypto/pkcs12/p12_crt.c index 0e8b419d..f75b2437 100644 --- a/crypto/pkcs12/p12_crt.c +++ b/crypto/pkcs12/p12_crt.c @@ -12,6 +12,10 @@ #include #include "p12_local.h" +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(PKCS7) +DEFINE_STACK_OF(PKCS12_SAFEBAG) + static int pkcs12_add_bag(STACK_OF(PKCS12_SAFEBAG) **pbags, PKCS12_SAFEBAG *bag); diff --git a/crypto/pkcs12/p12_kiss.c b/crypto/pkcs12/p12_kiss.c index a9a3ff54..9a12ef10 100644 --- a/crypto/pkcs12/p12_kiss.c +++ b/crypto/pkcs12/p12_kiss.c @@ -11,6 +11,10 @@ #include "internal/cryptlib.h" #include +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(PKCS7) +DEFINE_STACK_OF(PKCS12_SAFEBAG) + /* Simplified PKCS#12 routines */ static int parse_pk12(PKCS12 *p12, const char *pass, int passlen, diff --git a/crypto/pkcs12/p12_mutl.c b/crypto/pkcs12/p12_mutl.c index 43d572ca..eb9e6eb4 100644 --- a/crypto/pkcs12/p12_mutl.c +++ b/crypto/pkcs12/p12_mutl.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2020 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 diff --git a/crypto/pkcs12/p12_npas.c b/crypto/pkcs12/p12_npas.c index 7c916d46..838abe35 100644 --- a/crypto/pkcs12/p12_npas.c +++ b/crypto/pkcs12/p12_npas.c @@ -15,6 +15,9 @@ #include #include "p12_local.h" +DEFINE_STACK_OF(PKCS7) +DEFINE_STACK_OF(PKCS12_SAFEBAG) + /* PKCS#12 password change routine */ static int newpass_p12(PKCS12 *p12, const char *oldpass, const char *newpass); diff --git a/crypto/pkcs7/pk7_attr.c b/crypto/pkcs7/pk7_attr.c index e7bc808c..1c95a3cf 100644 --- a/crypto/pkcs7/pk7_attr.c +++ b/crypto/pkcs7/pk7_attr.c @@ -17,6 +17,8 @@ #include #include +DEFINE_STACK_OF(X509_ALGOR) + int PKCS7_add_attrib_smimecap(PKCS7_SIGNER_INFO *si, STACK_OF(X509_ALGOR) *cap) { diff --git a/crypto/pkcs7/pk7_doit.c b/crypto/pkcs7/pk7_doit.c index 2cf62b62..9fb3ffc1 100644 --- a/crypto/pkcs7/pk7_doit.c +++ b/crypto/pkcs7/pk7_doit.c @@ -15,6 +15,11 @@ #include #include +DEFINE_STACK_OF(X509_ALGOR) +DEFINE_STACK_OF(X509_ATTRIBUTE) +DEFINE_STACK_OF(PKCS7_RECIP_INFO) +DEFINE_STACK_OF(PKCS7_SIGNER_INFO) + static int add_attribute(STACK_OF(X509_ATTRIBUTE) **sk, int nid, int atrtype, void *value); static ASN1_TYPE *get_attribute(STACK_OF(X509_ATTRIBUTE) *sk, int nid); diff --git a/crypto/pkcs7/pk7_lib.c b/crypto/pkcs7/pk7_lib.c index ca039656..0eb140e6 100644 --- a/crypto/pkcs7/pk7_lib.c +++ b/crypto/pkcs7/pk7_lib.c @@ -14,6 +14,12 @@ #include "crypto/asn1.h" #include "crypto/evp.h" +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_CRL) +DEFINE_STACK_OF(X509_ALGOR) +DEFINE_STACK_OF(PKCS7_RECIP_INFO) +DEFINE_STACK_OF(PKCS7_SIGNER_INFO) + long PKCS7_ctrl(PKCS7 *p7, int cmd, long larg, char *parg) { int nid; diff --git a/crypto/pkcs7/pk7_smime.c b/crypto/pkcs7/pk7_smime.c index 43ad266a..3ef59c57 100644 --- a/crypto/pkcs7/pk7_smime.c +++ b/crypto/pkcs7/pk7_smime.c @@ -14,9 +14,13 @@ #include #include - #define BUFFERSIZE 4096 +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_ATTRIBUTE) +DEFINE_STACK_OF(X509_ALGOR) +DEFINE_STACK_OF(PKCS7_SIGNER_INFO) + static int pkcs7_copy_existing_digest(PKCS7 *p7, PKCS7_SIGNER_INFO *si); PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, diff --git a/crypto/poly1305/asm/poly1305-armv4.pl b/crypto/poly1305/asm/poly1305-armv4.pl index aab5ce73..041bfd46 100755 --- a/crypto/poly1305/asm/poly1305-armv4.pl +++ b/crypto/poly1305/asm/poly1305-armv4.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/crypto/poly1305/asm/poly1305-armv8.pl b/crypto/poly1305/asm/poly1305-armv8.pl index 887c6f92..d2d31fcc 100755 --- a/crypto/poly1305/asm/poly1305-armv8.pl +++ b/crypto/poly1305/asm/poly1305-armv8.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/crypto/poly1305/asm/poly1305-mips.pl b/crypto/poly1305/asm/poly1305-mips.pl index dc7eb640..6c0b3292 100755 --- a/crypto/poly1305/asm/poly1305-mips.pl +++ b/crypto/poly1305/asm/poly1305-mips.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/crypto/poly1305/asm/poly1305-ppc.pl b/crypto/poly1305/asm/poly1305-ppc.pl index 915d0947..9f86134d 100755 --- a/crypto/poly1305/asm/poly1305-ppc.pl +++ b/crypto/poly1305/asm/poly1305-ppc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/crypto/poly1305/asm/poly1305-ppcfp.pl b/crypto/poly1305/asm/poly1305-ppcfp.pl index 10342544..218708a4 100755 --- a/crypto/poly1305/asm/poly1305-ppcfp.pl +++ b/crypto/poly1305/asm/poly1305-ppcfp.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/crypto/poly1305/asm/poly1305-sparcv9.pl b/crypto/poly1305/asm/poly1305-sparcv9.pl index 5275f990..c9db450b 100755 --- a/crypto/poly1305/asm/poly1305-sparcv9.pl +++ b/crypto/poly1305/asm/poly1305-sparcv9.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/crypto/poly1305/asm/poly1305-x86.pl b/crypto/poly1305/asm/poly1305-x86.pl index 8df52e4b..f58af008 100755 --- a/crypto/poly1305/asm/poly1305-x86.pl +++ b/crypto/poly1305/asm/poly1305-x86.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/crypto/poly1305/asm/poly1305-x86_64.pl b/crypto/poly1305/asm/poly1305-x86_64.pl index b97398db..dbcd0463 100755 --- a/crypto/poly1305/asm/poly1305-x86_64.pl +++ b/crypto/poly1305/asm/poly1305-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/crypto/ppccpuid.pl b/crypto/ppccpuid.pl index 3dbd6dab..c6555df5 100755 --- a/crypto/ppccpuid.pl +++ b/crypto/ppccpuid.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 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 diff --git a/crypto/property/property_parse.c b/crypto/property/property_parse.c index 5af67a7a..eee76abc 100644 --- a/crypto/property/property_parse.c +++ b/crypto/property/property_parse.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/crypto/provider_conf.c b/crypto/provider_conf.c index 3bf974e9..ce09fae7 100644 --- a/crypto/provider_conf.c +++ b/crypto/provider_conf.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 @@ -14,9 +14,11 @@ #include #include "internal/provider.h" +DEFINE_STACK_OF(OSSL_PROVIDER) +DEFINE_STACK_OF(CONF_VALUE) + /* PROVIDER config module */ -DEFINE_STACK_OF(OSSL_PROVIDER) static STACK_OF(OSSL_PROVIDER) *activated_providers = NULL; static const char *skip_dot(const char *name) diff --git a/crypto/provider_core.c b/crypto/provider_core.c index ef8b3bf5..f1118a20 100644 --- a/crypto/provider_core.c +++ b/crypto/provider_core.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/crypto/provider_predefined.c b/crypto/provider_predefined.c index fdf9a7e1..42fc5db9 100644 --- a/crypto/provider_predefined.c +++ b/crypto/provider_predefined.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/crypto/rand/build.info b/crypto/rand/build.info index 0925c4b2..c4e7476e 100644 --- a/crypto/rand/build.info +++ b/crypto/rand/build.info @@ -1,7 +1,16 @@ LIBS=../../libcrypto -$COMMON=rand_lib.c rand_crng_test.c rand_win.c rand_unix.c rand_vms.c \ - drbg_lib.c drbg_ctr.c rand_vxworks.c drbg_hash.c drbg_hmac.c +$COMMON=rand_lib.c rand_crng_test.c rand_unix.c rand_win.c \ + drbg_lib.c drbg_ctr.c drbg_hash.c drbg_hmac.c +IF[{- !$disabled{'egd'} -}] + $COMMON=$COMMON rand_egd.c +ENDIF +IF[{- $config{target} =~ /vxworks/i -}] + $COMMON=$COMMON rand_vxworks.c +ENDIF +IF[{- $config{target} =~ /vms/i -}] + $COMMON=$COMMON rand_vms.c +ENDIF -SOURCE[../../libcrypto]=$COMMON randfile.c rand_err.c rand_egd.c +SOURCE[../../libcrypto]=$COMMON randfile.c rand_err.c SOURCE[../../providers/libfips.a]=$COMMON diff --git a/crypto/rand/drbg_ctr.c b/crypto/rand/drbg_ctr.c index 52559fab..063e3bb1 100644 --- a/crypto/rand/drbg_ctr.c +++ b/crypto/rand/drbg_ctr.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2020 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 diff --git a/crypto/rand/drbg_hmac.c b/crypto/rand/drbg_hmac.c index 241619a2..ea55279e 100644 --- a/crypto/rand/drbg_hmac.c +++ b/crypto/rand/drbg_hmac.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2020 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 diff --git a/crypto/rand/drbg_lib.c b/crypto/rand/drbg_lib.c index 0334dee9..c3f3b4eb 100644 --- a/crypto/rand/drbg_lib.c +++ b/crypto/rand/drbg_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2020 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 diff --git a/crypto/rand/rand_egd.c b/crypto/rand/rand_egd.c index bac8d609..cd875319 100644 --- a/crypto/rand/rand_egd.c +++ b/crypto/rand/rand_egd.c @@ -1,5 +1,5 @@ /* - * Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2020 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 @@ -8,19 +8,16 @@ */ #include -#ifdef OPENSSL_NO_EGD -NON_EMPTY_TRANSLATION_UNIT -#else -# include -# include -# include +#include +#include +#include /* * Query an EGD */ -# if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_VOS) || defined(OPENSSL_SYS_UEFI) +#if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_VOS) || defined(OPENSSL_SYS_UEFI) int RAND_query_egd_bytes(const char *path, unsigned char *buf, int bytes) { return -1; @@ -36,26 +33,26 @@ int RAND_egd_bytes(const char *path, int bytes) return -1; } -# else +#else -# include -# include -# include -# include -# ifndef NO_SYS_UN_H -# ifdef OPENSSL_SYS_VXWORKS -# include -# else -# include -# endif +# include +# include +# include +# include +# ifndef NO_SYS_UN_H +# ifdef OPENSSL_SYS_VXWORKS +# include # else +# include +# endif +# else struct sockaddr_un { short sun_family; /* AF_UNIX */ char sun_path[108]; /* path name (gag) */ }; -# endif /* NO_SYS_UN_H */ -# include -# include +# endif /* NO_SYS_UN_H */ +# include +# include int RAND_query_egd_bytes(const char *path, unsigned char *buf, int bytes) { @@ -83,23 +80,23 @@ int RAND_query_egd_bytes(const char *path, unsigned char *buf, int bytes) for ( ; ; ) { if (connect(fd, (struct sockaddr *)&addr, i) == 0) break; -# ifdef EISCONN +# ifdef EISCONN if (errno == EISCONN) break; -# endif +# endif switch (errno) { -# ifdef EINTR +# ifdef EINTR case EINTR: -# endif -# ifdef EAGAIN +# endif +# ifdef EAGAIN case EAGAIN: -# endif -# ifdef EINPROGRESS +# endif +# ifdef EINPROGRESS case EINPROGRESS: -# endif -# ifdef EALREADY +# endif +# ifdef EALREADY case EALREADY: -# endif +# endif /* No error, try again */ break; default: @@ -153,6 +150,4 @@ int RAND_egd(const char *path) return RAND_egd_bytes(path, 255); } -# endif - #endif diff --git a/crypto/rand/rand_lib.c b/crypto/rand/rand_lib.c index 8daf66fb..2e21ddfc 100644 --- a/crypto/rand/rand_lib.c +++ b/crypto/rand/rand_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rand/rand_local.h b/crypto/rand/rand_local.h index 646c0c33..5152bf80 100644 --- a/crypto/rand/rand_local.h +++ b/crypto/rand/rand_local.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rand/rand_unix.c b/crypto/rand/rand_unix.c index a733f041..bef4af8d 100644 --- a/crypto/rand/rand_unix.c +++ b/crypto/rand/rand_unix.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rand/rand_vms.c b/crypto/rand/rand_vms.c index 13d913bc..6b9fa2c7 100644 --- a/crypto/rand/rand_vms.c +++ b/crypto/rand/rand_vms.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 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 @@ -9,34 +9,33 @@ #include "e_os.h" -#if defined(OPENSSL_SYS_VMS) -# define __NEW_STARLET 1 /* New starlet definitions since VMS 7.0 */ -# include -# include "internal/cryptlib.h" -# include -# include "crypto/rand.h" -# include "rand_local.h" -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# ifdef __DECC -# pragma message disable DOLLARID -# endif +#define __NEW_STARLET 1 /* New starlet definitions since VMS 7.0 */ +#include +#include "internal/cryptlib.h" +#include +#include "crypto/rand.h" +#include "rand_local.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#ifdef __DECC +# pragma message disable DOLLARID +#endif -# include /* SYS$GET_ENTROPY presence */ +#include /* SYS$GET_ENTROPY presence */ -# ifndef OPENSSL_RAND_SEED_OS -# error "Unsupported seeding method configured; must be os" -# endif +#ifndef OPENSSL_RAND_SEED_OS +# error "Unsupported seeding method configured; must be os" +#endif /* * DATA COLLECTION METHOD @@ -48,14 +47,14 @@ */ /* We need to make sure we have the right size pointer in some cases */ -# if __INITIAL_POINTER_SIZE == 64 -# pragma pointer_size save -# pragma pointer_size 32 -# endif +#if __INITIAL_POINTER_SIZE == 64 +# pragma pointer_size save +# pragma pointer_size 32 +#endif typedef uint32_t *uint32_t__ptr32; -# if __INITIAL_POINTER_SIZE == 64 -# pragma pointer_size restore -# endif +#if __INITIAL_POINTER_SIZE == 64 +# pragma pointer_size restore +#endif struct item_st { short length, code; /* length is number of bytes */ @@ -613,5 +612,3 @@ void rand_pool_cleanup(void) void rand_pool_keep_random_devices_open(int keep) { } - -#endif diff --git a/crypto/rand/rand_vxworks.c b/crypto/rand/rand_vxworks.c index d6746989..8a891d2f 100644 --- a/crypto/rand/rand_vxworks.c +++ b/crypto/rand/rand_vxworks.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -9,35 +9,32 @@ #include -#ifndef OPENSSL_SYS_VXWORKS -NON_EMPTY_TRANSLATION_UNIT -#else -# include -# include "rand_local.h" -# include "crypto/rand.h" -# include "internal/cryptlib.h" -# include -# include +#include +#include "rand_local.h" +#include "crypto/rand.h" +#include "internal/cryptlib.h" +#include +#include -# if defined(OPENSSL_RAND_SEED_NONE) +#if defined(OPENSSL_RAND_SEED_NONE) /* none means none */ -# undef OPENSSL_RAND_SEED_OS -# endif +# undef OPENSSL_RAND_SEED_OS +#endif -# if defined(OPENSSL_RAND_SEED_OS) -# if _WRS_VXWORKS_MAJOR >= 7 -# define RAND_SEED_VXRANDLIB -# else -# error "VxWorks <7 only support RAND_SEED_NONE" -# endif +#if defined(OPENSSL_RAND_SEED_OS) +# if _WRS_VXWORKS_MAJOR >= 7 +# define RAND_SEED_VXRANDLIB +# else +# error "VxWorks <7 only support RAND_SEED_NONE" # endif +#endif -# if defined(RAND_SEED_VXRANDLIB) -# include -# endif +#if defined(RAND_SEED_VXRANDLIB) +# include +#endif /* Macro to convert two thirty two bit values into a sixty four bit one */ -# define TWO32TO64(a, b) ((((uint64_t)(a)) << 32) + (b)) +#define TWO32TO64(a, b) ((((uint64_t)(a)) << 32) + (b)) static uint64_t get_time_stamp(void) { @@ -122,7 +119,7 @@ int rand_pool_add_nonce_data(RAND_POOL *pool) size_t rand_pool_acquire_entropy(RAND_POOL *pool) { -# if defined(RAND_SEED_VXRANDLIB) +#if defined(RAND_SEED_VXRANDLIB) /* vxRandLib based entropy method */ size_t bytes_needed; @@ -159,13 +156,11 @@ size_t rand_pool_acquire_entropy(RAND_POOL *pool) } } return rand_pool_entropy_available(pool); -# else +#else /* * SEED_NONE means none, without randlib we dont have entropy and * rely on it being added externally */ return rand_pool_entropy_available(pool); -# endif /* defined(RAND_SEED_VXRANDLIB) */ +#endif /* defined(RAND_SEED_VXRANDLIB) */ } - -#endif /* OPENSSL_SYS_VXWORKS */ diff --git a/crypto/rc2/rc2_cbc.c b/crypto/rc2/rc2_cbc.c index acfd4fde..d37093fc 100644 --- a/crypto/rc2/rc2_cbc.c +++ b/crypto/rc2/rc2_cbc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rc2/rc2_ecb.c b/crypto/rc2/rc2_ecb.c index da086e65..8861d056 100644 --- a/crypto/rc2/rc2_ecb.c +++ b/crypto/rc2/rc2_ecb.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rc2/rc2_skey.c b/crypto/rc2/rc2_skey.c index 542ce0f6..90fdface 100644 --- a/crypto/rc2/rc2_skey.c +++ b/crypto/rc2/rc2_skey.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rc2/rc2cfb64.c b/crypto/rc2/rc2cfb64.c index 298be79d..19612d93 100644 --- a/crypto/rc2/rc2cfb64.c +++ b/crypto/rc2/rc2cfb64.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rc2/rc2ofb64.c b/crypto/rc2/rc2ofb64.c index 097f8bef..82c34b3a 100644 --- a/crypto/rc2/rc2ofb64.c +++ b/crypto/rc2/rc2ofb64.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rc4/asm/rc4-586.pl b/crypto/rc4/asm/rc4-586.pl index 126903f7..1fae93ae 100644 --- a/crypto/rc4/asm/rc4-586.pl +++ b/crypto/rc4/asm/rc4-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1998-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1998-2020 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 diff --git a/crypto/rc4/asm/rc4-c64xplus.pl b/crypto/rc4/asm/rc4-c64xplus.pl index 28ff0887..bd1745f1 100644 --- a/crypto/rc4/asm/rc4-c64xplus.pl +++ b/crypto/rc4/asm/rc4-c64xplus.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2014-2020 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 diff --git a/crypto/rc4/asm/rc4-md5-x86_64.pl b/crypto/rc4/asm/rc4-md5-x86_64.pl index a3f6550a..2d2e2ef8 100644 --- a/crypto/rc4/asm/rc4-md5-x86_64.pl +++ b/crypto/rc4/asm/rc4-md5-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2011-2020 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 diff --git a/crypto/rc4/asm/rc4-parisc.pl b/crypto/rc4/asm/rc4-parisc.pl index 660295ab..9a38674a 100644 --- a/crypto/rc4/asm/rc4-parisc.pl +++ b/crypto/rc4/asm/rc4-parisc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 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 diff --git a/crypto/rc4/asm/rc4-s390x.pl b/crypto/rc4/asm/rc4-s390x.pl index c4e4cdea..d5250f57 100644 --- a/crypto/rc4/asm/rc4-s390x.pl +++ b/crypto/rc4/asm/rc4-s390x.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 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 diff --git a/crypto/rc4/asm/rc4-x86_64.pl b/crypto/rc4/asm/rc4-x86_64.pl index adbc40a3..5a903f57 100755 --- a/crypto/rc4/asm/rc4-x86_64.pl +++ b/crypto/rc4/asm/rc4-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 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 diff --git a/crypto/rc4/rc4_enc.c b/crypto/rc4/rc4_enc.c index 8479091c..40153327 100644 --- a/crypto/rc4/rc4_enc.c +++ b/crypto/rc4/rc4_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rc4/rc4_skey.c b/crypto/rc4/rc4_skey.c index e9d60ca0..3797eff3 100644 --- a/crypto/rc4/rc4_skey.c +++ b/crypto/rc4/rc4_skey.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rc5/asm/rc5-586.pl b/crypto/rc5/asm/rc5-586.pl index 3c8e3833..6def6fca 100644 --- a/crypto/rc5/asm/rc5-586.pl +++ b/crypto/rc5/asm/rc5-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 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 diff --git a/crypto/rc5/rc5_ecb.c b/crypto/rc5/rc5_ecb.c index 39c36b61..e533b9ea 100644 --- a/crypto/rc5/rc5_ecb.c +++ b/crypto/rc5/rc5_ecb.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rc5/rc5_enc.c b/crypto/rc5/rc5_enc.c index 0fa80a50..2f9feee0 100644 --- a/crypto/rc5/rc5_enc.c +++ b/crypto/rc5/rc5_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rc5/rc5_skey.c b/crypto/rc5/rc5_skey.c index dc8617f6..a08b940b 100644 --- a/crypto/rc5/rc5_skey.c +++ b/crypto/rc5/rc5_skey.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rc5/rc5cfb64.c b/crypto/rc5/rc5cfb64.c index 99b1753a..9088eb7e 100644 --- a/crypto/rc5/rc5cfb64.c +++ b/crypto/rc5/rc5cfb64.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rc5/rc5ofb64.c b/crypto/rc5/rc5ofb64.c index 7fc19fd1..b1128b1f 100644 --- a/crypto/rc5/rc5ofb64.c +++ b/crypto/rc5/rc5ofb64.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/ripemd/asm/rmd-586.pl b/crypto/ripemd/asm/rmd-586.pl index d4e64b8c..354bf44e 100644 --- a/crypto/ripemd/asm/rmd-586.pl +++ b/crypto/ripemd/asm/rmd-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 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 diff --git a/crypto/ripemd/rmd_dgst.c b/crypto/ripemd/rmd_dgst.c index d815f173..77b9d32d 100644 --- a/crypto/ripemd/rmd_dgst.c +++ b/crypto/ripemd/rmd_dgst.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/ripemd/rmd_one.c b/crypto/ripemd/rmd_one.c index 30a83da8..dcd7bae1 100644 --- a/crypto/ripemd/rmd_one.c +++ b/crypto/ripemd/rmd_one.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rsa/build.info b/crypto/rsa/build.info index 0c9e4668..970c4935 100644 --- a/crypto/rsa/build.info +++ b/crypto/rsa/build.info @@ -6,6 +6,10 @@ $COMMON=rsa_ossl.c rsa_gen.c rsa_lib.c rsa_sign.c rsa_pk1.c \ rsa_mp_names.c SOURCE[../../libcrypto]=$COMMON\ - rsa_saos.c rsa_err.c rsa_asn1.c rsa_depr.c rsa_ameth.c rsa_prn.c \ + rsa_saos.c rsa_err.c rsa_asn1.c rsa_ameth.c rsa_prn.c \ rsa_pmeth.c rsa_meth.c rsa_mp.c rsa_ssl.c +IF[{- !$disabled{'deprecated-0.9.8'} -}] + SOURCE[../../libcrypto]=rsa_depr.c +ENDIF + SOURCE[../../providers/libfips.a]=$COMMON diff --git a/crypto/rsa/rsa_ameth.c b/crypto/rsa/rsa_ameth.c index 291c3a22..f6af743f 100644 --- a/crypto/rsa/rsa_ameth.c +++ b/crypto/rsa/rsa_ameth.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 @@ -1174,10 +1174,11 @@ static int rsa_pkey_export_to(const EVP_PKEY *from, void *to_keydata, return rv; } -static int rsa_pkey_import_from(const OSSL_PARAM params[], void *key) +static int rsa_pkey_import_from(const OSSL_PARAM params[], void *vpctx) { - EVP_PKEY *pkey = key; - RSA *rsa = RSA_new(); + EVP_PKEY_CTX *pctx = vpctx; + EVP_PKEY *pkey = EVP_PKEY_CTX_get0_pkey(pctx); + RSA *rsa = rsa_new_with_ctx(pctx->libctx); if (rsa == NULL) { ERR_raise(ERR_LIB_DH, ERR_R_MALLOC_FAILURE); diff --git a/crypto/rsa/rsa_asn1.c b/crypto/rsa/rsa_asn1.c index e6b81253..1a30c951 100644 --- a/crypto/rsa/rsa_asn1.c +++ b/crypto/rsa/rsa_asn1.c @@ -1,5 +1,5 @@ /* - * Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2020 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 diff --git a/crypto/rsa/rsa_crpt.c b/crypto/rsa/rsa_crpt.c index 6abee298..b86a4092 100644 --- a/crypto/rsa/rsa_crpt.c +++ b/crypto/rsa/rsa_crpt.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rsa/rsa_depr.c b/crypto/rsa/rsa_depr.c index ed632626..09ba3d71 100644 --- a/crypto/rsa/rsa_depr.c +++ b/crypto/rsa/rsa_depr.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 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 @@ -13,16 +13,12 @@ */ #include -#ifdef OPENSSL_NO_DEPRECATED_0_9_8 -NON_EMPTY_TRANSLATION_UNIT -#else - -# include -# include -# include "internal/cryptlib.h" -# include -# include +#include +#include +#include "internal/cryptlib.h" +#include +#include RSA *RSA_generate_key(int bits, unsigned long e_value, void (*callback) (int, int, void *), void *cb_arg) @@ -58,4 +54,3 @@ RSA *RSA_generate_key(int bits, unsigned long e_value, BN_GENCB_free(cb); return 0; } -#endif diff --git a/crypto/rsa/rsa_gen.c b/crypto/rsa/rsa_gen.c index b74f43f8..16d365c2 100644 --- a/crypto/rsa/rsa_gen.c +++ b/crypto/rsa/rsa_gen.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rsa/rsa_lib.c b/crypto/rsa/rsa_lib.c index 51fd3c5c..f657c8a8 100644 --- a/crypto/rsa/rsa_lib.c +++ b/crypto/rsa/rsa_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rsa/rsa_local.h b/crypto/rsa/rsa_local.h index 423492b9..a5e4b6fd 100644 --- a/crypto/rsa/rsa_local.h +++ b/crypto/rsa/rsa_local.h @@ -1,5 +1,5 @@ /* - * Copyright 2006-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 diff --git a/crypto/rsa/rsa_meth.c b/crypto/rsa/rsa_meth.c index a2a0426e..03e3b5f4 100644 --- a/crypto/rsa/rsa_meth.c +++ b/crypto/rsa/rsa_meth.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/crypto/rsa/rsa_none.c b/crypto/rsa/rsa_none.c index 833ab940..0dccc372 100644 --- a/crypto/rsa/rsa_none.c +++ b/crypto/rsa/rsa_none.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rsa/rsa_oaep.c b/crypto/rsa/rsa_oaep.c index a0af7411..9fac1b84 100644 --- a/crypto/rsa/rsa_oaep.c +++ b/crypto/rsa/rsa_oaep.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2020 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 diff --git a/crypto/rsa/rsa_ossl.c b/crypto/rsa/rsa_ossl.c index 7746f6d9..bed9dd5e 100644 --- a/crypto/rsa/rsa_ossl.c +++ b/crypto/rsa/rsa_ossl.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rsa/rsa_pk1.c b/crypto/rsa/rsa_pk1.c index c6bbf2dc..2db8ff34 100644 --- a/crypto/rsa/rsa_pk1.c +++ b/crypto/rsa/rsa_pk1.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rsa/rsa_pmeth.c b/crypto/rsa/rsa_pmeth.c index 96937ae0..2ac44fdd 100644 --- a/crypto/rsa/rsa_pmeth.c +++ b/crypto/rsa/rsa_pmeth.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 diff --git a/crypto/rsa/rsa_prn.c b/crypto/rsa/rsa_prn.c index 5e4c098a..7c26007d 100644 --- a/crypto/rsa/rsa_prn.c +++ b/crypto/rsa/rsa_prn.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 diff --git a/crypto/rsa/rsa_pss.c b/crypto/rsa/rsa_pss.c index bd82faf5..365e77f5 100644 --- a/crypto/rsa/rsa_pss.c +++ b/crypto/rsa/rsa_pss.c @@ -1,5 +1,5 @@ /* - * Copyright 2005-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2005-2020 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 diff --git a/crypto/rsa/rsa_saos.c b/crypto/rsa/rsa_saos.c index 7041535c..0500e9ec 100644 --- a/crypto/rsa/rsa_saos.c +++ b/crypto/rsa/rsa_saos.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rsa/rsa_sign.c b/crypto/rsa/rsa_sign.c index 3d89a8db..eeaa2d9a 100644 --- a/crypto/rsa/rsa_sign.c +++ b/crypto/rsa/rsa_sign.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rsa/rsa_sp800_56b_check.c b/crypto/rsa/rsa_sp800_56b_check.c index e2728407..2abd6db1 100644 --- a/crypto/rsa/rsa_sp800_56b_check.c +++ b/crypto/rsa/rsa_sp800_56b_check.c @@ -1,5 +1,5 @@ /* - * Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2018-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2018-2019, Oracle and/or its affiliates. All rights reserved. * * Licensed under the OpenSSL license (the "License"). You may not use diff --git a/crypto/rsa/rsa_sp800_56b_gen.c b/crypto/rsa/rsa_sp800_56b_gen.c index a60a428b..6c30a967 100644 --- a/crypto/rsa/rsa_sp800_56b_gen.c +++ b/crypto/rsa/rsa_sp800_56b_gen.c @@ -1,5 +1,5 @@ /* - * Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2018-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2018-2019, Oracle and/or its affiliates. All rights reserved. * * Licensed under the OpenSSL license (the "License"). You may not use diff --git a/crypto/rsa/rsa_ssl.c b/crypto/rsa/rsa_ssl.c index 49005a54..f40af27b 100644 --- a/crypto/rsa/rsa_ssl.c +++ b/crypto/rsa/rsa_ssl.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/rsa/rsa_x931.c b/crypto/rsa/rsa_x931.c index 3caafb69..8b7b4fd6 100644 --- a/crypto/rsa/rsa_x931.c +++ b/crypto/rsa/rsa_x931.c @@ -1,5 +1,5 @@ /* - * Copyright 2005-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2005-2020 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 diff --git a/crypto/rsa/rsa_x931g.c b/crypto/rsa/rsa_x931g.c index 1f6042a3..35a6648a 100644 --- a/crypto/rsa/rsa_x931g.c +++ b/crypto/rsa/rsa_x931g.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/s390x_arch.h b/crypto/s390x_arch.h index 0123de94..78fcd73a 100644 --- a/crypto/s390x_arch.h +++ b/crypto/s390x_arch.h @@ -1,5 +1,5 @@ /* - * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2020 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 @@ -33,6 +33,23 @@ int s390x_kdsa(unsigned int fc, void *param, const unsigned char *in, void s390x_flip_endian32(unsigned char dst[32], const unsigned char src[32]); void s390x_flip_endian64(unsigned char dst[64], const unsigned char src[64]); +int s390x_x25519_mul(unsigned char u_dst[32], + const unsigned char u_src[32], + const unsigned char d_src[32]); +int s390x_x448_mul(unsigned char u_dst[56], + const unsigned char u_src[56], + const unsigned char d_src[56]); +int s390x_ed25519_mul(unsigned char x_dst[32], + unsigned char y_dst[32], + const unsigned char x_src[32], + const unsigned char y_src[32], + const unsigned char d_src[32]); +int s390x_ed448_mul(unsigned char x_dst[57], + unsigned char y_dst[57], + const unsigned char x_src[57], + const unsigned char y_src[57], + const unsigned char d_src[57]); + /* * The field elements of OPENSSL_s390xcap_P are the 64-bit words returned by * the STFLE instruction followed by the 64-bit word pairs returned by diff --git a/crypto/s390xcpuid.pl b/crypto/s390xcpuid.pl index f330eff1..560a2f09 100755 --- a/crypto/s390xcpuid.pl +++ b/crypto/s390xcpuid.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 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 diff --git a/crypto/seed/seed.c b/crypto/seed/seed.c index 492853d5..de3b3958 100644 --- a/crypto/seed/seed.c +++ b/crypto/seed/seed.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 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 diff --git a/crypto/seed/seed_cbc.c b/crypto/seed/seed_cbc.c index 59ebbeef..d5a324fd 100644 --- a/crypto/seed/seed_cbc.c +++ b/crypto/seed/seed_cbc.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 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 diff --git a/crypto/seed/seed_cfb.c b/crypto/seed/seed_cfb.c index 0e86e169..24fbfbf7 100644 --- a/crypto/seed/seed_cfb.c +++ b/crypto/seed/seed_cfb.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 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 diff --git a/crypto/seed/seed_ecb.c b/crypto/seed/seed_ecb.c index b7ea0d43..9f357511 100644 --- a/crypto/seed/seed_ecb.c +++ b/crypto/seed/seed_ecb.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 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 diff --git a/crypto/seed/seed_ofb.c b/crypto/seed/seed_ofb.c index 3bc6c17d..b2e90533 100644 --- a/crypto/seed/seed_ofb.c +++ b/crypto/seed/seed_ofb.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 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 diff --git a/crypto/serializer/serializer_local.h b/crypto/serializer/serializer_local.h index 7a66472f..44578448 100644 --- a/crypto/serializer/serializer_local.h +++ b/crypto/serializer/serializer_local.h @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/crypto/serializer/serializer_pkey.c b/crypto/serializer/serializer_pkey.c index 4b1bf5c3..3750ea3d 100644 --- a/crypto/serializer/serializer_pkey.c +++ b/crypto/serializer/serializer_pkey.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/crypto/sha/asm/keccak1600-armv4.pl b/crypto/sha/asm/keccak1600-armv4.pl index d5af6a85..eaad86d3 100755 --- a/crypto/sha/asm/keccak1600-armv4.pl +++ b/crypto/sha/asm/keccak1600-armv4.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/crypto/sha/asm/keccak1600-armv8.pl b/crypto/sha/asm/keccak1600-armv8.pl index 188d7bde..65102e7c 100755 --- a/crypto/sha/asm/keccak1600-armv8.pl +++ b/crypto/sha/asm/keccak1600-armv8.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/crypto/sha/asm/keccak1600-avx2.pl b/crypto/sha/asm/keccak1600-avx2.pl index 36f8c2be..84682289 100755 --- a/crypto/sha/asm/keccak1600-avx2.pl +++ b/crypto/sha/asm/keccak1600-avx2.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/crypto/sha/asm/keccak1600-avx512.pl b/crypto/sha/asm/keccak1600-avx512.pl index d7ffc793..85d6e7ff 100755 --- a/crypto/sha/asm/keccak1600-avx512.pl +++ b/crypto/sha/asm/keccak1600-avx512.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/crypto/sha/asm/keccak1600-avx512vl.pl b/crypto/sha/asm/keccak1600-avx512vl.pl index 5930c0cd..73e75f36 100755 --- a/crypto/sha/asm/keccak1600-avx512vl.pl +++ b/crypto/sha/asm/keccak1600-avx512vl.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/crypto/sha/asm/keccak1600-c64x.pl b/crypto/sha/asm/keccak1600-c64x.pl index 631117f1..0a9dec85 100755 --- a/crypto/sha/asm/keccak1600-c64x.pl +++ b/crypto/sha/asm/keccak1600-c64x.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/crypto/sha/asm/keccak1600-mmx.pl b/crypto/sha/asm/keccak1600-mmx.pl index ad607f4c..7657a23a 100755 --- a/crypto/sha/asm/keccak1600-mmx.pl +++ b/crypto/sha/asm/keccak1600-mmx.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/crypto/sha/asm/keccak1600-ppc64.pl b/crypto/sha/asm/keccak1600-ppc64.pl index 77832d5d..83f8d8ef 100755 --- a/crypto/sha/asm/keccak1600-ppc64.pl +++ b/crypto/sha/asm/keccak1600-ppc64.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/crypto/sha/asm/keccak1600-s390x.pl b/crypto/sha/asm/keccak1600-s390x.pl index 8f75bb95..86233c7e 100755 --- a/crypto/sha/asm/keccak1600-s390x.pl +++ b/crypto/sha/asm/keccak1600-s390x.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/crypto/sha/asm/keccak1600-x86_64.pl b/crypto/sha/asm/keccak1600-x86_64.pl index f98bd768..02f01160 100755 --- a/crypto/sha/asm/keccak1600-x86_64.pl +++ b/crypto/sha/asm/keccak1600-x86_64.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/crypto/sha/asm/keccak1600p8-ppc.pl b/crypto/sha/asm/keccak1600p8-ppc.pl index 61d60686..7554c87f 100755 --- a/crypto/sha/asm/keccak1600p8-ppc.pl +++ b/crypto/sha/asm/keccak1600p8-ppc.pl @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/crypto/sha/asm/sha1-586.pl b/crypto/sha/asm/sha1-586.pl index d8828185..8a33fd53 100644 --- a/crypto/sha/asm/sha1-586.pl +++ b/crypto/sha/asm/sha1-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1998-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1998-2020 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 diff --git a/crypto/sha/asm/sha1-alpha.pl b/crypto/sha/asm/sha1-alpha.pl index 7de230e8..0ffc0906 100644 --- a/crypto/sha/asm/sha1-alpha.pl +++ b/crypto/sha/asm/sha1-alpha.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 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 diff --git a/crypto/sha/asm/sha1-armv4-large.pl b/crypto/sha/asm/sha1-armv4-large.pl index d82a38bb..6a2e12bf 100644 --- a/crypto/sha/asm/sha1-armv4-large.pl +++ b/crypto/sha/asm/sha1-armv4-large.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 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 diff --git a/crypto/sha/asm/sha1-armv8.pl b/crypto/sha/asm/sha1-armv8.pl index e874481f..97ffac1f 100644 --- a/crypto/sha/asm/sha1-armv8.pl +++ b/crypto/sha/asm/sha1-armv8.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2014-2020 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 diff --git a/crypto/sha/asm/sha1-c64xplus.pl b/crypto/sha/asm/sha1-c64xplus.pl index 156aa225..6a97da2b 100644 --- a/crypto/sha/asm/sha1-c64xplus.pl +++ b/crypto/sha/asm/sha1-c64xplus.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 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 diff --git a/crypto/sha/asm/sha1-mb-x86_64.pl b/crypto/sha/asm/sha1-mb-x86_64.pl index ef122878..16f6ddbd 100644 --- a/crypto/sha/asm/sha1-mb-x86_64.pl +++ b/crypto/sha/asm/sha1-mb-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2013-2020 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 diff --git a/crypto/sha/asm/sha1-mips.pl b/crypto/sha/asm/sha1-mips.pl index a5af4a63..b41dd7a5 100644 --- a/crypto/sha/asm/sha1-mips.pl +++ b/crypto/sha/asm/sha1-mips.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 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 diff --git a/crypto/sha/asm/sha1-parisc.pl b/crypto/sha/asm/sha1-parisc.pl index c913be1b..9eb98e80 100644 --- a/crypto/sha/asm/sha1-parisc.pl +++ b/crypto/sha/asm/sha1-parisc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 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 diff --git a/crypto/sha/asm/sha1-ppc.pl b/crypto/sha/asm/sha1-ppc.pl index 498d30e4..acea2e94 100755 --- a/crypto/sha/asm/sha1-ppc.pl +++ b/crypto/sha/asm/sha1-ppc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2006-2020 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 diff --git a/crypto/sha/asm/sha1-s390x.pl b/crypto/sha/asm/sha1-s390x.pl index 71e8a9bb..d870e007 100644 --- a/crypto/sha/asm/sha1-s390x.pl +++ b/crypto/sha/asm/sha1-s390x.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 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 diff --git a/crypto/sha/asm/sha1-sparcv9.pl b/crypto/sha/asm/sha1-sparcv9.pl index 04ec84d3..c3b82d0c 100644 --- a/crypto/sha/asm/sha1-sparcv9.pl +++ b/crypto/sha/asm/sha1-sparcv9.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 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 diff --git a/crypto/sha/asm/sha1-sparcv9a.pl b/crypto/sha/asm/sha1-sparcv9a.pl index d9f05de5..1b7a7f9c 100644 --- a/crypto/sha/asm/sha1-sparcv9a.pl +++ b/crypto/sha/asm/sha1-sparcv9a.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 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 diff --git a/crypto/sha/asm/sha1-thumb.pl b/crypto/sha/asm/sha1-thumb.pl index 01a772e7..aece5ea0 100644 --- a/crypto/sha/asm/sha1-thumb.pl +++ b/crypto/sha/asm/sha1-thumb.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 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 diff --git a/crypto/sha/asm/sha1-x86_64.pl b/crypto/sha/asm/sha1-x86_64.pl index 540368e6..674b288f 100755 --- a/crypto/sha/asm/sha1-x86_64.pl +++ b/crypto/sha/asm/sha1-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2006-2020 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 diff --git a/crypto/sha/asm/sha256-586.pl b/crypto/sha/asm/sha256-586.pl index f890dc18..d3c0c44d 100644 --- a/crypto/sha/asm/sha256-586.pl +++ b/crypto/sha/asm/sha256-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 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 diff --git a/crypto/sha/asm/sha256-armv4.pl b/crypto/sha/asm/sha256-armv4.pl index 1eb4f0d3..e8af05c2 100644 --- a/crypto/sha/asm/sha256-armv4.pl +++ b/crypto/sha/asm/sha256-armv4.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 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 diff --git a/crypto/sha/asm/sha256-c64xplus.pl b/crypto/sha/asm/sha256-c64xplus.pl index cef9f6ea..13fd45fd 100644 --- a/crypto/sha/asm/sha256-c64xplus.pl +++ b/crypto/sha/asm/sha256-c64xplus.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 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 diff --git a/crypto/sha/asm/sha256-mb-x86_64.pl b/crypto/sha/asm/sha256-mb-x86_64.pl index 500a581a..681f5057 100644 --- a/crypto/sha/asm/sha256-mb-x86_64.pl +++ b/crypto/sha/asm/sha256-mb-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2013-2020 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 diff --git a/crypto/sha/asm/sha512-586.pl b/crypto/sha/asm/sha512-586.pl index 215defe3..c25e773b 100644 --- a/crypto/sha/asm/sha512-586.pl +++ b/crypto/sha/asm/sha512-586.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 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 diff --git a/crypto/sha/asm/sha512-armv4.pl b/crypto/sha/asm/sha512-armv4.pl index fa8f2c85..1751c671 100644 --- a/crypto/sha/asm/sha512-armv4.pl +++ b/crypto/sha/asm/sha512-armv4.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 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 diff --git a/crypto/sha/asm/sha512-armv8.pl b/crypto/sha/asm/sha512-armv8.pl index 7ef518cd..9c15496e 100644 --- a/crypto/sha/asm/sha512-armv8.pl +++ b/crypto/sha/asm/sha512-armv8.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2014-2020 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 diff --git a/crypto/sha/asm/sha512-c64xplus.pl b/crypto/sha/asm/sha512-c64xplus.pl index 60ac946a..867f2a42 100644 --- a/crypto/sha/asm/sha512-c64xplus.pl +++ b/crypto/sha/asm/sha512-c64xplus.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2012-2020 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 diff --git a/crypto/sha/asm/sha512-mips.pl b/crypto/sha/asm/sha512-mips.pl index 42c0fa04..573bb574 100644 --- a/crypto/sha/asm/sha512-mips.pl +++ b/crypto/sha/asm/sha512-mips.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2010-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2010-2020 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 diff --git a/crypto/sha/asm/sha512-parisc.pl b/crypto/sha/asm/sha512-parisc.pl index 9cc0e56d..d0e5a4d5 100755 --- a/crypto/sha/asm/sha512-parisc.pl +++ b/crypto/sha/asm/sha512-parisc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2009-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2009-2020 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 diff --git a/crypto/sha/asm/sha512-ppc.pl b/crypto/sha/asm/sha512-ppc.pl index aaf56cfb..96671393 100755 --- a/crypto/sha/asm/sha512-ppc.pl +++ b/crypto/sha/asm/sha512-ppc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2006-2020 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 diff --git a/crypto/sha/asm/sha512-s390x.pl b/crypto/sha/asm/sha512-s390x.pl index 5c6786d8..bc8ab0ca 100644 --- a/crypto/sha/asm/sha512-s390x.pl +++ b/crypto/sha/asm/sha512-s390x.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 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 diff --git a/crypto/sha/asm/sha512-sparcv9.pl b/crypto/sha/asm/sha512-sparcv9.pl index 7d81008f..1619f143 100644 --- a/crypto/sha/asm/sha512-sparcv9.pl +++ b/crypto/sha/asm/sha512-sparcv9.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 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 diff --git a/crypto/sha/asm/sha512-x86_64.pl b/crypto/sha/asm/sha512-x86_64.pl index f73ec5d3..ec75abdd 100755 --- a/crypto/sha/asm/sha512-x86_64.pl +++ b/crypto/sha/asm/sha512-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 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 diff --git a/crypto/sha/asm/sha512p8-ppc.pl b/crypto/sha/asm/sha512p8-ppc.pl index 82610e2c..97df14ef 100755 --- a/crypto/sha/asm/sha512p8-ppc.pl +++ b/crypto/sha/asm/sha512p8-ppc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2014-2020 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 diff --git a/crypto/sha/sha1_one.c b/crypto/sha/sha1_one.c index c01baf7a..5bd9953d 100644 --- a/crypto/sha/sha1_one.c +++ b/crypto/sha/sha1_one.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/sha/sha1dgst.c b/crypto/sha/sha1dgst.c index 0e4a4e53..1ece0db3 100644 --- a/crypto/sha/sha1dgst.c +++ b/crypto/sha/sha1dgst.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/sha/sha256.c b/crypto/sha/sha256.c index 9006eced..d16a9c91 100644 --- a/crypto/sha/sha256.c +++ b/crypto/sha/sha256.c @@ -1,5 +1,5 @@ /* - * Copyright 2004-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2004-2020 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 diff --git a/crypto/sha/sha512.c b/crypto/sha/sha512.c index 39ebe685..f0cf9ca9 100644 --- a/crypto/sha/sha512.c +++ b/crypto/sha/sha512.c @@ -1,5 +1,5 @@ /* - * Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2004-2020 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 diff --git a/crypto/sm2/sm2_crypt.c b/crypto/sm2/sm2_crypt.c index 934c957d..c09e4c00 100644 --- a/crypto/sm2/sm2_crypt.c +++ b/crypto/sm2/sm2_crypt.c @@ -1,5 +1,5 @@ /* - * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright 2017 Ribose Inc. All Rights Reserved. * Ported from Ribose contributions from Botan. * diff --git a/crypto/sm2/sm2_pmeth.c b/crypto/sm2/sm2_pmeth.c index 9830fb82..45297f9b 100644 --- a/crypto/sm2/sm2_pmeth.c +++ b/crypto/sm2/sm2_pmeth.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 diff --git a/crypto/sparcv9cap.c b/crypto/sparcv9cap.c index c8a70216..4c39362e 100644 --- a/crypto/sparcv9cap.c +++ b/crypto/sparcv9cap.c @@ -1,5 +1,5 @@ /* - * Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2005-2020 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 diff --git a/crypto/srp/srp_lib.c b/crypto/srp/srp_lib.c index 063f966f..253aaf9a 100644 --- a/crypto/srp/srp_lib.c +++ b/crypto/srp/srp_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2004-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2004, EdelKey Project. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/crypto/srp/srp_vfy.c b/crypto/srp/srp_vfy.c index 42608984..f0ed6da6 100644 --- a/crypto/srp/srp_vfy.c +++ b/crypto/srp/srp_vfy.c @@ -1,5 +1,5 @@ /* - * Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2004-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2004, EdelKey Project. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -25,6 +25,10 @@ # define SRP_RANDOM_SALT_LEN 20 # define MAX_LEN 2500 +DEFINE_STACK_OF(SRP_user_pwd) +DEFINE_STACK_OF(SRP_gN_cache) +DEFINE_STACK_OF(SRP_gN) + /* * Note that SRP uses its own variant of base 64 encoding. A different base64 * alphabet is used and no padding '=' characters are added. Instead we pad to diff --git a/crypto/store/loader_file.c b/crypto/store/loader_file.c index cf9951f0..02178b29 100644 --- a/crypto/store/loader_file.c +++ b/crypto/store/loader_file.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 @@ -29,8 +29,11 @@ #include "internal/o_dir.h" #include "internal/cryptlib.h" #include "crypto/store.h" +#include "crypto/evp.h" #include "store_local.h" +DEFINE_STACK_OF(X509) + #ifdef _WIN32 # define stat _stat #endif @@ -154,6 +157,8 @@ static int file_get_pem_pass(char *buf, int num, int w, void *data) * or any other interactive data. * ui_data: Application data to be passed to ui_method when * it's called. + * libctx: The library context to be used if applicable + * propq: The property query string for any algorithm fetches * Output: * a OSSL_STORE_INFO */ @@ -163,7 +168,9 @@ typedef OSSL_STORE_INFO *(*file_try_decode_fn)(const char *pem_name, size_t len, void **handler_ctx, int *matchcount, const UI_METHOD *ui_method, - void *ui_data); + void *ui_data, + OPENSSL_CTX *libctx, + const char *propq); /* * The eof function should return 1 if there's no more data to be found * with the handler_ctx, otherwise 0. This is only used when the handler is @@ -198,7 +205,8 @@ static OSSL_STORE_INFO *try_decode_PKCS12(const char *pem_name, size_t len, void **pctx, int *matchcount, const UI_METHOD *ui_method, - void *ui_data) + void *ui_data, OPENSSL_CTX *libctx, + const char *propq) { OSSL_STORE_INFO *store_info = NULL; STACK_OF(OSSL_STORE_INFO) *ctx = *pctx; @@ -326,7 +334,9 @@ static OSSL_STORE_INFO *try_decode_PKCS8Encrypted(const char *pem_name, size_t len, void **pctx, int *matchcount, const UI_METHOD *ui_method, - void *ui_data) + void *ui_data, + OPENSSL_CTX *libctx, + const char *propq) { X509_SIG *p8 = NULL; char kbuf[PEM_BUFSIZE]; @@ -402,7 +412,8 @@ static OSSL_STORE_INFO *try_decode_PrivateKey(const char *pem_name, size_t len, void **pctx, int *matchcount, const UI_METHOD *ui_method, - void *ui_data) + void *ui_data, OPENSSL_CTX *libctx, + const char *propq) { OSSL_STORE_INFO *store_info = NULL; EVP_PKEY *pkey = NULL; @@ -415,7 +426,7 @@ static OSSL_STORE_INFO *try_decode_PrivateKey(const char *pem_name, *matchcount = 1; if (p8inf != NULL) - pkey = EVP_PKCS82PKEY(p8inf); + pkey = evp_pkcs82pkey_int(p8inf, libctx, propq); PKCS8_PRIV_KEY_INFO_free(p8inf); } else { int slen; @@ -424,7 +435,8 @@ static OSSL_STORE_INFO *try_decode_PrivateKey(const char *pem_name, && (ameth = EVP_PKEY_asn1_find_str(NULL, pem_name, slen)) != NULL) { *matchcount = 1; - pkey = d2i_PrivateKey(ameth->pkey_id, NULL, &blob, len); + pkey = d2i_PrivateKey_ex(ameth->pkey_id, NULL, &blob, len, + libctx, propq); } } } else { @@ -438,7 +450,8 @@ static OSSL_STORE_INFO *try_decode_PrivateKey(const char *pem_name, if (ameth->pkey_flags & ASN1_PKEY_ALIAS) continue; - tmp_pkey = d2i_PrivateKey(ameth->pkey_id, NULL, &tmp_blob, len); + tmp_pkey = d2i_PrivateKey_ex(ameth->pkey_id, NULL, &tmp_blob, len, + libctx, propq); if (tmp_pkey != NULL) { if (pkey != NULL) EVP_PKEY_free(tmp_pkey); @@ -478,7 +491,8 @@ static OSSL_STORE_INFO *try_decode_PUBKEY(const char *pem_name, size_t len, void **pctx, int *matchcount, const UI_METHOD *ui_method, - void *ui_data) + void *ui_data, OPENSSL_CTX *libctx, + const char *propq) { OSSL_STORE_INFO *store_info = NULL; EVP_PKEY *pkey = NULL; @@ -512,7 +526,8 @@ static OSSL_STORE_INFO *try_decode_params(const char *pem_name, size_t len, void **pctx, int *matchcount, const UI_METHOD *ui_method, - void *ui_data) + void *ui_data, OPENSSL_CTX *libctx, + const char *propq) { OSSL_STORE_INFO *store_info = NULL; int slen = 0; @@ -595,7 +610,9 @@ static OSSL_STORE_INFO *try_decode_X509Certificate(const char *pem_name, size_t len, void **pctx, int *matchcount, const UI_METHOD *ui_method, - void *ui_data) + void *ui_data, + OPENSSL_CTX *libctx, + const char *propq) { OSSL_STORE_INFO *store_info = NULL; X509 *cert = NULL; @@ -645,7 +662,8 @@ static OSSL_STORE_INFO *try_decode_X509CRL(const char *pem_name, size_t len, void **pctx, int *matchcount, const UI_METHOD *ui_method, - void *ui_data) + void *ui_data, OPENSSL_CTX *libctx, + const char *propq) { OSSL_STORE_INFO *store_info = NULL; X509_CRL *crl = NULL; @@ -736,6 +754,9 @@ struct ossl_store_loader_ctx_st { /* Expected object type. May be unspecified */ int expected_type; + + OPENSSL_CTX *libctx; + char *propq; }; static void OSSL_STORE_LOADER_CTX_free(OSSL_STORE_LOADER_CTX *ctx) @@ -749,6 +770,7 @@ static void OSSL_STORE_LOADER_CTX_free(OSSL_STORE_LOADER_CTX *ctx) ctx->_.file.last_handler = NULL; } } + OPENSSL_free(ctx->propq); OPENSSL_free(ctx); } @@ -963,7 +985,9 @@ static int file_find(OSSL_STORE_LOADER_CTX *ctx, } /* Internal function to decode an already opened PEM file */ -OSSL_STORE_LOADER_CTX *ossl_store_file_attach_pem_bio_int(BIO *bp) +OSSL_STORE_LOADER_CTX *ossl_store_file_attach_pem_bio_int(BIO *bp, + OPENSSL_CTX *libctx, + const char *propq) { OSSL_STORE_LOADER_CTX *ctx = OPENSSL_zalloc(sizeof(*ctx)); @@ -976,6 +1000,17 @@ OSSL_STORE_LOADER_CTX *ossl_store_file_attach_pem_bio_int(BIO *bp) ctx->_.file.file = bp; ctx->type = is_pem; + ctx->libctx = libctx; + if (propq != NULL) { + ctx->propq = OPENSSL_strdup(propq); + if (ctx->propq == NULL) { + OSSL_STOREerr(OSSL_STORE_F_OSSL_STORE_FILE_ATTACH_PEM_BIO_INT, + ERR_R_MALLOC_FAILURE); + OPENSSL_free(ctx); + return NULL; + } + } + return ctx; } @@ -1013,7 +1048,7 @@ static OSSL_STORE_INFO *file_load_try_decode(OSSL_STORE_LOADER_CTX *ctx, OSSL_STORE_INFO *tmp_result = handler->try_decode(pem_name, pem_header, data, len, &tmp_handler_ctx, &try_matchcount, - ui_method, ui_data); + ui_method, ui_data, ctx->libctx, ctx->propq); if (try_matchcount > 0) { @@ -1080,7 +1115,8 @@ static OSSL_STORE_INFO *file_load_try_repeat(OSSL_STORE_LOADER_CTX *ctx, ctx->_.file.last_handler->try_decode(NULL, NULL, NULL, 0, &ctx->_.file.last_handler_ctx, &try_matchcount, - ui_method, ui_data); + ui_method, ui_data, + ctx->libctx, ctx->propq); if (result == NULL) { ctx->_.file.last_handler->destroy_ctx(&ctx->_.file.last_handler_ctx); diff --git a/crypto/store/store_lib.c b/crypto/store/store_lib.c index eaf666a8..5bcd17b1 100644 --- a/crypto/store/store_lib.c +++ b/crypto/store/store_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 @@ -652,14 +652,16 @@ char *ossl_store_info_get0_EMBEDDED_pem_name(OSSL_STORE_INFO *info) } OSSL_STORE_CTX *ossl_store_attach_pem_bio(BIO *bp, const UI_METHOD *ui_method, - void *ui_data) + void *ui_data, OPENSSL_CTX *libctx, + const char *propq) { OSSL_STORE_CTX *ctx = NULL; const OSSL_STORE_LOADER *loader = NULL; OSSL_STORE_LOADER_CTX *loader_ctx = NULL; if ((loader = ossl_store_get0_loader_int("file")) == NULL - || ((loader_ctx = ossl_store_file_attach_pem_bio_int(bp)) == NULL)) + || ((loader_ctx = ossl_store_file_attach_pem_bio_int(bp, libctx, + propq)) == NULL)) goto done; if ((ctx = OPENSSL_zalloc(sizeof(*ctx))) == NULL) { OSSL_STOREerr(OSSL_STORE_F_OSSL_STORE_ATTACH_PEM_BIO, diff --git a/crypto/store/store_local.h b/crypto/store/store_local.h index 7c4d65b9..7c864190 100644 --- a/crypto/store/store_local.h +++ b/crypto/store/store_local.h @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 @@ -128,5 +128,7 @@ int ossl_store_file_loader_init(void); * ------------------- */ -OSSL_STORE_LOADER_CTX *ossl_store_file_attach_pem_bio_int(BIO *bp); +OSSL_STORE_LOADER_CTX *ossl_store_file_attach_pem_bio_int(BIO *bp, + OPENSSL_CTX *libctx, + const char *propq); int ossl_store_file_detach_pem_bio_int(OSSL_STORE_LOADER_CTX *ctx); diff --git a/crypto/threads_win.c b/crypto/threads_win.c index 43bd0f51..a008831a 100644 --- a/crypto/threads_win.c +++ b/crypto/threads_win.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 @@ -155,7 +155,7 @@ int CRYPTO_THREAD_compare_id(CRYPTO_THREAD_ID a, CRYPTO_THREAD_ID b) int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK *lock) { - *ret = InterlockedExchangeAdd(val, amount) + amount; + *ret = (int)InterlockedExchangeAdd((long volatile *)val, (long)amount) + amount; return 1; } diff --git a/crypto/ts/ts_conf.c b/crypto/ts/ts_conf.c index 4117ccdd..8d2d7129 100644 --- a/crypto/ts/ts_conf.c +++ b/crypto/ts/ts_conf.c @@ -15,6 +15,10 @@ #include #include +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_INFO) +DEFINE_STACK_OF(CONF_VALUE) + /* Macro definitions for the configuration file. */ #define BASE_SECTION "tsa" #define ENV_DEFAULT_TSA "default_tsa" diff --git a/crypto/ts/ts_req_utils.c b/crypto/ts/ts_req_utils.c index 8b950979..ec36868d 100644 --- a/crypto/ts/ts_req_utils.c +++ b/crypto/ts/ts_req_utils.c @@ -14,6 +14,8 @@ #include #include "ts_local.h" +DEFINE_STACK_OF(X509_EXTENSION) + int TS_REQ_set_version(TS_REQ *a, long version) { return ASN1_INTEGER_set(a->version, version); diff --git a/crypto/ts/ts_rsp_print.c b/crypto/ts/ts_rsp_print.c index 8593e2d9..5334cea5 100644 --- a/crypto/ts/ts_rsp_print.c +++ b/crypto/ts/ts_rsp_print.c @@ -15,6 +15,9 @@ #include #include "ts_local.h" +DEFINE_STACK_OF(ASN1_UTF8STRING) +DEFINE_STACK_OF(CONF_VALUE) + struct status_map_st { int bit; const char *text; diff --git a/crypto/ts/ts_rsp_sign.c b/crypto/ts/ts_rsp_sign.c index ed0979e5..ba69cbec 100644 --- a/crypto/ts/ts_rsp_sign.c +++ b/crypto/ts/ts_rsp_sign.c @@ -17,6 +17,12 @@ #include "ts_local.h" #include "crypto/ess.h" +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_EXTENSION) +DEFINE_STACK_OF(ASN1_UTF8STRING) +DEFINE_STACK_OF(ASN1_OBJECT) +DEFINE_STACK_OF_CONST(EVP_MD) + static ASN1_INTEGER *def_serial_cb(struct TS_resp_ctx *, void *); static int def_time_cb(struct TS_resp_ctx *, void *, long *sec, long *usec); static int def_extension_cb(struct TS_resp_ctx *, X509_EXTENSION *, void *); diff --git a/crypto/ts/ts_rsp_utils.c b/crypto/ts/ts_rsp_utils.c index 6017e8d1..b9ec82a2 100644 --- a/crypto/ts/ts_rsp_utils.c +++ b/crypto/ts/ts_rsp_utils.c @@ -14,6 +14,8 @@ #include #include "ts_local.h" +DEFINE_STACK_OF(X509_EXTENSION) + int TS_RESP_set_status_info(TS_RESP *a, TS_STATUS_INFO *status_info) { TS_STATUS_INFO *new_status_info; diff --git a/crypto/ts/ts_rsp_verify.c b/crypto/ts/ts_rsp_verify.c index 1f20fb9c..b872f75b 100644 --- a/crypto/ts/ts_rsp_verify.c +++ b/crypto/ts/ts_rsp_verify.c @@ -15,6 +15,13 @@ #include "ts_local.h" #include "crypto/ess.h" +DEFINE_STACK_OF(PKCS7_SIGNER_INFO) +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(ESS_CERT_ID) +DEFINE_STACK_OF(ESS_CERT_ID_V2) +DEFINE_STACK_OF(ASN1_UTF8STRING) +DEFINE_STACK_OF(GENERAL_NAME) + static int ts_verify_cert(X509_STORE *store, STACK_OF(X509) *untrusted, X509 *signer, STACK_OF(X509) **chain); static int ts_check_signing_certs(PKCS7_SIGNER_INFO *si, diff --git a/crypto/ts/ts_verify_ctx.c b/crypto/ts/ts_verify_ctx.c index 3c834013..2205345b 100644 --- a/crypto/ts/ts_verify_ctx.c +++ b/crypto/ts/ts_verify_ctx.c @@ -12,6 +12,8 @@ #include #include "ts_local.h" +DEFINE_STACK_OF(X509) + TS_VERIFY_CTX *TS_VERIFY_CTX_new(void) { TS_VERIFY_CTX *ctx = OPENSSL_zalloc(sizeof(*ctx)); diff --git a/crypto/ui/ui_lib.c b/crypto/ui/ui_lib.c index f8021475..85bf8c1f 100644 --- a/crypto/ui/ui_lib.c +++ b/crypto/ui/ui_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 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 @@ -15,6 +15,8 @@ #include #include "ui_local.h" +DEFINE_STACK_OF(UI_STRING) + UI *UI_new(void) { return UI_new_method(NULL); diff --git a/crypto/whrlpool/asm/wp-mmx.pl b/crypto/whrlpool/asm/wp-mmx.pl index 851d3ce9..ad2528a9 100644 --- a/crypto/whrlpool/asm/wp-mmx.pl +++ b/crypto/whrlpool/asm/wp-mmx.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 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 diff --git a/crypto/whrlpool/asm/wp-x86_64.pl b/crypto/whrlpool/asm/wp-x86_64.pl index 546ffb28..f94152af 100644 --- a/crypto/whrlpool/asm/wp-x86_64.pl +++ b/crypto/whrlpool/asm/wp-x86_64.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 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 diff --git a/crypto/whrlpool/wp_block.c b/crypto/whrlpool/wp_block.c index 46fe0d57..eb6a69ce 100644 --- a/crypto/whrlpool/wp_block.c +++ b/crypto/whrlpool/wp_block.c @@ -1,5 +1,5 @@ /* - * Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2005-2020 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 diff --git a/crypto/whrlpool/wp_dgst.c b/crypto/whrlpool/wp_dgst.c index 3b8232dc..4a1d912d 100644 --- a/crypto/whrlpool/wp_dgst.c +++ b/crypto/whrlpool/wp_dgst.c @@ -1,5 +1,5 @@ /* - * Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2005-2020 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 diff --git a/crypto/x509/by_dir.c b/crypto/x509/by_dir.c index 006f2e64..43b175e2 100644 --- a/crypto/x509/by_dir.c +++ b/crypto/x509/by_dir.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -22,6 +22,8 @@ #include "crypto/x509.h" #include "x509_local.h" +DEFINE_STACK_OF(X509_OBJECT) + struct lookup_dir_hashes_st { unsigned long hash; int suffix; diff --git a/crypto/x509/by_file.c b/crypto/x509/by_file.c index 93a1af87..178ec2ae 100644 --- a/crypto/x509/by_file.c +++ b/crypto/x509/by_file.c @@ -17,6 +17,8 @@ #include #include "x509_local.h" +DEFINE_STACK_OF(X509_INFO) + static int by_file_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, long argl, char **ret); static X509_LOOKUP_METHOD x509_file_lookup = { diff --git a/crypto/x509/by_store.c b/crypto/x509/by_store.c index ecc9be4a..7141c1bd 100644 --- a/crypto/x509/by_store.c +++ b/crypto/x509/by_store.c @@ -1,5 +1,5 @@ /* - * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2018-2020 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 @@ -12,6 +12,8 @@ #include "crypto/x509.h" #include "x509_local.h" +DEFINE_STACK_OF_STRING() + /* Generic object loader, given expected type and criterion */ static int cache_objects(X509_LOOKUP *lctx, const char *uri, const OSSL_STORE_SEARCH *criterion, diff --git a/crypto/x509/pcy_cache.c b/crypto/x509/pcy_cache.c index e65931e4..a7bcfe60 100644 --- a/crypto/x509/pcy_cache.c +++ b/crypto/x509/pcy_cache.c @@ -14,6 +14,8 @@ #include "pcy_local.h" +DEFINE_STACK_OF(POLICYINFO) + static int policy_data_cmp(const X509_POLICY_DATA *const *a, const X509_POLICY_DATA *const *b); static int policy_cache_set_int(long *out, ASN1_INTEGER *value); diff --git a/crypto/x509/pcy_data.c b/crypto/x509/pcy_data.c index cc3fc201..0a98a111 100644 --- a/crypto/x509/pcy_data.c +++ b/crypto/x509/pcy_data.c @@ -13,6 +13,9 @@ #include "pcy_local.h" +DEFINE_STACK_OF(ASN1_OBJECT) +DEFINE_STACK_OF(POLICYQUALINFO) + /* Policy Node routines */ void policy_data_free(X509_POLICY_DATA *data) diff --git a/crypto/x509/pcy_lib.c b/crypto/x509/pcy_lib.c index fbec0bd4..23baa2db 100644 --- a/crypto/x509/pcy_lib.c +++ b/crypto/x509/pcy_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 2004-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2004-2020 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 @@ -13,6 +13,8 @@ #include "pcy_local.h" +DEFINE_STACK_OF(X509_POLICY_NODE) + /* accessor functions */ /* X509_POLICY_TREE stuff */ diff --git a/crypto/x509/pcy_map.c b/crypto/x509/pcy_map.c index 258792be..76cca2f8 100644 --- a/crypto/x509/pcy_map.c +++ b/crypto/x509/pcy_map.c @@ -14,6 +14,9 @@ #include "pcy_local.h" +DEFINE_STACK_OF(POLICY_MAPPING) +DEFINE_STACK_OF(ASN1_OBJECT) + /* * Set policy mapping entries in cache. Note: this modifies the passed * POLICY_MAPPINGS structure diff --git a/crypto/x509/pcy_node.c b/crypto/x509/pcy_node.c index fc06a31c..5afd0812 100644 --- a/crypto/x509/pcy_node.c +++ b/crypto/x509/pcy_node.c @@ -14,6 +14,9 @@ #include "pcy_local.h" +DEFINE_STACK_OF(X509_POLICY_NODE) +DEFINE_STACK_OF(ASN1_OBJECT) + static int node_cmp(const X509_POLICY_NODE *const *a, const X509_POLICY_NODE *const *b) { diff --git a/crypto/x509/pcy_tree.c b/crypto/x509/pcy_tree.c index fa11e5e4..f9519d3a 100644 --- a/crypto/x509/pcy_tree.c +++ b/crypto/x509/pcy_tree.c @@ -14,6 +14,10 @@ #include "pcy_local.h" +DEFINE_STACK_OF(ASN1_OBJECT) +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_POLICY_NODE) + static void expected_print(BIO *channel, X509_POLICY_LEVEL *lev, X509_POLICY_NODE *node, int indent) diff --git a/crypto/x509/t_crl.c b/crypto/x509/t_crl.c index 33b871eb..f6705286 100644 --- a/crypto/x509/t_crl.c +++ b/crypto/x509/t_crl.c @@ -15,6 +15,8 @@ #include #include +DEFINE_STACK_OF(X509_REVOKED) + #ifndef OPENSSL_NO_STDIO int X509_CRL_print_fp(FILE *fp, X509_CRL *x) { diff --git a/crypto/x509/t_req.c b/crypto/x509/t_req.c index 8af6510b..4cf6493b 100644 --- a/crypto/x509/t_req.c +++ b/crypto/x509/t_req.c @@ -17,6 +17,8 @@ #include #include +DEFINE_STACK_OF(X509_EXTENSION) + #ifndef OPENSSL_NO_STDIO int X509_REQ_print_fp(FILE *fp, X509_REQ *x) { diff --git a/crypto/x509/t_x509.c b/crypto/x509/t_x509.c index 16dc6eaa..e3c21b08 100644 --- a/crypto/x509/t_x509.c +++ b/crypto/x509/t_x509.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -17,6 +17,9 @@ #include "crypto/asn1.h" #include "crypto/x509.h" +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(ASN1_OBJECT) + #ifndef OPENSSL_NO_STDIO int X509_print_fp(FILE *fp, X509 *x) { diff --git a/crypto/x509/v3_addr.c b/crypto/x509/v3_addr.c index 766c5bc1..51f5cd8f 100644 --- a/crypto/x509/v3_addr.c +++ b/crypto/x509/v3_addr.c @@ -25,6 +25,11 @@ #ifndef OPENSSL_NO_RFC3779 +DEFINE_STACK_OF(IPAddressOrRange) +DEFINE_STACK_OF(IPAddressFamily) +DEFINE_STACK_OF(CONF_VALUE) +DEFINE_STACK_OF(X509) + /* * OpenSSL ASN.1 template translation of RFC 3779 2.2.3. */ diff --git a/crypto/x509/v3_admis.c b/crypto/x509/v3_admis.c index 104b58f2..4cccaf64 100644 --- a/crypto/x509/v3_admis.c +++ b/crypto/x509/v3_admis.c @@ -20,6 +20,10 @@ #include "v3_admis.h" #include "ext_dat.h" +DEFINE_STACK_OF(ADMISSIONS) +DEFINE_STACK_OF(PROFESSION_INFO) +DEFINE_STACK_OF(ASN1_STRING) +DEFINE_STACK_OF(ASN1_OBJECT) ASN1_SEQUENCE(NAMING_AUTHORITY) = { ASN1_OPT(NAMING_AUTHORITY, namingAuthorityId, ASN1_OBJECT), diff --git a/crypto/x509/v3_akey.c b/crypto/x509/v3_akey.c index 4898869b..bd231f65 100644 --- a/crypto/x509/v3_akey.c +++ b/crypto/x509/v3_akey.c @@ -15,6 +15,9 @@ #include #include "ext_dat.h" +DEFINE_STACK_OF(CONF_VALUE) +DEFINE_STACK_OF(GENERAL_NAME) + static STACK_OF(CONF_VALUE) *i2v_AUTHORITY_KEYID(X509V3_EXT_METHOD *method, AUTHORITY_KEYID *akeyid, STACK_OF(CONF_VALUE) diff --git a/crypto/x509/v3_alt.c b/crypto/x509/v3_alt.c index a910d5d7..67d8acc8 100644 --- a/crypto/x509/v3_alt.c +++ b/crypto/x509/v3_alt.c @@ -13,6 +13,9 @@ #include #include "ext_dat.h" +DEFINE_STACK_OF(CONF_VALUE) +DEFINE_STACK_OF(GENERAL_NAME) + static GENERAL_NAMES *v2i_subject_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); diff --git a/crypto/x509/v3_asid.c b/crypto/x509/v3_asid.c index 6cb5cd55..798185a7 100644 --- a/crypto/x509/v3_asid.c +++ b/crypto/x509/v3_asid.c @@ -55,6 +55,10 @@ IMPLEMENT_ASN1_FUNCTIONS(ASIdOrRange) IMPLEMENT_ASN1_FUNCTIONS(ASIdentifierChoice) IMPLEMENT_ASN1_FUNCTIONS(ASIdentifiers) +DEFINE_STACK_OF(ASIdOrRange) +DEFINE_STACK_OF(CONF_VALUE) +DEFINE_STACK_OF(X509) + /* * i2r method for an ASIdentifierChoice. */ diff --git a/crypto/x509/v3_bcons.c b/crypto/x509/v3_bcons.c index 02e30022..0ba3c0cc 100644 --- a/crypto/x509/v3_bcons.c +++ b/crypto/x509/v3_bcons.c @@ -15,6 +15,8 @@ #include #include "ext_dat.h" +DEFINE_STACK_OF(CONF_VALUE) + static STACK_OF(CONF_VALUE) *i2v_BASIC_CONSTRAINTS(X509V3_EXT_METHOD *method, BASIC_CONSTRAINTS *bcons, STACK_OF(CONF_VALUE) diff --git a/crypto/x509/v3_bitst.c b/crypto/x509/v3_bitst.c index 81cdcfb6..b0a807d3 100644 --- a/crypto/x509/v3_bitst.c +++ b/crypto/x509/v3_bitst.c @@ -13,6 +13,8 @@ #include #include "ext_dat.h" +DEFINE_STACK_OF(CONF_VALUE) + static BIT_STRING_BITNAME ns_cert_type_table[] = { {0, "SSL Client", "client"}, {1, "SSL Server", "server"}, diff --git a/crypto/x509/v3_conf.c b/crypto/x509/v3_conf.c index 47b1cfc9..38e36470 100644 --- a/crypto/x509/v3_conf.c +++ b/crypto/x509/v3_conf.c @@ -17,6 +17,9 @@ #include "crypto/x509.h" #include +DEFINE_STACK_OF(CONF_VALUE) +DEFINE_STACK_OF(X509_EXTENSION) + static int v3_check_critical(const char **value); static int v3_check_generic(const char **value); static X509_EXTENSION *do_ext_nconf(CONF *conf, X509V3_CTX *ctx, int ext_nid, diff --git a/crypto/x509/v3_cpols.c b/crypto/x509/v3_cpols.c index 470088c9..a5f14534 100644 --- a/crypto/x509/v3_cpols.c +++ b/crypto/x509/v3_cpols.c @@ -17,6 +17,11 @@ #include "pcy_local.h" #include "ext_dat.h" +DEFINE_STACK_OF(CONF_VALUE) +DEFINE_STACK_OF(POLICYINFO) +DEFINE_STACK_OF(POLICYQUALINFO) +DEFINE_STACK_OF(ASN1_INTEGER) + /* Certificate policies extension support: this one is a bit complex... */ static int i2r_certpol(X509V3_EXT_METHOD *method, STACK_OF(POLICYINFO) *pol, diff --git a/crypto/x509/v3_crld.c b/crypto/x509/v3_crld.c index 24f44e4a..21a1bfcd 100644 --- a/crypto/x509/v3_crld.c +++ b/crypto/x509/v3_crld.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2020 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 @@ -17,6 +17,11 @@ #include "crypto/x509.h" #include "ext_dat.h" +DEFINE_STACK_OF(CONF_VALUE) +DEFINE_STACK_OF(GENERAL_NAME) +DEFINE_STACK_OF(DIST_POINT) +DEFINE_STACK_OF(X509_NAME_ENTRY) + static void *v2i_crld(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); static int i2r_crldp(const X509V3_EXT_METHOD *method, void *pcrldp, BIO *out, diff --git a/crypto/x509/v3_extku.c b/crypto/x509/v3_extku.c index 8d0dfcf3..b60d9994 100644 --- a/crypto/x509/v3_extku.c +++ b/crypto/x509/v3_extku.c @@ -14,6 +14,9 @@ #include #include "ext_dat.h" +DEFINE_STACK_OF(ASN1_OBJECT) +DEFINE_STACK_OF(CONF_VALUE) + static void *v2i_EXTENDED_KEY_USAGE(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); diff --git a/crypto/x509/v3_ia5.c b/crypto/x509/v3_ia5.c index 23c24e03..dc35dd83 100644 --- a/crypto/x509/v3_ia5.c +++ b/crypto/x509/v3_ia5.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2020 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 @@ -29,7 +29,7 @@ char *i2s_ASN1_IA5STRING(X509V3_EXT_METHOD *method, ASN1_IA5STRING *ia5) { char *tmp; - if (!ia5 || !ia5->length) + if (ia5 == NULL || ia5->length == 0) return NULL; if ((tmp = OPENSSL_malloc(ia5->length + 1)) == NULL) { X509V3err(X509V3_F_I2S_ASN1_IA5STRING, ERR_R_MALLOC_FAILURE); @@ -44,7 +44,7 @@ ASN1_IA5STRING *s2i_ASN1_IA5STRING(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, const char *str) { ASN1_IA5STRING *ia5; - if (!str) { + if (str == NULL) { X509V3err(X509V3_F_S2I_ASN1_IA5STRING, X509V3_R_INVALID_NULL_ARGUMENT); return NULL; diff --git a/crypto/x509/v3_info.c b/crypto/x509/v3_info.c index c50cfd1f..4acc514a 100644 --- a/crypto/x509/v3_info.c +++ b/crypto/x509/v3_info.c @@ -15,6 +15,9 @@ #include #include "ext_dat.h" +DEFINE_STACK_OF(ACCESS_DESCRIPTION) +DEFINE_STACK_OF(CONF_VALUE) + static STACK_OF(CONF_VALUE) *i2v_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD *method, AUTHORITY_INFO_ACCESS *ainfo, STACK_OF(CONF_VALUE) diff --git a/crypto/x509/v3_ist.c b/crypto/x509/v3_ist.c index 6db4f199..ceb127f6 100644 --- a/crypto/x509/v3_ist.c +++ b/crypto/x509/v3_ist.c @@ -15,6 +15,8 @@ #include #include "ext_dat.h" +DEFINE_STACK_OF(CONF_VALUE) + /* * Issuer Sign Tool (1.2.643.100.112) The name of the tool used to signs the subject (ASN1_SEQUENCE) * This extention is required to obtain the status of a qualified certificate at Russian Federation. diff --git a/crypto/x509/v3_lib.c b/crypto/x509/v3_lib.c index 71ba7a32..a3bb8be8 100644 --- a/crypto/x509/v3_lib.c +++ b/crypto/x509/v3_lib.c @@ -16,6 +16,9 @@ #include "ext_dat.h" +DEFINE_STACK_OF(X509V3_EXT_METHOD) +DEFINE_STACK_OF(X509_EXTENSION) + static STACK_OF(X509V3_EXT_METHOD) *ext_list = NULL; static int ext_cmp(const X509V3_EXT_METHOD *const *a, diff --git a/crypto/x509/v3_ncons.c b/crypto/x509/v3_ncons.c index fab9836d..88ad8ba7 100644 --- a/crypto/x509/v3_ncons.c +++ b/crypto/x509/v3_ncons.c @@ -1,5 +1,5 @@ /* - * Copyright 2003-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2003-2020 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 @@ -19,6 +19,10 @@ #include "crypto/x509.h" #include "ext_dat.h" +DEFINE_STACK_OF(CONF_VALUE) +DEFINE_STACK_OF(GENERAL_NAME) +DEFINE_STACK_OF(GENERAL_SUBTREE) + static void *v2i_NAME_CONSTRAINTS(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); diff --git a/crypto/x509/v3_pci.c b/crypto/x509/v3_pci.c index fb5f35a5..4e02f9c5 100644 --- a/crypto/x509/v3_pci.c +++ b/crypto/x509/v3_pci.c @@ -49,6 +49,8 @@ #include #include "ext_dat.h" +DEFINE_STACK_OF(CONF_VALUE) + static int i2r_pci(X509V3_EXT_METHOD *method, PROXY_CERT_INFO_EXTENSION *ext, BIO *out, int indent); static PROXY_CERT_INFO_EXTENSION *r2i_pci(X509V3_EXT_METHOD *method, diff --git a/crypto/x509/v3_pcons.c b/crypto/x509/v3_pcons.c index 33c08cfd..43e5bc55 100644 --- a/crypto/x509/v3_pcons.c +++ b/crypto/x509/v3_pcons.c @@ -15,6 +15,8 @@ #include #include "ext_dat.h" +DEFINE_STACK_OF(CONF_VALUE) + static STACK_OF(CONF_VALUE) *i2v_POLICY_CONSTRAINTS(const X509V3_EXT_METHOD *method, void *bcons, STACK_OF(CONF_VALUE) *extlist); diff --git a/crypto/x509/v3_pmaps.c b/crypto/x509/v3_pmaps.c index 2b478402..9dcd4598 100644 --- a/crypto/x509/v3_pmaps.c +++ b/crypto/x509/v3_pmaps.c @@ -14,6 +14,9 @@ #include #include "ext_dat.h" +DEFINE_STACK_OF(POLICY_MAPPING) +DEFINE_STACK_OF(CONF_VALUE) + static void *v2i_POLICY_MAPPINGS(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); static STACK_OF(CONF_VALUE) *i2v_POLICY_MAPPINGS(const X509V3_EXT_METHOD diff --git a/crypto/x509/v3_prn.c b/crypto/x509/v3_prn.c index 2ef76c1b..e5f062b6 100644 --- a/crypto/x509/v3_prn.c +++ b/crypto/x509/v3_prn.c @@ -14,6 +14,9 @@ #include #include +DEFINE_STACK_OF(CONF_VALUE) +DEFINE_STACK_OF(X509_EXTENSION) + /* Extension printing routines */ static int unknown_ext_print(BIO *out, const unsigned char *ext, int extlen, diff --git a/crypto/x509/v3_purp.c b/crypto/x509/v3_purp.c index bee8210b..b3401035 100644 --- a/crypto/x509/v3_purp.c +++ b/crypto/x509/v3_purp.c @@ -15,6 +15,11 @@ #include "crypto/x509.h" #include "internal/tsan_assist.h" +DEFINE_STACK_OF(GENERAL_NAME) +DEFINE_STACK_OF(DIST_POINT) +DEFINE_STACK_OF(X509_PURPOSE) +DEFINE_STACK_OF(ASN1_OBJECT) + static int check_ssl_ca(const X509 *x); static int check_purpose_ssl_client(const X509_PURPOSE *xp, const X509 *x, int ca); @@ -811,14 +816,15 @@ static int no_check(const X509_PURPOSE *xp, const X509 *x, int ca) * codes for X509_verify_cert() */ -int X509_check_issued(X509 *issuer, X509 *subject) +int x509_check_issued_int(X509 *issuer, X509 *subject, OPENSSL_CTX *libctx, + const char *propq) { if (X509_NAME_cmp(X509_get_subject_name(issuer), X509_get_issuer_name(subject))) return X509_V_ERR_SUBJECT_ISSUER_MISMATCH; - if (!X509v3_cache_extensions(issuer, NULL, NULL) - || !X509v3_cache_extensions(subject, NULL, NULL)) + if (!X509v3_cache_extensions(issuer, libctx, propq) + || !X509v3_cache_extensions(subject, libctx, propq)) return X509_V_ERR_UNSPECIFIED; if (subject->akid) { @@ -853,6 +859,11 @@ int X509_check_issued(X509 *issuer, X509 *subject) return X509_V_OK; } +int X509_check_issued(X509 *issuer, X509 *subject) +{ + return x509_check_issued_int(issuer, subject, NULL, NULL); +} + int X509_check_akid(X509 *issuer, AUTHORITY_KEYID *akid) { diff --git a/crypto/x509/v3_sxnet.c b/crypto/x509/v3_sxnet.c index 072b8efe..364348d9 100644 --- a/crypto/x509/v3_sxnet.c +++ b/crypto/x509/v3_sxnet.c @@ -15,6 +15,9 @@ #include #include "ext_dat.h" +DEFINE_STACK_OF(SXNETID) +DEFINE_STACK_OF(CONF_VALUE) + /* Support for Thawte strong extranet extension */ #define SXNET_TEST diff --git a/crypto/x509/v3_tlsf.c b/crypto/x509/v3_tlsf.c index 28e83bb2..597e8eda 100644 --- a/crypto/x509/v3_tlsf.c +++ b/crypto/x509/v3_tlsf.c @@ -15,6 +15,9 @@ #include #include "ext_dat.h" +DEFINE_STACK_OF(ASN1_INTEGER) +DEFINE_STACK_OF(CONF_VALUE) + static STACK_OF(CONF_VALUE) *i2v_TLS_FEATURE(const X509V3_EXT_METHOD *method, TLS_FEATURE *tls_feature, STACK_OF(CONF_VALUE) *ext_list); diff --git a/crypto/x509/v3_utf8.c b/crypto/x509/v3_utf8.c index df1000de..b3f87ac5 100644 --- a/crypto/x509/v3_utf8.c +++ b/crypto/x509/v3_utf8.c @@ -36,11 +36,12 @@ char *i2s_ASN1_UTF8STRING(X509V3_EXT_METHOD *method, X509V3err(X509V3_F_I2S_ASN1_UTF8STRING, ERR_R_PASSED_NULL_PARAMETER); return NULL; } - if ((tmp = OPENSSL_zalloc(utf8->length + 1)) == NULL) { + if ((tmp = OPENSSL_malloc(utf8->length + 1)) == NULL) { X509V3err(X509V3_F_I2S_ASN1_UTF8STRING, ERR_R_MALLOC_FAILURE); return NULL; } memcpy(tmp, utf8->data, utf8->length); + tmp[utf8->length] = 0; return tmp; } diff --git a/crypto/x509/v3_utl.c b/crypto/x509/v3_utl.c index d8abb6da..4be39539 100644 --- a/crypto/x509/v3_utl.c +++ b/crypto/x509/v3_utl.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2020 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 @@ -20,6 +20,12 @@ #include #include "ext_dat.h" +DEFINE_STACK_OF(CONF_VALUE) +DEFINE_STACK_OF(GENERAL_NAME) +DEFINE_STACK_OF(ACCESS_DESCRIPTION) +DEFINE_STACK_OF(X509_EXTENSION) +DEFINE_STACK_OF_STRING() + static char *strip_spaces(char *name); static int sk_strcmp(const char *const *a, const char *const *b); static STACK_OF(OPENSSL_STRING) *get_email(const X509_NAME *name, diff --git a/crypto/x509/x509_att.c b/crypto/x509/x509_att.c index c8b2d0f8..03b90262 100644 --- a/crypto/x509/x509_att.c +++ b/crypto/x509/x509_att.c @@ -17,6 +17,9 @@ #include #include "x509_local.h" +DEFINE_STACK_OF(X509_ATTRIBUTE) +DEFINE_STACK_OF(ASN1_TYPE) + int X509at_get_attr_count(const STACK_OF(X509_ATTRIBUTE) *x) { return sk_X509_ATTRIBUTE_num(x); diff --git a/crypto/x509/x509_cmp.c b/crypto/x509/x509_cmp.c index 5b000386..05615c1e 100644 --- a/crypto/x509/x509_cmp.c +++ b/crypto/x509/x509_cmp.c @@ -16,11 +16,17 @@ #include #include "crypto/x509.h" +DEFINE_STACK_OF(X509) + int X509_issuer_and_serial_cmp(const X509 *a, const X509 *b) { int i; const X509_CINF *ai, *bi; + if (b == NULL) + return a != NULL; + if (a == NULL) + return -1; ai = &a->cert_info; bi = &b->cert_info; i = ASN1_INTEGER_cmp(&ai->serialNumber, &bi->serialNumber); @@ -161,8 +167,12 @@ int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b) { int ret; - /* Ensure canonical encoding is present and up to date */ + if (b == NULL) + return a != NULL; + if (a == NULL) + return -1; + /* Ensure canonical encoding is present and up to date */ if (!a->canon_enc || a->modified) { ret = i2d_X509_NAME((X509_NAME *)a, NULL); if (ret < 0) diff --git a/crypto/x509/x509_err.c b/crypto/x509/x509_err.c index 59ffbee6..e37024b5 100644 --- a/crypto/x509/x509_err.c +++ b/crypto/x509/x509_err.c @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/x509/x509_local.h b/crypto/x509/x509_local.h index 1f79a0f5..e174ae76 100644 --- a/crypto/x509/x509_local.h +++ b/crypto/x509/x509_local.h @@ -1,5 +1,5 @@ /* - * Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2014-2020 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 diff --git a/crypto/x509/x509_lu.c b/crypto/x509/x509_lu.c index 39814104..421f26ba 100644 --- a/crypto/x509/x509_lu.c +++ b/crypto/x509/x509_lu.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -15,6 +15,11 @@ #include #include "x509_local.h" +DEFINE_STACK_OF(X509_LOOKUP) +DEFINE_STACK_OF(X509_OBJECT) +DEFINE_STACK_OF(X509_CRL) +DEFINE_STACK_OF(X509) + X509_LOOKUP *X509_LOOKUP_new(X509_LOOKUP_METHOD *method) { X509_LOOKUP *ret = OPENSSL_zalloc(sizeof(*ret)); diff --git a/crypto/x509/x509_obj.c b/crypto/x509/x509_obj.c index 9d8f48d2..1229c01b 100644 --- a/crypto/x509/x509_obj.c +++ b/crypto/x509/x509_obj.c @@ -14,6 +14,8 @@ #include #include "crypto/x509.h" +DEFINE_STACK_OF(X509_NAME_ENTRY) + /* * Limit to ensure we don't overflow: much greater than * anything encountered in practice. diff --git a/crypto/x509/x509_r2x.c b/crypto/x509/x509_r2x.c index 310d28bb..a284bf72 100644 --- a/crypto/x509/x509_r2x.c +++ b/crypto/x509/x509_r2x.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -17,6 +17,8 @@ #include #include +DEFINE_STACK_OF(X509_ATTRIBUTE) + X509 *X509_REQ_to_X509(X509_REQ *r, int days, EVP_PKEY *pkey) { X509 *ret = NULL; diff --git a/crypto/x509/x509_req.c b/crypto/x509/x509_req.c index 9382f37a..639e8e47 100644 --- a/crypto/x509/x509_req.c +++ b/crypto/x509/x509_req.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -286,6 +286,18 @@ void X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig, *palg = &req->sig_alg; } +void X509_REQ_set0_signature(X509_REQ *req, ASN1_BIT_STRING *psig) +{ + if (req->signature) + ASN1_BIT_STRING_free(req->signature); + req->signature = psig; +} + +int X509_REQ_set1_signature_algo(X509_REQ *req, X509_ALGOR *palg) +{ + return X509_ALGOR_copy(&req->sig_alg, palg); +} + int X509_REQ_get_signature_nid(const X509_REQ *req) { return OBJ_obj2nid(req->sig_alg.algorithm); diff --git a/crypto/x509/x509_set.c b/crypto/x509/x509_set.c index df45d9f1..46cabc4b 100644 --- a/crypto/x509/x509_set.c +++ b/crypto/x509/x509_set.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/x509/x509_trs.c b/crypto/x509/x509_trs.c index 10718c34..ebd45b68 100644 --- a/crypto/x509/x509_trs.c +++ b/crypto/x509/x509_trs.c @@ -12,6 +12,9 @@ #include #include "crypto/x509.h" +DEFINE_STACK_OF(X509_TRUST) +DEFINE_STACK_OF(ASN1_OBJECT) + static int tr_cmp(const X509_TRUST *const *a, const X509_TRUST *const *b); static void trtable_free(X509_TRUST *p); diff --git a/crypto/x509/x509_txt.c b/crypto/x509/x509_txt.c index 2c82f864..4897c4d5 100644 --- a/crypto/x509/x509_txt.c +++ b/crypto/x509/x509_txt.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/x509/x509_v3.c b/crypto/x509/x509_v3.c index 715c3594..31438d20 100644 --- a/crypto/x509/x509_v3.c +++ b/crypto/x509/x509_v3.c @@ -17,6 +17,8 @@ #include #include "x509_local.h" +DEFINE_STACK_OF(X509_EXTENSION) + int X509v3_get_ext_count(const STACK_OF(X509_EXTENSION) *x) { if (x == NULL) diff --git a/crypto/x509/x509_vfy.c b/crypto/x509/x509_vfy.c index 84a4bb2c..e5fbd2af 100644 --- a/crypto/x509/x509_vfy.c +++ b/crypto/x509/x509_vfy.c @@ -25,6 +25,13 @@ #include "crypto/x509.h" #include "x509_local.h" +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_REVOKED) +DEFINE_STACK_OF(GENERAL_NAME) +DEFINE_STACK_OF(X509_CRL) +DEFINE_STACK_OF(DIST_POINT) +DEFINE_STACK_OF_STRING() + /* CRL score values */ /* No unhandled critical extensions */ @@ -334,7 +341,7 @@ static int check_issued(X509_STORE_CTX *ctx, X509 *x, X509 *issuer) return ss; } - ret = X509_check_issued(issuer, x); + ret = x509_check_issued_int(issuer, x, ctx->libctx, ctx->propq); if (ret == X509_V_OK) { int i; X509 *ch; @@ -1763,7 +1770,7 @@ static int internal_verify(X509_STORE_CTX *ctx) if (!verify_cb_cert(ctx, xi, xi != xs ? n+1 : n, X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY)) return 0; - } else if (X509_verify(xs, pkey) <= 0) { + } else if (X509_verify_ex(xs, pkey, ctx->libctx, ctx->propq) <= 0) { if (!verify_cb_cert(ctx, xs, n, X509_V_ERR_CERT_SIGNATURE_FAILURE)) return 0; @@ -2809,7 +2816,7 @@ static int check_dane_pkeys(X509_STORE_CTX *ctx) if (t->usage != DANETLS_USAGE_DANE_TA || t->selector != DANETLS_SELECTOR_SPKI || t->mtype != DANETLS_MATCHING_FULL || - X509_verify(cert, t->spki) <= 0) + X509_verify_ex(cert, t->spki, ctx->libctx, ctx->propq) <= 0) continue; /* Clear any PKIX-?? matches that failed to extend to a full chain */ diff --git a/crypto/x509/x509_vpm.c b/crypto/x509/x509_vpm.c index b2b34d98..c3af2d3d 100644 --- a/crypto/x509/x509_vpm.c +++ b/crypto/x509/x509_vpm.c @@ -1,5 +1,5 @@ /* - * Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2004-2020 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 @@ -18,6 +18,10 @@ #include "x509_local.h" +DEFINE_STACK_OF(ASN1_OBJECT) +DEFINE_STACK_OF(X509_VERIFY_PARAM) +DEFINE_STACK_OF_STRING() + /* X509_VERIFY_PARAM functions */ #define SET_HOST 0 diff --git a/crypto/x509/x509cset.c b/crypto/x509/x509cset.c index 28b3aba0..d5b37780 100644 --- a/crypto/x509/x509cset.c +++ b/crypto/x509/x509cset.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 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 @@ -16,6 +16,8 @@ #include #include "crypto/x509.h" +DEFINE_STACK_OF(X509_REVOKED) + int X509_CRL_set_version(X509_CRL *x, long version) { if (x == NULL) diff --git a/crypto/x509/x509name.c b/crypto/x509/x509name.c index e674d6be..7e2704fb 100644 --- a/crypto/x509/x509name.c +++ b/crypto/x509/x509name.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -16,6 +16,8 @@ #include #include "crypto/x509.h" +DEFINE_STACK_OF(X509_NAME_ENTRY) + int X509_NAME_get_text_by_NID(const X509_NAME *name, int nid, char *buf, int len) { diff --git a/crypto/x509/x509rset.c b/crypto/x509/x509rset.c index aeb5a556..344993d4 100644 --- a/crypto/x509/x509rset.c +++ b/crypto/x509/x509rset.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/x509/x_all.c b/crypto/x509/x_all.c index ce8c23b6..6d7f341c 100644 --- a/crypto/x509/x_all.c +++ b/crypto/x509/x_all.c @@ -24,6 +24,7 @@ #include #include #include +#include "crypto/asn1.h" static void clean_id_ctx(EVP_MD_CTX *ctx) { @@ -33,13 +34,14 @@ static void clean_id_ctx(EVP_MD_CTX *ctx) EVP_MD_CTX_free(ctx); } -static EVP_MD_CTX *make_id_ctx(EVP_PKEY *r, ASN1_OCTET_STRING *id) +static EVP_MD_CTX *make_id_ctx(EVP_PKEY *r, ASN1_OCTET_STRING *id, + OPENSSL_CTX *libctx, const char *propq) { EVP_MD_CTX *ctx = NULL; EVP_PKEY_CTX *pctx = NULL; if ((ctx = EVP_MD_CTX_new()) == NULL - || (pctx = EVP_PKEY_CTX_new(r, NULL)) == NULL) { + || (pctx = EVP_PKEY_CTX_new_from_pkey(libctx, r, propq)) == NULL) { X509err(0, ERR_R_MALLOC_FAILURE); goto error; } @@ -62,7 +64,7 @@ static EVP_MD_CTX *make_id_ctx(EVP_PKEY *r, ASN1_OCTET_STRING *id) return NULL; } -int X509_verify(X509 *a, EVP_PKEY *r) +int X509_verify_ex(X509 *a, EVP_PKEY *r, OPENSSL_CTX *libctx, const char *propq) { int rv = 0; EVP_MD_CTX *ctx = NULL; @@ -72,7 +74,7 @@ int X509_verify(X509 *a, EVP_PKEY *r) return 0; id = a->distinguishing_id; - if ((ctx = make_id_ctx(r, id)) != NULL) { + if ((ctx = make_id_ctx(r, id, libctx, propq)) != NULL) { rv = ASN1_item_verify_ctx(ASN1_ITEM_rptr(X509_CINF), &a->sig_alg, &a->signature, &a->cert_info, ctx); clean_id_ctx(ctx); @@ -80,14 +82,20 @@ int X509_verify(X509 *a, EVP_PKEY *r) return rv; } -int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r) +int X509_verify(X509 *a, EVP_PKEY *r) +{ + return X509_verify_ex(a, r, NULL, NULL); +} + +int X509_REQ_verify_ex(X509_REQ *a, EVP_PKEY *r, OPENSSL_CTX *libctx, + const char *propq) { int rv = 0; EVP_MD_CTX *ctx = NULL; ASN1_OCTET_STRING *id = NULL; id = a->distinguishing_id; - if ((ctx = make_id_ctx(r, id)) != NULL) { + if ((ctx = make_id_ctx(r, id, libctx, propq)) != NULL) { rv = ASN1_item_verify_ctx(ASN1_ITEM_rptr(X509_REQ_INFO), &a->sig_alg, a->signature, &a->req_info, ctx); clean_id_ctx(ctx); @@ -95,6 +103,11 @@ int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r) return rv; } +int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r) +{ + return X509_REQ_verify_ex(a, r, NULL, NULL); +} + int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r) { return (ASN1_item_verify(ASN1_ITEM_rptr(NETSCAPE_SPKAC), @@ -594,6 +607,22 @@ EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a) return ASN1_d2i_fp_of(EVP_PKEY, EVP_PKEY_new, d2i_AutoPrivateKey, fp, a); } +EVP_PKEY *d2i_PrivateKey_ex_fp(FILE *fp, EVP_PKEY **a, OPENSSL_CTX *libctx, + const char *propq) +{ + BIO *b; + void *ret; + + if ((b = BIO_new(BIO_s_file())) == NULL) { + X509err(0, ERR_R_BUF_LIB); + return NULL; + } + BIO_set_fp(b, fp, BIO_NOCLOSE); + ret = d2i_PrivateKey_ex_bio(b, a, libctx, propq); + BIO_free(b); + return ret; +} + int i2d_PUBKEY_fp(FILE *fp, const EVP_PKEY *pkey) { return ASN1_i2d_fp_of(EVP_PKEY, i2d_PUBKEY, fp, pkey); @@ -642,6 +671,25 @@ EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a) return ASN1_d2i_bio_of(EVP_PKEY, EVP_PKEY_new, d2i_AutoPrivateKey, bp, a); } +EVP_PKEY *d2i_PrivateKey_ex_bio(BIO *bp, EVP_PKEY **a, OPENSSL_CTX *libctx, + const char *propq) +{ + BUF_MEM *b = NULL; + const unsigned char *p; + void *ret = NULL; + int len; + + len = asn1_d2i_read_bio(bp, &b); + if (len < 0) + goto err; + + p = (unsigned char *)b->data; + ret = d2i_AutoPrivateKey_ex(a, &p, len, libctx, propq); + err: + BUF_MEM_free(b); + return ret; +} + int i2d_PUBKEY_bio(BIO *bp, const EVP_PKEY *pkey) { return ASN1_i2d_bio_of(EVP_PKEY, i2d_PUBKEY, bp, pkey); diff --git a/crypto/x509/x_attrib.c b/crypto/x509/x_attrib.c index b3023411..99609cfc 100644 --- a/crypto/x509/x_attrib.c +++ b/crypto/x509/x_attrib.c @@ -14,6 +14,8 @@ #include #include "x509_local.h" +DEFINE_STACK_OF(ASN1_TYPE) + /*- * X509_ATTRIBUTE: this has the following form: * diff --git a/crypto/x509/x_crl.c b/crypto/x509/x_crl.c index 0f53be71..0d3e1fed 100644 --- a/crypto/x509/x_crl.c +++ b/crypto/x509/x_crl.c @@ -15,6 +15,11 @@ #include #include "x509_local.h" +DEFINE_STACK_OF(GENERAL_NAME) +DEFINE_STACK_OF(GENERAL_NAMES) +DEFINE_STACK_OF(X509_REVOKED) +DEFINE_STACK_OF(X509_EXTENSION) + static int X509_REVOKED_cmp(const X509_REVOKED *const *a, const X509_REVOKED *const *b); static int setup_idp(X509_CRL *crl, ISSUING_DIST_POINT *idp); diff --git a/crypto/x509/x_name.c b/crypto/x509/x_name.c index b820171b..2db9aa34 100644 --- a/crypto/x509/x_name.c +++ b/crypto/x509/x_name.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -16,6 +16,9 @@ #include "crypto/asn1.h" #include "x509_local.h" +DEFINE_STACK_OF(X509_NAME_ENTRY) +DEFINE_STACK_OF(ASN1_VALUE) + /* * Maximum length of X509_NAME: much larger than anything we should * ever see in practice. diff --git a/crypto/x509/x_pubkey.c b/crypto/x509/x_pubkey.c index f643170b..23e92f2b 100644 --- a/crypto/x509/x_pubkey.c +++ b/crypto/x509/x_pubkey.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/crypto/x509/x_req.c b/crypto/x509/x_req.c index d8a89011..10b82df5 100644 --- a/crypto/x509/x_req.c +++ b/crypto/x509/x_req.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -13,6 +13,8 @@ #include #include "crypto/x509.h" +DEFINE_STACK_OF(X509_ATTRIBUTE) + /*- * X509_REQ_INFO is handled in an unusual way to get round * invalid encodings. Some broken certificate requests don't diff --git a/crypto/x509/x_x509.c b/crypto/x509/x_x509.c index 75b17101..8cfdbc9f 100644 --- a/crypto/x509/x_x509.c +++ b/crypto/x509/x_x509.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -15,6 +15,8 @@ #include #include "crypto/x509.h" +DEFINE_STACK_OF(IPAddressFamily) + ASN1_SEQUENCE_enc(X509_CINF, enc, 0) = { ASN1_EXP_OPT(X509_CINF, version, ASN1_INTEGER, 0), ASN1_EMBED(X509_CINF, serialNumber, ASN1_INTEGER), diff --git a/crypto/x509/x_x509a.c b/crypto/x509/x_x509a.c index 18d09e30..957386b8 100644 --- a/crypto/x509/x_x509a.c +++ b/crypto/x509/x_x509a.c @@ -14,6 +14,8 @@ #include #include "crypto/x509.h" +DEFINE_STACK_OF(ASN1_OBJECT) + /* * X509_CERT_AUX routines. These are used to encode additional user * modifiable data about a certificate. This data is appended to the X509 diff --git a/crypto/x86_64cpuid.pl b/crypto/x86_64cpuid.pl index 32d18a23..d3e2b914 100644 --- a/crypto/x86_64cpuid.pl +++ b/crypto/x86_64cpuid.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2005-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2005-2020 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 diff --git a/crypto/x86cpuid.pl b/crypto/x86cpuid.pl index 484bbdd7..a7bcb27e 100644 --- a/crypto/x86cpuid.pl +++ b/crypto/x86cpuid.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2004-2020 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 diff --git a/demos/pkcs12/pkread.c b/demos/pkcs12/pkread.c index d29ab98a..3b153f8e 100644 --- a/demos/pkcs12/pkread.c +++ b/demos/pkcs12/pkread.c @@ -1,5 +1,5 @@ /* - * Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2020 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 diff --git a/demos/pkcs12/pkwrite.c b/demos/pkcs12/pkwrite.c index 262b49dc..51afd25a 100644 --- a/demos/pkcs12/pkwrite.c +++ b/demos/pkcs12/pkwrite.c @@ -1,5 +1,5 @@ /* - * Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2020 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 diff --git a/dev/README b/dev/README new file mode 100644 index 00000000..aee3fcd6 --- /dev/null +++ b/dev/README @@ -0,0 +1,6 @@ +Developer files +=============== + +Here are all kinds of things that an OpenSSL developer might need or +might choose to use. Some of them demand access to OpenSSL's +infrastructure, others are simply practical. diff --git a/dev/release-aux/README.md b/dev/release-aux/README.md new file mode 100644 index 00000000..9d05ae5f --- /dev/null +++ b/dev/release-aux/README.md @@ -0,0 +1,30 @@ +Auxilliary files for dev/release.sh +=================================== + +- release-state-fn.sh + + This is the main version and state update logic... you could say + that it's the innermost engine for the release mechanism. It + tries to be agnostic of versioning schemes, and relies on + release-version-fn.sh to supply necessary functions that are + specific for versioning schemes. + +- release-version-fn.sh + + Supplies functions that are specific to versioning schemes: + + get_version() gets the version data from appropriate files. + + set_version() writes the version data to appropriate files. + + fixup_version() updates the version data, given a first argument + that instructs it what update to do. + +- openssl-announce-pre-release.tmpl and openssl-announce-release.tmpl + + Templates for announcements + +- fixup-*-release.pl and fixup-*-postrelease.pl + + Fixup scripts for specific files, to be done for the release + commit and for the post-release commit. diff --git a/dev/release-aux/fix-title.pl b/dev/release-aux/fix-title.pl new file mode 100644 index 00000000..d3f00b98 --- /dev/null +++ b/dev/release-aux/fix-title.pl @@ -0,0 +1,6 @@ +#! /usr/bin/perl + +BEGIN { my $prev } +($_ = $prev) =~ s|^( *)(.*)$|"$1" . '=' x length($2)|e + if m|==========|; +$prev = $_; diff --git a/dev/release-aux/fixup-CHANGES.md-postrelease.pl b/dev/release-aux/fixup-CHANGES.md-postrelease.pl new file mode 100644 index 00000000..6592635d --- /dev/null +++ b/dev/release-aux/fixup-CHANGES.md-postrelease.pl @@ -0,0 +1,28 @@ +#! /usr/bin/env perl -pi + +BEGIN { + our $count = 1; # Only the first one + our $RELEASE = $ENV{RELEASE}; + our $RELEASE_TEXT = $ENV{RELEASE_TEXT}; + our $PREV_RELEASE_DATE = $ENV{PREV_RELEASE_DATE} || 'xx XXX xxxx'; + our $PREV_RELEASE_TEXT = $ENV{PREV_RELEASE_TEXT}; + + $RELEASE =~ s/-dev//; +} + +if (/^### Changes between (\S+) and (\S+) \[xx XXX xxxx\]/ + && $count-- > 0) { + my $v1 = $1; + my $v2 = $PREV_RELEASE_TEXT || $2; + + # If this is a pre-release, we do nothing + if ($RELEASE !~ /^\d+\.\d+\.\d+-(?:alpha|beta)/) { + $_ = <<_____ +### Changes between $v2 and $RELEASE_TEXT [xx XXX xxxx] ### + + * + +### Changes between $v1 and $v2 [$PREV_RELEASE_DATE] ### +_____ + } +} diff --git a/dev/release-aux/fixup-CHANGES.md-release.pl b/dev/release-aux/fixup-CHANGES.md-release.pl new file mode 100644 index 00000000..7e5ba7e8 --- /dev/null +++ b/dev/release-aux/fixup-CHANGES.md-release.pl @@ -0,0 +1,13 @@ +#! /usr/bin/env perl -p + +BEGIN { + our $count = 1; # Only the first one + our $RELEASE = $ENV{RELEASE}; + our $RELEASE_TEXT = $ENV{RELEASE_TEXT}; + our $RELEASE_DATE = $ENV{RELEASE_DATE}; +} + +if (/^### Changes between (\S+) and (\S+) \[xx XXX xxxx\]/ + && $count-- > 0) { + $_ = "### Changes between $1 and $RELEASE_TEXT [$RELEASE_DATE]$'"; +} diff --git a/dev/release-aux/fixup-NEWS.md-postrelease.pl b/dev/release-aux/fixup-NEWS.md-postrelease.pl new file mode 100644 index 00000000..b1d47264 --- /dev/null +++ b/dev/release-aux/fixup-NEWS.md-postrelease.pl @@ -0,0 +1,28 @@ +#! /usr/bin/env perl -pi + +BEGIN { + our $count = 1; # Only the first one + our $RELEASE = $ENV{RELEASE}; + our $RELEASE_TEXT = $ENV{RELEASE_TEXT}; + our $PREV_RELEASE_DATE = $ENV{PREV_RELEASE_DATE} || 'under development'; + our $PREV_RELEASE_TEXT = $ENV{PREV_RELEASE_TEXT}; + + $RELEASE =~ s/-dev//; +} + +if (/^### Major changes between OpenSSL (\S+) and OpenSSL (\S+) \[under development\]/ + && $count-- > 0) { + my $v1 = $1; + my $v2 = $PREV_RELEASE_TEXT || $2; + + # If this is a pre-release, we do nothing + if ($RELEASE !~ /^\d+\.\d+\.\d+-(?:alpha|beta)/) { + $_ = <<_____ +### Major changes between OpenSSL $v2 and OpenSSL $RELEASE_TEXT [under development] ### + + * + +### Major changes between OpenSSL $v1 and OpenSSL $v2 [$PREV_RELEASE_DATE] ### +_____ + } +} diff --git a/dev/release-aux/fixup-NEWS.md-release.pl b/dev/release-aux/fixup-NEWS.md-release.pl new file mode 100644 index 00000000..212e10e8 --- /dev/null +++ b/dev/release-aux/fixup-NEWS.md-release.pl @@ -0,0 +1,16 @@ +#! /usr/bin/env perl -p + +BEGIN { + our $count = 1; # Only the first one + our $RELEASE = $ENV{RELEASE}; + our $RELEASE_TEXT = $ENV{RELEASE_TEXT}; + our $RELEASE_DATE = $ENV{RELEASE_DATE}; + + $RELEASE_DATE = 'in pre-release' + if ($RELEASE =~ /\d+\.\d+\.\d+-(?:alpha|beta)/) +} + +if (/^### Major changes between OpenSSL (\S+) and OpenSSL (\S+) \[under development\]/ + && $count-- > 0) { + $_ = "### Major changes between OpenSSL $1 and OpenSSL $RELEASE_TEXT [$RELEASE_DATE]$'"; +} diff --git a/dev/release-aux/openssl-announce-pre-release.tmpl b/dev/release-aux/openssl-announce-pre-release.tmpl new file mode 100644 index 00000000..6557d25e --- /dev/null +++ b/dev/release-aux/openssl-announce-pre-release.tmpl @@ -0,0 +1,51 @@ + + OpenSSL version $release_text released + ====================================== + + OpenSSL - The Open Source toolkit for SSL/TLS + https://www.openssl.org/ + + OpenSSL $series is currently in $label. + + OpenSSL $release_text has now been made available. + + Note: This OpenSSL pre-release has been provided for testing ONLY. + It should NOT be used for security critical purposes. + + Specific notes on upgrading to OpenSSL $series from previous versions, as well + as known issues are available on the OpenSSL Wiki, here: + + https://wiki.openssl.org/index.php/OpenSSL_$series + + The $label release is available for download via HTTPS and FTP from the + following master locations (you can find the various FTP mirrors under + https://www.openssl.org/source/mirror.html): + + * https://www.openssl.org/source/ + * ftp://ftp.openssl.org/source/ + + The distribution file name is: + + o $tarfile + Size: $length + SHA1 checksum: $sha1hash + SHA256 checksum: $sha256hash + + The checksums were calculated using the following commands: + + openssl sha1 $tarfile + openssl sha256 $tarfile + + Please download and check this $label release as soon as possible. + To report a bug, open an issue on GitHub: + + https://github.com/openssl/openssl/issues + + Please check the release notes and mailing lists to avoid duplicate + reports of known issues. (Of course, the source is also available + on GitHub.) + + Yours, + + The OpenSSL Project Team. + diff --git a/dev/release-aux/openssl-announce-release.tmpl b/dev/release-aux/openssl-announce-release.tmpl new file mode 100644 index 00000000..5e08f2e5 --- /dev/null +++ b/dev/release-aux/openssl-announce-release.tmpl @@ -0,0 +1,41 @@ + + OpenSSL version $release released + ================================= + + OpenSSL - The Open Source toolkit for SSL/TLS + https://www.openssl.org/ + + The OpenSSL project team is pleased to announce the release of + version $release of our open source toolkit for SSL/TLS. + For details of the changes, see the release notes at: + + https://www.openssl.org/news/openssl-$series-notes.html + + Specific notes on upgrading to OpenSSL $series from previous versions, as well + as known issues are available on the OpenSSL Wiki, here: + + https://wiki.openssl.org/index.php/OpenSSL_$series + + OpenSSL $release is available for download via HTTPS and FTP from the + following master locations (you can find the various FTP mirrors under + https://www.openssl.org/source/mirror.html): + + * https://www.openssl.org/source/ + * ftp://ftp.openssl.org/source/ + + The distribution file name is: + + o $tarfile + Size: $length + SHA1 checksum: $sha1hash + SHA256 checksum: $sha256hash + + The checksums were calculated using the following commands: + + openssl sha1 $tarfile + openssl sha256 $tarfile + + Yours, + + The OpenSSL Project Team. + diff --git a/dev/release-aux/release-state-fn.sh b/dev/release-aux/release-state-fn.sh new file mode 100644 index 00000000..f495cb85 --- /dev/null +++ b/dev/release-aux/release-state-fn.sh @@ -0,0 +1,202 @@ +#! /bin/sh +# Copyright 2020 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 + +# This will increase the version number and pre-release tag, according to the +# current state of the source tree, and the function's first argument (called +# |next| internally), which is how the caller tells what the next step should +# be. +# +# The possible current source tree states are: +# '' The source is in a released state. +# 'dev' The source is in development. This is the normal state. +# 'alpha', 'alphadev' +# The source is undergoing a series of alpha releases. +# 'beta', 'betadev' +# The source is undergoing a series of beta releases. +# These states are computed from $PRE_LABEL and $TYPE +# +# The possible |next| values are: +# 'alpha' The source tree should move to an alpha release state, or +# stay there. This trips the alpha / pre-release counter. +# 'beta' The source tree should move to a beta release state, or +# stay there. This trips the beta / pre-release counter. +# 'final' The source tree should move to a final release (assuming it's +# currently in one of the alpha or beta states). This turns +# off the alpha or beta states. +# '' The source tree should move to the next release. The exact +# meaning depends on the current source state. It may mean +# tripping the alpha / beta / pre-release counter, or increasing +# the PATCH number. +# +# 'minor' The source tree should move to the next minor version. This +# should only be used in the master branch when a release branch +# has been created. +# +# This function expects there to be a function called fixup_version(), which +# SHOULD take the |next| as first argument, and SHOULD increase the label +# counter or the PATCH number accordingly, but only when the current +# state is "in development". + +next_release_state () { + local next="$1" + local today="$(date '+%-d %b %Y')" + local retry=true + + local before="$PRE_LABEL$TYPE" + + while $retry; do + retry=false + + $DEBUG >&2 "DEBUG[next_release_state]: BEGIN: \$before=$before" + $DEBUG >&2 "DEBUG[next_release_state]: BEGIN: \$next=$next" + $DEBUG >&2 "DEBUG[next_release_state]: BEGIN: \$MAJOR=$MAJOR" + $DEBUG >&2 "DEBUG[next_release_state]: BEGIN: \$MINOR=$MINOR" + $DEBUG >&2 "DEBUG[next_release_state]: BEGIN: \$PATCH=$PATCH" + $DEBUG >&2 "DEBUG[next_release_state]: BEGIN: \$TYPE=$TYPE" + $DEBUG >&2 "DEBUG[next_release_state]: BEGIN: \$PRE_LABEL=$PRE_LABEL" + $DEBUG >&2 "DEBUG[next_release_state]: BEGIN: \$PRE_NUM=$PRE_NUM" + $DEBUG >&2 "DEBUG[next_release_state]: BEGIN: \$RELEASE_DATE=$RELEASE_DATE" + + case "$before+$next" in + # MAKING ALPHA RELEASES ################################## + + # Alpha releases can't be made from beta versions or real versions + beta*+alpha | +alpha ) + echo >&2 "Invalid state for an alpha release" + echo >&2 "Try --beta or --final, or perhaps nothing" + exit 1 + ;; + # For alpha releases, the tag update is dev => alpha or + # alpha dev => alpha for the release itself, and + # alpha => alpha dev for post release. + dev+alpha | alphadev+alpha ) + TYPE= + RELEASE_DATE="$today" + fixup_version "alpha" + ;; + alpha+alpha ) + TYPE=dev + RELEASE_DATE= + fixup_version "alpha" + ;; + + # MAKING BETA RELEASES ################################### + + # Beta releases can't be made from real versions + +beta ) + echo >&2 "Invalid state for beta release" + echo >&2 "Try --final, or perhaps nothing" + exit 1 + ;; + # For beta releases, the tag update is dev => beta1, or + # alpha{n}-dev => beta1 when transitioning from alpha to + # beta, or beta{n}-dev => beta{n} for the release itself, + # or beta{n} => beta{n+1}-dev for post release. + dev+beta | alphadev+beta | betadev+beta ) + TYPE= + RELEASE_DATE="$today" + fixup_version "beta" + ;; + beta+beta ) + TYPE=dev + RELEASE_DATE= + fixup_version "beta" + ;; + # It's possible to switch from alpha to beta in the + # post release. That's what --next-beta does. + alpha+beta ) + TYPE=dev + RELEASE_DATE= + fixup_version "beta" + ;; + + # MAKING FINAL RELEASES ################################## + + # Final releases can't be made from the main development branch + dev+final) + echo >&2 "Invalid state for final release" + echo >&2 "This should have been preceded by an alpha or a beta release" + exit 1 + ;; + # For final releases, the starting point must be a dev state + alphadev+final | betadev+final ) + TYPE= + RELEASE_DATE="$today" + fixup_version "final" + ;; + # The final step of a final release is to switch back to + # development + +final ) + TYPE=dev + RELEASE_DATE= + fixup_version "final" + ;; + + # SWITCHING TO THE NEXT MINOR RELEASE #################### + + *+minor ) + TYPE=dev + RELEASE_DATE= + fixup_version "minor" + ;; + + # MAKING DEFAULT RELEASES ################################ + + # If we're coming from a non-dev, simply switch to dev. + # fixup_version() should trip up the PATCH number. + + ) + TYPE=dev + fixup_version "" + ;; + + # If we're coming from development, switch to non-dev, unless + # the PATCH number is zero. If it is, we force the caller to + # go through the alpha and beta release process. + dev+ ) + if [ "$PATCH" = "0" ]; then + echo >&2 "Can't update PATCH version number from 0" + echo >&2 "Please use --alpha or --beta" + exit 1 + fi + TYPE= + RELEASE_DATE="$today" + fixup_version "" + ;; + + # If we're currently in alpha, we continue with alpha, as if + # the user had specified --alpha + alpha*+ ) + next=alpha + retry=true + ;; + + # If we're currently in beta, we continue with beta, as if + # the user had specified --beta + beta*+ ) + next=beta + retry=true + ;; + + *) + echo >&2 "Invalid combination of options" + exit 1 + ;; + esac + + $DEBUG >&2 "DEBUG[next_release_state]: END: \$before=$before" + $DEBUG >&2 "DEBUG[next_release_state]: END: \$next=$next" + $DEBUG >&2 "DEBUG[next_release_state]: END: \$MAJOR=$MAJOR" + $DEBUG >&2 "DEBUG[next_release_state]: END: \$MINOR=$MINOR" + $DEBUG >&2 "DEBUG[next_release_state]: END: \$PATCH=$PATCH" + $DEBUG >&2 "DEBUG[next_release_state]: END: \$TYPE=$TYPE" + $DEBUG >&2 "DEBUG[next_release_state]: END: \$PRE_LABEL=$PRE_LABEL" + $DEBUG >&2 "DEBUG[next_release_state]: END: \$PRE_NUM=$PRE_NUM" + $DEBUG >&2 "DEBUG[next_release_state]: END: \$RELEASE_DATE=$RELEASE_DATE" + done +} + diff --git a/dev/release-aux/release-version-fn.sh b/dev/release-aux/release-version-fn.sh new file mode 100644 index 00000000..f0ac69fa --- /dev/null +++ b/dev/release-aux/release-version-fn.sh @@ -0,0 +1,114 @@ +#! /bin/sh +# Copyright 2020 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 + +# These functions load, manipulate and store the current version information +# for OpenSSL 3.0 and on. +# They are meant to be minimalistic for easy refactoring depending on OpenSSL +# version. +# +# Version information is stored in the following variables: +# +# |MAJOR|, |MINOR|, |PATCH| are the three parts of a version number. +# |MAJOR| is to be increased for new major releases, |MINOR| for new +# minor releases, and |PATCH| for update releases. +# +# |SERIES| tells what release series the current version belongs to, and +# is composed from |MAJOR| and |MINOR|. +# |VERSION| tells what the current version is, and is composed from |MAJOR|, +# |MINOR| and |PATCH|. +# |TYPE| tells what state the source is in. It may have an empty value +# for released source, or 'dev' for "in development". +# |PRE_LABEL| may be "alpha" or "beta" to signify an ongoing series of +# alpha or beta releases. |PRE_NUM| is a pre-release counter for the +# alpha and beta release series, but isn't necessarily strictly tied +# to the prerelease label. +# +# Scripts loading this file are not allowed to manipulate these +# variables directly. They must use functions such as fixup_version() +# below, or next_release_state(), found in release-state-fn.sh. + +# These functions depend on |SOURCEDIR|, which must have the intended +# OpenSSL source directory as value. + +get_version () { + eval $(git cat-file blob HEAD:VERSION) + VERSION="$MAJOR.$MINOR.$PATCH" + SERIES="$MAJOR.$MINOR" + TYPE=$( echo "$PRE_RELEASE_TAG" \ + | sed -E \ + -e 's|^dev$|dev|' \ + -e 's|^alpha([0-9]+)(-(dev))?$|\3|' \ + -e 's|^beta([0-9]+)(-(dev))?$|\3|' ) + PRE_LABEL=$( echo "$PRE_RELEASE_TAG" \ + | sed -E \ + -e 's|^dev$||' \ + -e 's|^alpha([0-9]+)(-(dev))?$|alpha|' \ + -e 's|^beta([0-9]+)(-(dev))?$|beta|' ) + PRE_NUM=$( echo "$PRE_RELEASE_TAG" \ + | sed -E \ + -e 's|^dev$|0|' \ + -e 's|^alpha([0-9]+)(-(dev))?$|\1|' \ + -e 's|^beta([0-9]+)(-(dev))?$|\1|' ) +} + +# $1 is one of "alpha", "beta", "final", "", or "minor" +fixup_version () { + local new_label="$1" + + case "$new_label" in + alpha | beta ) + if [ "$new_label" != "$PRE_LABEL" ]; then + PRE_LABEL="$new_label" + PRE_NUM=1 + elif [ "$TYPE" = 'dev' ]; then + PRE_NUM=$(expr $PRE_NUM + 1) + fi + ;; + final | '' ) + if [ "$TYPE" = 'dev' ]; then + PATCH=$(expr $PATCH + 1) + fi + PRE_LABEL= + PRE_NUM=0 + ;; + minor ) + if [ "$TYPE" = 'dev' ]; then + MINOR=$(expr $MINOR + 1) + PATCH=0 + fi + PRE_LABEL= + PRE_NUM=0 + ;; + esac + + VERSION="$MAJOR.$MINOR.$PATCH" + SERIES="$MAJOR.$MINOR" +} + +set_version () { + case "$TYPE+$PRE_LABEL+$PRE_NUM" in + *++* ) + PRE_RELEASE_TAG="$TYPE" + ;; + dev+* ) + PRE_RELEASE_TAG="$PRE_LABEL$PRE_NUM-dev" + ;; + +* ) + PRE_RELEASE_TAG="$PRE_LABEL$PRE_NUM" + ;; + esac + cat > "$SOURCEDIR/VERSION" < + For the purpose of signing tags and tar files, use this + key (default: use the default e-mail address’ key). + +--no-upload Don't upload to upload@dev.openssl.org. +--no-update Don't perform 'make update'. +--verbose Verbose output. +--debug Include debug output. Implies --no-upload. + +--force Force execution + +--help This text +--manual The manual + +If none of --alpha, --beta, or --final are given, this script tries to +figure out the next step. +EOF + exit 0 +} + +# Set to one of 'major', 'minor', 'alpha', 'beta' or 'final' +next_method= +next_method2= + +do_branch=false +warn_branch=false + +do_clean=true +do_upload=true +do_update=true +DEBUG=: +VERBOSE=: +git_quiet=-q + +force=false + +do_help=false +do_manual=false + +tagkey=' -s' +gpgkey= + +upload_address=upload@dev.openssl.org + +TEMP=$(getopt -l 'alpha,next-beta,beta,final' \ + -l 'branch' \ + -l 'no-upload,no-update' \ + -l 'verbose,debug' \ + -l 'local-user:' \ + -l 'force' \ + -l 'help,manual' \ + -n release.sh -- - "$@") +eval set -- "$TEMP" +while true; do + case $1 in + --alpha | --beta | --final ) + next_method=$(echo "x$1" | sed -e 's|^x--||') + if [ -z "$next_method2" ]; then + next_method2=$next_method + fi + shift + if [ "$next_method" = 'final' ]; then + do_branch=true + fi + ;; + --next-beta ) + next_method2=$(echo "x$1" | sed -e 's|^x--next-||') + shift + ;; + --branch ) + do_branch=true + warn_branch=true + shift + ;; + --no-upload ) + do_upload=false + shift + ;; + --no-update ) + do_update=false + shift + ;; + --verbose ) + VERBOSE=echo + git_quiet= + shift + ;; + --debug ) + DEBUG=echo + do_upload=false + shift + ;; + --local-user ) + shift + tagley=" -u $1" + gpgkey=" -u $1" + shift + ;; + --force ) + force=true + shift + ;; + --help ) + usage + exit 0 + ;; + --manual ) + sed -e '1,/^### BEGIN MANUAL/d' \ + -e '/^### END MANUAL/,$d' \ + < "$0" \ + | pod2man \ + | man -l - + exit 0 + ;; + -- ) + shift + break + ;; + * ) + echo >&2 "Unknown option $1" + shift + exit 1 + ;; + esac +done + +$DEBUG >&2 "DEBUG: \$next_method=$next_method" +$DEBUG >&2 "DEBUG: \$next_method2=$next_method2" + +$DEBUG >&2 "DEBUG: \$do_branch=$do_branch" + +$DEBUG >&2 "DEBUG: \$do_upload=$do_upload" +$DEBUG >&2 "DEBUG: \$do_update=$do_update" +$DEBUG >&2 "DEBUG: \$DEBUG=$DEBUG" +$DEBUG >&2 "DEBUG: \$VERBOSE=$VERBOSE" +$DEBUG >&2 "DEBUG: \$git_quiet=$git_quiet" + +case "$next_method+$next_method2" in + major+major | minor+minor ) + # These are expected + ;; + alpha+alpha | alpha+beta | beta+beta | final+final | + | +beta ) + # These are expected + ;; + * ) + echo >&2 "Internal option error ($next_method, $next_method2)" + exit 1 + ;; +esac + +# Verbosity feed for certain commands +VERBOSITY_FIFO=/tmp/openssl-$$.fifo +mkfifo -m 600 $VERBOSITY_FIFO +( cat $VERBOSITY_FIFO | while read L; do $VERBOSE "> $L"; done ) & +exec 42>$VERBOSITY_FIFO +trap "exec 42>&-; rm $VERBOSITY_FIFO" 0 2 + +# Setup ############################################################## + +# Make sure we're in the work directory +cd $(dirname $0)/.. +HERE=$(pwd) + +# Check that we have the scripts that define functions we use +found=true +for fn in "$HERE/dev/release-aux/release-version-fn.sh" \ + "$HERE/dev/release-aux/release-state-fn.sh"; do + if ! [ -f "$fn" ]; then + echo >&2 "'$fn' is missing" + found=false + fi +done +if ! $found; then + exit 1 +fi + +# Load version functions +. $HERE/dev/release-aux/release-version-fn.sh +. $HERE/dev/release-aux/release-state-fn.sh + +# Make sure it's a branch we recognise +orig_branch=$(git rev-parse --abbrev-ref HEAD) +if (echo "$orig_branch" \ + | grep -E -q \ + -e '^master$' \ + -e '^OpenSSL_[0-9]+_[0-9]+_[0-9]+[a-z]*-stable$' \ + -e '^openssl-[0-9]+\.[0-9]+\.x$'); then + : +elif $force; then + : +else + echo >&2 "Not in master or any recognised release branch" + echo >&2 "Please 'git checkout' an approprite branch" + exit 1 +fi + +# Initialize ######################################################### + +echo "== Initializing work tree" + +get_version + +# Generate a cloned directory name +clone_branch="openssl-$SERIES.x" +release_clone="$clone_branch-release-tmp" + +echo "== Work tree will be in $release_clone" + +# Make a clone in a subdirectory and move there +if ! [ -d "$release_clone" ]; then + $VERBOSE "== Cloning to $release_clone" + git clone $git_quiet -b "$orig_branch" . "$release_clone" +fi +cd "$release_clone" + +get_version + +current_branch="$(git rev-parse --abbrev-ref HEAD)" +new_branch="openssl-$SERIES.x" + +# Check that we're still on the same branch, or on a release branch +if [ "$current_branch" = "$orig_branch" ]; then + : +elif [ "$current_branch" = "$new_branch" ]; then + : +else + echo >&2 "The cloned sub-directory '$release_clone' is on a branch" + echo >&2 "other than '$current_branch' or '$new_branch'" + echo >&2 "Please 'cd \"$(pwd)\"; git checkout $current_branch'" + exit 1 +fi + +if $do_branch; then + if [ "$current_branch" = "$new_branch" ]; then + do_branch=false + fi + if ! $do_branch && $warn_branch; then + echo >&2 "Warning: --branch ignored, we're already in a release branch" + fi +fi + +SOURCEDIR=$(pwd) +$DEBUG >&2 "DEBUG: Source directory is $SOURCEDIR" + +# Release ############################################################ + +# We always expect to start from a state of development +if [ "$TYPE" != 'dev' ]; then + echo >&2 "Not in a development branch" + echo >&2 "Have a look at the git log in $release_clone, it may be that" + echo >&2 "a previous crash left it in an intermediate state and that" + echo >&2 "need to drop the top commit:" + echo >&2 "" + echo >&2 "(cd $release_clone; git reset --hard HEAD^)" + echo >&2 "# WARNING! LOOK BEFORE YOU ACT" + exit 1 +fi + +# We only create a release branch if the patch number is zero +if [ $PATCH -ne 0 ]; then + if $do_branch; then + echo >&2 "Warning! We're already in a release branch; --branch ignored" + fi + do_branch=false +fi + +# Update the version information. This won't save anything anywhere, yet, +# but does check for possible next_method errors before we do bigger work. +next_release_state "$next_method" + +if $do_branch; then + $VERBOSE "== Creating a release branch: $new_branch" + git checkout $git_quiet -b "$new_branch" +fi + +echo "== Configuring OpenSSL for update and release. This may take a bit of time" + +./Configure cc >&42 + +$VERBOSE "== Checking source file updates" + +make update >&42 + +if [ -n "$(git status --porcelain)" ]; then + $VERBOSE "== Committing updates" + git add -u + git commit $git_quiet -m 'make update' +fi + +# Write the version information we updated +set_version + +if [ -n "$PRE_LABEL" ]; then + release="$VERSION-$PRE_RELEASE_TAG$BUILD_METADATA" + release_text="$SERIES$BUILD_METADATA $PRE_LABEL $PRE_NUM" + announce_template=openssl-announce-pre-release.tmpl +else + release="$VERSION$BUILD_METADATA" + release_text="$release" + announce_template=openssl-announce-release.tmpl +fi +tag="openssl-$release" +$VERBOSE "== Updated version information to $release" + +$VERBOSE "== Updating files with release date for $release : $RELEASE_DATE" +for fixup in "$HERE/dev/release-aux"/fixup-*-release.pl; do + file="$(basename "$fixup" | sed -e 's|^fixup-||' -e 's|-release\.pl$||')" + $VERBOSE "> $file" + RELEASE="$release" RELEASE_TEXT="$release_text" RELEASE_DATE="$RELEASE_DATE" \ + perl -pi $fixup $file +done + +$VERBOSE "== Comitting updates and tagging" +git add -u +git commit $git_quiet -m "Prepare for release of $release_text" +echo "Tagging release with tag $tag. You may need to enter a pass phrase" +git tag$tagkey "$tag" -m "OpenSSL $release release tag" + +tarfile=openssl-$release.tar +tgzfile=$tarfile.gz +announce=openssl-$release.txt + +echo "== Generating tar, hash and announcement files. This make take a bit of time" + +$VERBOSE "== Making tarfile: $tgzfile" +# Unfortunately, util/mktar.sh does verbose output on STDERR... for good +# reason, but it means we don't display errors unless --verbose +./util/mktar.sh --tarfile="../$tarfile" 2>&1 \ + | while read L; do $VERBOSE "> $L"; done + +if ! [ -f "../$tgzfile" ]; then + echo >&2 "Where did the tarball end up? (../$tgzfile)" + exit 1 +fi + +$VERBOSE "== Generating checksums: $tgzfile.sha1 $tgzfile.sha256" +openssl sha1 < "../$tgzfile" | \ + (IFS='='; while read X H; do echo $H; done) > "../$tgzfile.sha1" +openssl sha256 < "../$tgzfile" | \ + (IFS='='; while read X H; do echo $H; done) > "../$tgzfile.sha256" +length=$(wc -c < "../$tgzfile") +sha1hash=$(cat "../$tgzfile.sha1") +sha256hash=$(cat "../$tgzfile.sha256") + +$VERBOSE "== Generating announcement text: $announce" +# Hack the announcement template +cat "$HERE/dev/release-aux/$announce_template" \ + | sed -e "s|\\\$release_text|$release_text|g" \ + -e "s|\\\$release|$release|g" \ + -e "s|\\\$series|$SERIES|g" \ + -e "s|\\\$label|$PRE_LABEL|g" \ + -e "s|\\\$tarfile|$tgzfile|" \ + -e "s|\\\$length|$length|" \ + -e "s|\\\$sha1hash|$sha1hash|" \ + -e "s|\\\$sha256hash|$sha256hash|" \ + | perl -p "$HERE/dev/release-aux/fix-title.pl" \ + > "../$announce" + +$VERBOSE "== Generating signatures: $tgzfile.asc $announce.asc" +rm -f "../$tgzfile.asc" "../$announce.asc" +echo "Signing the release files. You may need to enter a pass phrase" +gpg$gpgkey --use-agent -sba "../$tgzfile" +gpg$gpgkey --use-agent -sta --clearsign "../$announce" + +# We finish off by resetting all files, so we don't have to update +# files with release dates again +$VERBOSE "== Reset all files to their pre-commit contents" +git reset $git_quiet HEAD^ -- . +git checkout -- . + +if $do_upload; then + ( + if [ "$VERBOSE" != ':' ]; then + echo "progress" + fi + echo "put ../$tgzfile" + echo "put ../$tgzfile.sha1" + echo "put ../$tgzfile.sha256" + echo "put ../$tgzfile.asc" + echo "put ../$announce.asc" + ) \ + | sftp "$upload_address" +fi + +# Post-release ####################################################### + +prev_release_text="$release_text" +prev_release_date="$RELEASE_DATE" + +next_release_state "$next_method2" +set_version + +release="$VERSION-$PRE_RELEASE_TAG$BUILD_METADATA" +release_text="$VERSION$BUILD_METADATA" +if [ -n "$PRE_LABEL" ]; then + release_text="$SERIES$BUILD_METADATA $PRE_LABEL $PRE_NUM" +fi +$VERBOSE "== Updated version information to $release" + +$VERBOSE "== Updating files for $release :" +for fixup in "$HERE/dev/release-aux"/fixup-*-postrelease.pl; do + file="$(basename "$fixup" | sed -e 's|^fixup-||' -e 's|-postrelease\.pl$||')" + $VERBOSE "> $file" + RELEASE="$release" RELEASE_TEXT="$release_text" \ + PREV_RELEASE_TEXT="$prev_release_text" \ + PREV_RELEASE_DATE="$prev_release_date" \ + perl -pi $fixup $file +done + +$VERBOSE "== Comitting updates" +git add -u +git commit $git_quiet -m "Prepare for $release_text" + +if $do_branch; then + $VERBOSE "== Going back to the main branch $current_branch" + git checkout $git_quiet "$current_branch" + + get_version + next_release_state "minor" + set_version + + release="$VERSION-$PRE_RELEASE_TAG$BUILD_METADATA" + release_text="$SERIES$BUILD_METADATA" + $VERBOSE "== Updated version information to $release" + + $VERBOSE "== Updating files for $release :" + for fixup in "$HERE/dev/release-aux"/fixup-*-postrelease.pl; do + file="$(basename "$fixup" | sed -e 's|^fixup-||' -e 's|-postrelease\.pl$||')" + $VERBOSE "> $file" + RELEASE="$release" RELEASE_TEXT="$release_text" \ + perl -pi $fixup $file + done + + $VERBOSE "== Comitting updates" + git add -u + git commit $git_quiet -m "Prepare for $release_text" +fi + +# Done ############################################################### + +$VERBOSE "== Done" + +cat < +[ +B<--alpha> | +B<--next-beta> | +B<--beta> | +B<--final> | +B<--branch> | +B<--local-user>=I | +B<--no-upload> | +B<--no-update> | +B<--verbose> | +B<--debug> | +B<--help> | +B<--manual> +] + +=head1 DESCRIPTION + +B creates an OpenSSL release, given current worktree conditions. +It will refuse to work unless the current branch is C or a release +branch (see L below for a discussion on those). + +B tries to be smart and figure out the next release if no hints +are given through options, and will exit with an error in ambiguous cases. + +B always clones the current workspace into a sub-directory +named C<< openssl-I-tmp >>, where C<< I >> is taken from +the available version information in the source. + +=head1 OPTIONS + +=over 4 + +=item B<--alpha>, B<--beta> + +Set the state of this branch to indicate that alpha or beta releases are +to be done. + +B<--alpha> is only acceptable if the I version number is zero and +the current state is "in development" or that alpha releases are ongoing. + +B<--beta> is only acceptable if the I version number is zero and +that alpha or beta releases are ongoing. + +=item B<--next-beta> + +Use together with B<--alpha> to switch to beta releases after the current +release is done. + +=item B<--final> + +Set the state of this branch to indicate that regular releases are to be +done. This is only valid if alpha or beta releases are currently ongoing. + +This implies B<--branch>. + +=item B<--branch> + +Create a branch specific for the I.x release series, if it doesn't +already exist, and switch to it. The exact branch name will be +C<< openssl-I.x >>. + +=item B<--no-upload> + +Don't upload the produced files. + +=item B<--no-update> + +Don't run C. + +=item B<--verbose> + +Verbose output. + +=item B<--debug> + +Display extra debug output. Implies B<--no-upload> + +=item B<--local-user>=I + +Use I as the local user for C and for signing with C. + +If not given, then the default e-mail address' key is used. + +=item B<--force> + +Force execution. Precisely, the check that the current branch is C +or a release branch is not done. + +=item B<--help> + +Display a quick help text and exit. + +=item B<--manual> + +Display this manual and exit. + +=back + +=head1 RELEASE BRANCHES AND TAGS + +Prior to OpenSSL 3.0, the release branches were named +C<< OpenSSL_I-stable >>, and the release tags were named +C<< OpenSSL_I >> for regular releases, or +C<< OpenSSL_I-preI >> for pre-releases. + +From OpenSSL 3.0 ongoing, the release branches are named +C<< openssl-I.x >>, and the release tags are named +C<< openssl-I >> for regular releases, or +C<< openssl-I-alphaI >> for alpha releases +and C<< openssl-I-betaI >> for beta releases. + +B recognises both forms. + +=head1 VERSION AND STATE + +With OpenSSL 3.0, all the version and state information is in the file +F, where the following variables are used and changed: + +=over 4 + +=item B, B, B + +The three part of the version number. + +=item B + +The indicator of the current state of the branch. The value may be one pf: + +=over 4 + +=item C + +This branch is "in development". This is typical for the C branch +unless there are ongoing alpha or beta releases. + +=item C<< alphaI >> or C<< alphaI-dev >> + +This branch has alpha releases going on. C<< alphaI-dev >> is what +should normally be seen in the git workspace, indicating that +C<< alphaI >> is in development. C<< alphaI >> is what should be +found in the alpha release tar file. + +=item C<< alphaI >> or C<< alphaI-dev >> + +This branch has beta releases going on. The details are otherwise exactly +as for alpha. + +=item I + +This is normally not seen in the git workspace, but should always be what's +found in the tar file of a regular release. + +=back + +=item B + +This is normally empty in the git workspace, but should always have the +release date in the tar file of any release. + +=back + +=head1 COPYRIGHT + +Copyright 2020 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 +L. + +=cut +### END MANUAL +EOF diff --git a/doc/internal/man3/OPENSSL_SA.pod b/doc/internal/man3/OPENSSL_SA.pod index 77f1a7b1..1a6e0274 100644 --- a/doc/internal/man3/OPENSSL_SA.pod +++ b/doc/internal/man3/OPENSSL_SA.pod @@ -120,7 +120,7 @@ This functionality was added to OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. Copyright +Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved. Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. Licensed under the Apache License 2.0 (the "License"). You may not use this diff --git a/doc/internal/man3/evp_keymgmt_newdata.pod b/doc/internal/man3/evp_keymgmt_newdata.pod index fb2e50b3..0f75e793 100644 --- a/doc/internal/man3/evp_keymgmt_newdata.pod +++ b/doc/internal/man3/evp_keymgmt_newdata.pod @@ -82,7 +82,7 @@ The functions described here were all added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/internal/man3/evp_keymgmt_util_export_to_provider.pod b/doc/internal/man3/evp_keymgmt_util_export_to_provider.pod index 545625e7..5fdd6259 100644 --- a/doc/internal/man3/evp_keymgmt_util_export_to_provider.pod +++ b/doc/internal/man3/evp_keymgmt_util_export_to_provider.pod @@ -77,7 +77,7 @@ L, L =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/internal/man3/evp_pkey_export_to_provider.pod b/doc/internal/man3/evp_pkey_export_to_provider.pod index 31e8ad02..1c80365c 100644 --- a/doc/internal/man3/evp_pkey_export_to_provider.pod +++ b/doc/internal/man3/evp_pkey_export_to_provider.pod @@ -2,7 +2,7 @@ =head1 NAME -evp_pkey_export_to_provider, evp_pkey_upgrade_to_provider +evp_pkey_export_to_provider, evp_pkey_downgrade - internal EVP_PKEY support functions for providers =head1 SYNOPSIS @@ -13,9 +13,7 @@ evp_pkey_export_to_provider, evp_pkey_upgrade_to_provider void *evp_pkey_export_to_provider(EVP_PKEY *pk, OPENSSL_CTX *libctx, EVP_KEYMGMT **keymgmt, const char *propquery); - void *evp_pkey_upgrade_to_provider(EVP_PKEY *pk, OPENSSL_CTX *libctx, - EVP_KEYMGMT **keymgmt, - const char *propquery); + int evp_pkey_downgrade(EVP_PKEY *pk); =head1 DESCRIPTION @@ -31,29 +29,26 @@ default context), the name of the legacy type of I, and the I If I isn't NULL but I<*keymgmt> is, and the "origin" was successfully exported, then I<*keymgmt> is assigned the implicitly fetched B. -evp_pkey_upgrade_to_provider() exports the legacy "origin" key contained in -I to it's provider side counterpart, then clears the legacy "origin" key -along with other legacy data, and resets all the caches. Otherwise, it works -like evp_pkey_export_to_provider(). - -I -Most of the time, it's sufficient to use evp_pkey_export_to_provider(), but in -case the key needs modification with data coming from a provided key, the key -will need an upgrade. +evp_pkey_downgrade() converts an B with a provider side "origin" key +to one with a legacy "origin", if there's a corresponding legacy implementation. +This clears the operation cache, except for the provider side "origin" key. +This function is used in spots where provider side keys aren't yet supported, +in an attempt to keep operating with available implementations. =head1 RETURN VALUES -evp_pkey_export_to_provider() and evp_pkey_upgrade_to_provider() both return -the provider key data that was exported if the "origin" was successfully -exported to its target. Otherwise, NULL is returned. +evp_pkey_export_to_provider() returns the provider key data if there was any +allocated. It also either sets I<*keymgmt> to the B associated +with the returned key data, or NULL on error. + +evp_pkey_downgrade() returns 1 on success or 0 on error. =head1 NOTES -Some functions calling evp_pkey_export_to_provider() or -evp_pkey_upgrade_to_provider() may have received a const key, and may -therefore have to cast the key to non-const form to call this function. Since -B is always dynamically allocated, this is OK. +Some functions calling evp_pkey_export_to_provider() or evp_pkey_downgrade() +may have received a const key, and may therefore have to cast the key to +non-const form to call this function. Since B is always dynamically +allocated, this is OK. =head1 SEE ALSO diff --git a/doc/internal/man3/ossl_cmp_asn1_octet_string_set1.pod b/doc/internal/man3/ossl_cmp_asn1_octet_string_set1.pod index a239ca04..3d91f8a0 100644 --- a/doc/internal/man3/ossl_cmp_asn1_octet_string_set1.pod +++ b/doc/internal/man3/ossl_cmp_asn1_octet_string_set1.pod @@ -49,7 +49,7 @@ The OpenSSL CMP support was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2007-2020 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 diff --git a/doc/internal/man3/ossl_cmp_certReq_new.pod b/doc/internal/man3/ossl_cmp_certReq_new.pod index f54c215f..ea10b149 100644 --- a/doc/internal/man3/ossl_cmp_certReq_new.pod +++ b/doc/internal/man3/ossl_cmp_certReq_new.pod @@ -183,7 +183,7 @@ The OpenSSL CMP support was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2007-2020 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 diff --git a/doc/internal/man3/ossl_cmp_hdr_init.pod b/doc/internal/man3/ossl_cmp_hdr_init.pod index 5df7486c..cf7f5965 100644 --- a/doc/internal/man3/ossl_cmp_hdr_init.pod +++ b/doc/internal/man3/ossl_cmp_hdr_init.pod @@ -124,7 +124,7 @@ The OpenSSL CMP support was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2007-2020 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 diff --git a/doc/internal/man3/ossl_cmp_msg_check_received.pod b/doc/internal/man3/ossl_cmp_msg_check_received.pod index 3fc7882c..0fd41403 100644 --- a/doc/internal/man3/ossl_cmp_msg_check_received.pod +++ b/doc/internal/man3/ossl_cmp_msg_check_received.pod @@ -76,7 +76,7 @@ The OpenSSL CMP support was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2007-2020 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 diff --git a/doc/internal/man3/ossl_cmp_msg_protect.pod b/doc/internal/man3/ossl_cmp_msg_protect.pod index 7fd4e82e..a931d3ca 100644 --- a/doc/internal/man3/ossl_cmp_msg_protect.pod +++ b/doc/internal/man3/ossl_cmp_msg_protect.pod @@ -43,7 +43,7 @@ The OpenSSL CMP support was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2007-2020 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 diff --git a/doc/internal/man3/ossl_cmp_pkisi_get_status.pod b/doc/internal/man3/ossl_cmp_pkisi_get_status.pod index deca1aa2..fe918341 100644 --- a/doc/internal/man3/ossl_cmp_pkisi_get_status.pod +++ b/doc/internal/man3/ossl_cmp_pkisi_get_status.pod @@ -82,7 +82,7 @@ The OpenSSL CMP support was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2007-2020 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 diff --git a/doc/internal/man3/ossl_cmp_print_log.pod b/doc/internal/man3/ossl_cmp_print_log.pod index 3fa5fe01..f4384402 100644 --- a/doc/internal/man3/ossl_cmp_print_log.pod +++ b/doc/internal/man3/ossl_cmp_print_log.pod @@ -98,7 +98,7 @@ The OpenSSL CMP support was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2007-2020 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 diff --git a/doc/internal/man3/ossl_cmp_sk_X509_add1_cert.pod b/doc/internal/man3/ossl_cmp_sk_X509_add1_cert.pod index 4c647708..d8f617f5 100644 --- a/doc/internal/man3/ossl_cmp_sk_X509_add1_cert.pod +++ b/doc/internal/man3/ossl_cmp_sk_X509_add1_cert.pod @@ -50,7 +50,7 @@ The OpenSSL CMP support was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2007-2020 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 diff --git a/doc/internal/man7/build.info.pod b/doc/internal/man7/build.info.pod index f6ca4906..21aee8eb 100644 --- a/doc/internal/man7/build.info.pod +++ b/doc/internal/man7/build.info.pod @@ -614,7 +614,7 @@ L =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man1/CA.pl.pod b/doc/man1/CA.pl.pod index fa07c892..85e02b9e 100644 --- a/doc/man1/CA.pl.pod +++ b/doc/man1/CA.pl.pod @@ -189,7 +189,7 @@ L =head1 COPYRIGHT -Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-asn1parse.pod.in b/doc/man1/openssl-asn1parse.pod.in index e1c7f261..23743485 100644 --- a/doc/man1/openssl-asn1parse.pod.in +++ b/doc/man1/openssl-asn1parse.pod.in @@ -210,7 +210,7 @@ L =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-ca.pod.in b/doc/man1/openssl-ca.pod.in index e07295cf..02026618 100644 --- a/doc/man1/openssl-ca.pod.in +++ b/doc/man1/openssl-ca.pod.in @@ -36,8 +36,10 @@ B B [B<-key> I] [B<-passin> I] [B<-cert> I] +[B<-certform> B|] [B<-selfsign>] [B<-in> I] +[B<-inform> B|] [B<-out> I] [B<-notext>] [B<-outdir> I] @@ -104,6 +106,11 @@ B in the B section). An input filename containing a single certificate request to be signed by the CA. +=item B<-inform> B|B + +The format of the data in CSR input files. +The default is PEM. + =item B<-ss_cert> I A single self-signed certificate to be signed by the CA. @@ -135,6 +142,11 @@ F<.pem> appended. The CA certificate file. +=item B<-certform> B|B + +The format of the data in certificate input files. +The default is PEM. + =item B<-keyfile> I The private key to sign requests with. @@ -788,7 +800,7 @@ L =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-ciphers.pod.in b/doc/man1/openssl-ciphers.pod.in index 020bdcbc..e5a4121f 100644 --- a/doc/man1/openssl-ciphers.pod.in +++ b/doc/man1/openssl-ciphers.pod.in @@ -803,7 +803,7 @@ The B<-convert> option was added in OpenSSL 1.1.1. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-cmds.pod.in b/doc/man1/openssl-cmds.pod.in index 50f0bc66..a1097904 100644 --- a/doc/man1/openssl-cmds.pod.in +++ b/doc/man1/openssl-cmds.pod.in @@ -150,7 +150,7 @@ deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0. =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man1/openssl-cms.pod.in b/doc/man1/openssl-cms.pod.in index 5cf8172f..15dd7799 100644 --- a/doc/man1/openssl-cms.pod.in +++ b/doc/man1/openssl-cms.pod.in @@ -768,7 +768,7 @@ The -no_alt_chains option was added in OpenSSL 1.0.2b. =head1 COPYRIGHT -Copyright 2008-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2008-2020 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 diff --git a/doc/man1/openssl-crl.pod.in b/doc/man1/openssl-crl.pod.in index fd50602b..409f0b60 100644 --- a/doc/man1/openssl-crl.pod.in +++ b/doc/man1/openssl-crl.pod.in @@ -153,7 +153,7 @@ L =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-crl2pkcs7.pod.in b/doc/man1/openssl-crl2pkcs7.pod.in index ee7f57d7..bc39d6dc 100644 --- a/doc/man1/openssl-crl2pkcs7.pod.in +++ b/doc/man1/openssl-crl2pkcs7.pod.in @@ -98,7 +98,7 @@ L =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-dgst.pod.in b/doc/man1/openssl-dgst.pod.in index fad5b93f..84bd133f 100644 --- a/doc/man1/openssl-dgst.pod.in +++ b/doc/man1/openssl-dgst.pod.in @@ -249,7 +249,7 @@ The FIPS-related options were removed in OpenSSL 1.1.0. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-dhparam.pod.in b/doc/man1/openssl-dhparam.pod.in index 2e45b248..bb401494 100644 --- a/doc/man1/openssl-dhparam.pod.in +++ b/doc/man1/openssl-dhparam.pod.in @@ -140,7 +140,7 @@ This command was deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-dsa.pod.in b/doc/man1/openssl-dsa.pod.in index ef05e978..a0352343 100644 --- a/doc/man1/openssl-dsa.pod.in +++ b/doc/man1/openssl-dsa.pod.in @@ -168,7 +168,7 @@ This command was deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-dsaparam.pod.in b/doc/man1/openssl-dsaparam.pod.in index 13e8d788..d9775dd0 100644 --- a/doc/man1/openssl-dsaparam.pod.in +++ b/doc/man1/openssl-dsaparam.pod.in @@ -113,7 +113,7 @@ This command was deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-enc.pod.in b/doc/man1/openssl-enc.pod.in index a2cb11a6..d5af8a93 100644 --- a/doc/man1/openssl-enc.pod.in +++ b/doc/man1/openssl-enc.pod.in @@ -430,7 +430,7 @@ The B<-ciphers> option was deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-engine.pod.in b/doc/man1/openssl-engine.pod.in index c4b06653..c6692134 100644 --- a/doc/man1/openssl-engine.pod.in +++ b/doc/man1/openssl-engine.pod.in @@ -116,7 +116,7 @@ L =head1 COPYRIGHT -Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016-2020 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 diff --git a/doc/man1/openssl-errstr.pod.in b/doc/man1/openssl-errstr.pod.in index 3a4e5163..49a50adc 100644 --- a/doc/man1/openssl-errstr.pod.in +++ b/doc/man1/openssl-errstr.pod.in @@ -44,7 +44,7 @@ to produce the error message: =head1 COPYRIGHT -Copyright 2004-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2004-2020 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 diff --git a/doc/man1/openssl-fipsinstall.pod.in b/doc/man1/openssl-fipsinstall.pod.in index 6ea3fca4..74b23341 100644 --- a/doc/man1/openssl-fipsinstall.pod.in +++ b/doc/man1/openssl-fipsinstall.pod.in @@ -18,6 +18,7 @@ B [B<-mac_name> I] [B<-macopt> I:I] [B<-noout>] +[B<-quiet>] [B<-corrupt_desc> I] [B<-corrupt_type> I] @@ -114,9 +115,12 @@ C. Disable logging of the self tests. -=item B<-corrupt_desc> I +=item B<-quiet> -=item B<-corrupt_type> I +Do not output pass/fail messages. Implies B<-noout>. + +=item B<-corrupt_desc> I, +B<-corrupt_type> I The corrupt options can be used to test failure of one or more self test(s) by name. @@ -162,7 +166,7 @@ L =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/doc/man1/openssl-gendsa.pod.in b/doc/man1/openssl-gendsa.pod.in index 88fc6118..0d908e0d 100644 --- a/doc/man1/openssl-gendsa.pod.in +++ b/doc/man1/openssl-gendsa.pod.in @@ -101,7 +101,7 @@ This command was deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-genpkey.pod.in b/doc/man1/openssl-genpkey.pod.in index 4f1128a0..d38c1422 100644 --- a/doc/man1/openssl-genpkey.pod.in +++ b/doc/man1/openssl-genpkey.pod.in @@ -194,11 +194,15 @@ The number of bits in the generated prime. If not specified 2048 is used. =item B:I +=item B:I + The number of bits in the q parameter. Must be one of 160, 224 or 256. If not specified 224 is used. =item B:I +=item B:I + The digest to use during parameter generation. Must be one of B, B or B. If set, then the number of bits in B will match the output size of the specified digest and the B parameter will be @@ -206,6 +210,31 @@ ignored. If not set, then a digest will be used that gives an output matching the number of bits in B, i.e. B if q length is 160, B if it 224 or B if it is 256. + +=item B:I + +The I property I string to use when fetching a digest from a provider. + +=item B:I + +The type of generation to use. Set this to 1 to use legacy FIPS186-2 parameter +generation. The default of 0 uses FIPS186-4 parameter generation. + +=item B:I + +The index to use for canonical generation and verification of the generator g. +Set this to a positive value ranging from 0..255 to use this mode. Larger values +will only use the bottom byte. +This I must then be reused during key validation to verify the value of g. +If this value is not set then g is not verifiable. The default value is -1. + +=item B:I + +The seed I data to use instead of generating a random seed internally. +This should be used for testing purposes only. This will either produced fixed +values for the generated parameters OR it will fail if the seed did not +generate valid primes. + =back =head2 DH Parameter Generation Options @@ -269,10 +298,12 @@ Generate a 2048 bit RSA key using 3 as the public exponent: openssl genpkey -algorithm RSA -out key.pem \ -pkeyopt rsa_keygen_bits:2048 -pkeyopt rsa_keygen_pubexp:3 -Generate 2048 bit DSA parameters: +Generate 2048 bit DSA parameters that can be validated: The output values for +gindex and seed are required for key validation purposes and are not saved to +the output pem file). - openssl genpkey -genparam -algorithm DSA -out dsap.pem \ - -pkeyopt dsa_paramgen_bits:2048 + openssl genpkey -genparam -algorithm DSA -out dsap.pem -pkeyopt pbits:2048 \ + -pkeyopt qbits:224 -pkeyopt digest:SHA256 -pkeyopt gindex:1 -text Generate DSA key from parameters: @@ -330,7 +361,7 @@ The ability to generate X448, ED25519 and ED448 keys was added in OpenSSL 1.1.1. =head1 COPYRIGHT -Copyright 2006-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006-2020 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 diff --git a/doc/man1/openssl-genrsa.pod.in b/doc/man1/openssl-genrsa.pod.in index a351a53c..89ae929c 100644 --- a/doc/man1/openssl-genrsa.pod.in +++ b/doc/man1/openssl-genrsa.pod.in @@ -121,7 +121,7 @@ This command was deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-info.pod.in b/doc/man1/openssl-info.pod.in index c8965b2a..0e91bb28 100644 --- a/doc/man1/openssl-info.pod.in +++ b/doc/man1/openssl-info.pod.in @@ -81,7 +81,7 @@ This command was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man1/openssl-kdf.pod.in b/doc/man1/openssl-kdf.pod.in index d7d8732c..4c0825c9 100644 --- a/doc/man1/openssl-kdf.pod.in +++ b/doc/man1/openssl-kdf.pod.in @@ -165,7 +165,7 @@ Added in OpenSSL 3.0 =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/doc/man1/openssl-list.pod.in b/doc/man1/openssl-list.pod.in index 4ac7b5dc..d7e062bf 100644 --- a/doc/man1/openssl-list.pod.in +++ b/doc/man1/openssl-list.pod.in @@ -137,7 +137,7 @@ In both cases, C is the name of the provider. =head1 COPYRIGHT -Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016-2020 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 diff --git a/doc/man1/openssl-mac.pod.in b/doc/man1/openssl-mac.pod.in index 30901490..2157c75c 100644 --- a/doc/man1/openssl-mac.pod.in +++ b/doc/man1/openssl-mac.pod.in @@ -156,7 +156,7 @@ L =head1 COPYRIGHT -Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2018-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/doc/man1/openssl-nseq.pod.in b/doc/man1/openssl-nseq.pod.in index 02db1532..eb131168 100644 --- a/doc/man1/openssl-nseq.pod.in +++ b/doc/man1/openssl-nseq.pod.in @@ -66,7 +66,7 @@ Create a Netscape certificate sequence =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-ocsp.pod.in b/doc/man1/openssl-ocsp.pod.in index 2edbfc88..e227f50e 100644 --- a/doc/man1/openssl-ocsp.pod.in +++ b/doc/man1/openssl-ocsp.pod.in @@ -478,7 +478,7 @@ The -no_alt_chains option was added in OpenSSL 1.1.0. =head1 COPYRIGHT -Copyright 2001-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2001-2020 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 diff --git a/doc/man1/openssl-passwd.pod.in b/doc/man1/openssl-passwd.pod.in index ce2b6913..30159e35 100644 --- a/doc/man1/openssl-passwd.pod.in +++ b/doc/man1/openssl-passwd.pod.in @@ -121,7 +121,7 @@ When the B<-table> option is used, reverse the order of cleartext and hash. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-pkcs12.pod.in b/doc/man1/openssl-pkcs12.pod.in index 655f7180..da5214d5 100644 --- a/doc/man1/openssl-pkcs12.pod.in +++ b/doc/man1/openssl-pkcs12.pod.in @@ -367,7 +367,7 @@ L =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-pkcs7.pod.in b/doc/man1/openssl-pkcs7.pod.in index d31ae2a0..6a05dd41 100644 --- a/doc/man1/openssl-pkcs7.pod.in +++ b/doc/man1/openssl-pkcs7.pod.in @@ -99,7 +99,7 @@ L =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-pkcs8.pod.in b/doc/man1/openssl-pkcs8.pod.in index 38b50a6d..07293020 100644 --- a/doc/man1/openssl-pkcs8.pod.in +++ b/doc/man1/openssl-pkcs8.pod.in @@ -275,7 +275,7 @@ The B<-iter> option was added in OpenSSL 1.1.0. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-pkey.pod.in b/doc/man1/openssl-pkey.pod.in index 2785f298..a678bd75 100644 --- a/doc/man1/openssl-pkey.pod.in +++ b/doc/man1/openssl-pkey.pod.in @@ -193,7 +193,7 @@ L =head1 COPYRIGHT -Copyright 2006-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006-2020 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 diff --git a/doc/man1/openssl-pkeyparam.pod.in b/doc/man1/openssl-pkeyparam.pod.in index d5ea4012..c5f949cf 100644 --- a/doc/man1/openssl-pkeyparam.pod.in +++ b/doc/man1/openssl-pkeyparam.pod.in @@ -87,7 +87,7 @@ L =head1 COPYRIGHT -Copyright 2006-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006-2020 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 diff --git a/doc/man1/openssl-pkeyutl.pod.in b/doc/man1/openssl-pkeyutl.pod.in index 8f9060a2..0a65f6ac 100644 --- a/doc/man1/openssl-pkeyutl.pod.in +++ b/doc/man1/openssl-pkeyutl.pod.in @@ -405,7 +405,7 @@ L, =head1 COPYRIGHT -Copyright 2006-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006-2020 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 diff --git a/doc/man1/openssl-prime.pod.in b/doc/man1/openssl-prime.pod.in index 3aee9014..7ed13bb4 100644 --- a/doc/man1/openssl-prime.pod.in +++ b/doc/man1/openssl-prime.pod.in @@ -60,7 +60,7 @@ This parameter is ignored. =head1 COPYRIGHT -Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2020 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 diff --git a/doc/man1/openssl-provider.pod.in b/doc/man1/openssl-provider.pod.in index 774f92b9..b8d05658 100644 --- a/doc/man1/openssl-provider.pod.in +++ b/doc/man1/openssl-provider.pod.in @@ -53,7 +53,7 @@ L =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man1/openssl-rand.pod.in b/doc/man1/openssl-rand.pod.in index 8a6c8933..7299f5c6 100644 --- a/doc/man1/openssl-rand.pod.in +++ b/doc/man1/openssl-rand.pod.in @@ -67,7 +67,7 @@ L =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-rehash.pod.in b/doc/man1/openssl-rehash.pod.in index e21d07e9..c98f89eb 100644 --- a/doc/man1/openssl-rehash.pod.in +++ b/doc/man1/openssl-rehash.pod.in @@ -147,7 +147,7 @@ L =head1 COPYRIGHT -Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015-2020 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 diff --git a/doc/man1/openssl-req.pod.in b/doc/man1/openssl-req.pod.in index c8abeb36..397bf552 100644 --- a/doc/man1/openssl-req.pod.in +++ b/doc/man1/openssl-req.pod.in @@ -693,7 +693,7 @@ The B<-section> option was added in OpenSSL 3.0.0. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-rsa.pod.in b/doc/man1/openssl-rsa.pod.in index fa1a20ea..59929eaf 100644 --- a/doc/man1/openssl-rsa.pod.in +++ b/doc/man1/openssl-rsa.pod.in @@ -190,7 +190,7 @@ This command was deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-rsautl.pod.in b/doc/man1/openssl-rsautl.pod.in index 0bb0a136..2461db53 100644 --- a/doc/man1/openssl-rsautl.pod.in +++ b/doc/man1/openssl-rsautl.pod.in @@ -239,7 +239,7 @@ This command was deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-s_client.pod.in b/doc/man1/openssl-s_client.pod.in index 982c54ae..42cff1f5 100644 --- a/doc/man1/openssl-s_client.pod.in +++ b/doc/man1/openssl-s_client.pod.in @@ -30,22 +30,21 @@ B B [B<-verifyCAstore> I] [B<-cert> I] [B<-certform> B|B] +[B<-cert_chain> I] +[B<-build_chain>] [B<-CRL> I] [B<-CRLform> B|B] [B<-crl_download>] [B<-key> I] -[B<-keyform> B|B] -[B<-cert_chain> I] -[B<-build_chain>] +[B<-keyform> B|B|B] [B<-pass> I] -[B<-chainCApath> I] [B<-chainCAfile> I] +[B<-chainCApath> I] [B<-chainCAstore> I] [B<-requestCAfile> I] [B<-dane_tlsa_domain> I] [B<-dane_tlsa_rrdata> I] [B<-dane_ee_no_namechecks>] -[B<-build_chain>] [B<-reconnect>] [B<-showcerts>] [B<-prexit>] @@ -236,12 +235,25 @@ ClientHello message. Cannot be used in conjunction with the B<-servername> or =item B<-cert> I -The certificate to use, if one is requested by the server. The default is -not to use a certificate. +The client certificate to use, if one is requested by the server. +The default is not to use a certificate. -=item B<-certform> I +The chain for the client certificate may be specified using B<-cert_chain>. -The certificate format to use: DER or PEM. PEM is the default. +=item B<-certform> B|B + +The client certificate file format to use; the default is B. +see L. + +=item B<-cert_chain> + +A file containing untrusted certificates to use when attempting to build the +certificate chain related to the certificate specified via the B<-cert> option. + +=item B<-build_chain> + +Specify whether the application should build the client certificate chain to be +provided to the server. =item B<-CRL> I @@ -249,7 +261,7 @@ CRL file to use to check the server's certificate. =item B<-CRLform> B|B -The CRL format; the default is B. +The CRL file format; the default is B. See L for details. =item B<-crl_download> @@ -258,25 +270,14 @@ Download CRL from distribution points in the certificate. =item B<-key> I -The private key to use. If not specified then the certificate file will -be used. +The client private key file to use. +If not specified then the certificate file will be used to read also the key. -=item B<-keyform> I +=item B<-keyform> B|B|B The key format; the default is B. See L for details. -=item B<-cert_chain> - -A file containing trusted certificates to use when attempting to build the -client/server certificate chain related to the certificate specified via the -B<-cert> option. - -=item B<-build_chain> - -Specify whether the application should build the certificate chain to be -provided to the server. - =item B<-pass> I the private key password source. For more information about the format of I @@ -301,32 +302,42 @@ Limit verify output to only errors. =item B<-verifyCAfile> I -CA file for verifying the server's certificate, in PEM format. +A file in PEM format containing trusted certificates to use +for verifying the server's certificate. =item B<-verifyCApath> I -Use the specified directory as a certificate store path to verify -the server's CA certificate. +A directory containing trusted certificates to use +for verifying the server's certificate. +This directory must be in "hash format", +see L for more information. =item B<-verifyCAstore> I -Use the specified URI as a store URI to verify the server's certificate. - - -=item B<-chainCApath> I - -The directory to use for building the chain provided to the server. This -directory must be in "hash format", see L for more -information. +The URI of a store containing trusted certificates to use +for verifying the server's certificate. =item B<-chainCAfile> I -A file containing trusted certificates to use when attempting to build the -client certificate chain. +A file in PEM format containing trusted certificates to use +when attempting to build the client certificate chain. + +=item B<-chainCApath> I + +A directory containing trusted certificates to use +for building the client certificate chain provided to the server. +This directory must be in "hash format", +see L for more information. =item B<-chainCAstore> I -The URI to use when attempting to build the client certificate chain. +The URI of a store containing trusted certificates to use +when attempting to build the client certificate chain. +The URI may indicate a single certificate, as well as a collection of them. +With URIs in the C scheme, this acts as B<-chainCAfile> or +B<-chainCApath>, depending on if the URI indicates a directory or a +single file. +See L for more information on the C scheme. =item B<-requestCAfile> I @@ -885,7 +896,7 @@ The B<-name> option was added in OpenSSL 1.1.1. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-s_server.pod.in b/doc/man1/openssl-s_server.pod.in index 0fd22d46..fb8df539 100644 --- a/doc/man1/openssl-s_server.pod.in +++ b/doc/man1/openssl-s_server.pod.in @@ -19,16 +19,20 @@ B B [B<-verify> I] [B<-Verify> I] [B<-cert> I] -[B<-naccept> I<+int>] -[B<-serverinfo> I] +[B<-cert2> I] [B<-certform> B|B] +[B<-cert_chain> I] +[B<-build_chain>] +[B<-serverinfo> I] [B<-key> I] -[B<-keyform> B|B] +[B<-key2> I] +[B<-keyform> B|B|B] [B<-pass> I] [B<-dcert> I] [B<-dcertform> B|B] +[B<-dcert_chain> I] [B<-dkey> I] -[B<-dkeyform> B|B] +[B<-dkeyform> B|B|B] [B<-dpass> I] [B<-nbio_test>] [B<-crlf>] @@ -44,29 +48,24 @@ B B [B<-http_server_binmode>] [B<-servername>] [B<-servername_fatal>] -[B<-cert2> I] -[B<-key2> I] [B<-tlsextdebug>] [B<-HTTP>] [B<-id_prefix> I] [B<-keymatexport> I] [B<-keymatexportlen> I<+int>] -[B<-CRLform> B|B] [B<-CRL> I] +[B<-CRLform> B|B] [B<-crl_download>] -[B<-cert_chain> I] -[B<-dcert_chain> I] +[B<-chainCAfile> I] [B<-chainCApath> I] -[B<-verifyCApath> I] [B<-chainCAstore> I] +[B<-verifyCAfile> I] +[B<-verifyCApath> I] [B<-verifyCAstore> I] [B<-no_cache>] [B<-ext_cache>] [B<-verify_return_error>] [B<-verify_quiet>] -[B<-build_chain>] -[B<-chainCAfile> I] -[B<-verifyCAfile> I] [B<-ign_eof>] [B<-no_ign_eof>] [B<-status>] @@ -84,6 +83,7 @@ B B [B<-max_send_frag> I<+int>] [B<-split_send_frag> I<+int>] [B<-max_pipelines> I<+int>] +[B<-naccept> I<+int>] [B<-read_buf> I<+int>] [B<-bugs>] [B<-no_comp>] @@ -219,22 +219,21 @@ certificate and some require a certificate with a certain public key type: for example the DSS cipher suites require a certificate containing a DSS (DSA) key. If not specified then the filename F will be used. +=item B<-certform> B|B + +The server certificate file format; the default is B. +See L for details. + =item B<-cert_chain> -A file containing trusted certificates to use when attempting to build the -client/server certificate chain related to the certificate specified via the -B<-cert> option. +A file containing untrusted certificates to use when attempting to build the +certificate chain related to the certificate specified via the B<-cert> option. =item B<-build_chain> -Specify whether the application should build the certificate chain to be +Specify whether the application should build the server certificate chain to be provided to the client. -=item B<-naccept> I<+int> - -The server will exit after receiving the specified number of connections, -default unlimited. - =item B<-serverinfo> I A file containing one or more blocks of PEM data. Each PEM block @@ -243,17 +242,12 @@ followed by "length" bytes of extension data). If the client sends an empty TLS ClientHello extension matching the type, the corresponding ServerHello extension will be returned. -=item B<-certform> B|B, B<-CRLForm> B|B - -The certificate and CRL format; the default is PEM. -See L for details. - =item B<-key> I The private key to use. If not specified then the certificate file will be used. -=item B<-keyform> B|B +=item B<-keyform> B|B|B The key format; the default is B. See L for details. @@ -277,14 +271,19 @@ by using an appropriate certificate. =item B<-dcert_chain> -A file containing trusted certificates to use when attempting to build the +A file containing untrusted certificates to use when attempting to build the server certificate chain when a certificate specified via the B<-dcert> option is in use. -=item B<-dcertform> B|B, B<-dkeyform> B|B +=item B<-dcertform> B|B -The format of the certificate and private key; the default is B -see L. +The format of the additional certificate file; the default is B. +See L. + +=item B<-dkeyform> B|B|B + +The format of the additional private key; the default is B. +See L. =item B<-dpass> I @@ -316,22 +315,53 @@ File to send output of B<-msg> or B<-trace> to, default standard output. Prints the SSL session states. -=item B<-chainCApath> I +=item B<-CRL> I -The directory to use for building the chain provided to the client. This -directory must be in "hash format", see L for more -information. +The CRL file to use. + +=item B<-CRLform> B|B + +The CRL file format; the default is B. +See L for details. + +=item B<-crl_download> + +Download CRLs from distribution points given in CDP extensions of certificates + +=item B<-verifyCAfile> I + +A file in PEM format CA containing trusted certificates to use +for verifying client certificates. + +=item B<-verifyCApath> I + +A directory containing trusted certificates to use +for verifying client certificates. +This directory must be in "hash format", +see L for more information. + +=item B<-verifyCAstore> I + +The URI of a store containing trusted certificates to use +for verifying client certificates. =item B<-chainCAfile> I -A file containing trusted certificates to use when attempting to build the -server certificate chain. +A file in PEM format containing trusted certificates to use +when attempting to build the server certificate chain. + +=item B<-chainCApath> I + +A directory containing trusted certificates to use +for building the server certificate chain provided to the client. +This directory must be in "hash format", +see L for more information. =item B<-chainCAstore> I -The URI to a store to use for building the chain provided to the client. -The URI may indicate a single certificate, as well as a collection of -them. +The URI of a store containing trusted certificates to use +for building the server certificate chain provided to the client. +The URI may indicate a single certificate, as well as a collection of them. With URIs in the C scheme, this acts as B<-chainCAfile> or B<-chainCApath>, depending on if the URI indicates a directory or a single file. @@ -462,6 +492,11 @@ an effect if an engine has been loaded that supports pipelining (e.g. the dasync engine) and a suitable cipher suite has been negotiated. The default value is 1. See L for further information. +=item B<-naccept> I<+int> + +The server will exit after receiving the specified number of connections, +default unlimited. + =item B<-read_buf> I<+int> The default read buffer size to be used for connections. This will only have an @@ -782,7 +817,7 @@ The =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-s_time.pod.in b/doc/man1/openssl-s_time.pod.in index 8cdc2b43..dd4029d4 100644 --- a/doc/man1/openssl-s_time.pod.in +++ b/doc/man1/openssl-s_time.pod.in @@ -190,7 +190,7 @@ L =head1 COPYRIGHT -Copyright 2004-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2004-2020 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 diff --git a/doc/man1/openssl-sess_id.pod.in b/doc/man1/openssl-sess_id.pod.in index e18ef6f9..13182830 100644 --- a/doc/man1/openssl-sess_id.pod.in +++ b/doc/man1/openssl-sess_id.pod.in @@ -152,7 +152,7 @@ L =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-smime.pod.in b/doc/man1/openssl-smime.pod.in index 69bf9187..13a0e4a4 100644 --- a/doc/man1/openssl-smime.pod.in +++ b/doc/man1/openssl-smime.pod.in @@ -481,7 +481,7 @@ The -no_alt_chains option was added in OpenSSL 1.1.0. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-speed.pod.in b/doc/man1/openssl-speed.pod.in index ac0e6b1c..b3e2a807 100644 --- a/doc/man1/openssl-speed.pod.in +++ b/doc/man1/openssl-speed.pod.in @@ -115,7 +115,7 @@ pre-compiled grand selection is tested. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-spkac.pod.in b/doc/man1/openssl-spkac.pod.in index 77e4d7ce..72e4788f 100644 --- a/doc/man1/openssl-spkac.pod.in +++ b/doc/man1/openssl-spkac.pod.in @@ -150,7 +150,7 @@ L =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-srp.pod.in b/doc/man1/openssl-srp.pod.in index ce480246..5f4a36c6 100644 --- a/doc/man1/openssl-srp.pod.in +++ b/doc/man1/openssl-srp.pod.in @@ -83,7 +83,7 @@ see L. =head1 COPYRIGHT -Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2020 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 diff --git a/doc/man1/openssl-storeutl.pod.in b/doc/man1/openssl-storeutl.pod.in index 3de2059e..70e9ca65 100644 --- a/doc/man1/openssl-storeutl.pod.in +++ b/doc/man1/openssl-storeutl.pod.in @@ -125,7 +125,7 @@ This command was added in OpenSSL 1.1.1. =head1 COPYRIGHT -Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016-2020 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 diff --git a/doc/man1/openssl-ts.pod.in b/doc/man1/openssl-ts.pod.in index 38fcf530..10386a3f 100644 --- a/doc/man1/openssl-ts.pod.in +++ b/doc/man1/openssl-ts.pod.in @@ -37,7 +37,6 @@ B<-reply> [B<-chain> I] [B<-tspolicy> I] [B<-in> I] -[B<-untrusted> I] [B<-token_in>] [B<-out> I] [B<-token_out>] @@ -52,6 +51,7 @@ B<-verify> [B<-queryfile> I] [B<-in> I] [B<-token_in>] +[B<-untrusted> I] [B<-CAfile> I] [B<-CApath> I] [B<-CAstore> I] @@ -639,7 +639,7 @@ L =head1 COPYRIGHT -Copyright 2006-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006-2020 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 diff --git a/doc/man1/openssl-verify.pod.in b/doc/man1/openssl-verify.pod.in index 821f88da..e4e394fa 100644 --- a/doc/man1/openssl-verify.pod.in +++ b/doc/man1/openssl-verify.pod.in @@ -38,10 +38,6 @@ This command verifies certificate chains. Print out a usage message. -=item B<-CAfile> I, B<-no-CAfile>, B<-CApath> I, B<-no-CApath> - -See L for more information. - =item B<-CRLfile> I The I should contain one or more CRLs in PEM format. @@ -50,7 +46,7 @@ Is. =item B<-crl_download> -Attempt to download CRL information for this certificate. +Attempt to download CRL information for certificates via their CDP entries. =item B<-show_chain> @@ -64,11 +60,16 @@ Print extra information about the operations being performed. =item B<-trusted> I -A file of trusted certificates. +A file of trusted certificates in PEM format. +This option can be specified more than once to load certificates from multiple +Is. =item B<-untrusted> I -A file of untrusted certificates. +A file of untrusted certificates in PEM format to use for chain building. +This option can be specified more than once to load certificates from multiple +Is. + =item B<-vfyopt> I:I @@ -155,7 +156,7 @@ The B<-show_chain> option was added in OpenSSL 1.1.0. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-version.pod.in b/doc/man1/openssl-version.pod.in index d2aaaecb..b2f09107 100644 --- a/doc/man1/openssl-version.pod.in +++ b/doc/man1/openssl-version.pod.in @@ -86,7 +86,7 @@ in a bug report. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl-x509.pod.in b/doc/man1/openssl-x509.pod.in index 568a2053..b8fd2a40 100644 --- a/doc/man1/openssl-x509.pod.in +++ b/doc/man1/openssl-x509.pod.in @@ -823,7 +823,7 @@ form must have their links rebuilt using L or similar. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/openssl.pod b/doc/man1/openssl.pod index c05fc29f..9bac3cd4 100644 --- a/doc/man1/openssl.pod +++ b/doc/man1/openssl.pod @@ -977,8 +977,8 @@ effect. Parse I as a set of one or more certificates in PEM format. All certificates must be self-signed, unless the B<-partial_chain> option is specified. -This option implies the B<-no-CAfile> and B<-no-CApath> options and it -cannot be used with either the B<-CAfile> or B<-CApath> options, so +This option implies the B<-no-CAfile>, B<-no-CApath>, and B<-no-CAstore> options +and it cannot be used with the B<-CAfile>, B<-CApath> or B<-CAstore> options, so only certificates in the file are trust anchors. This option may be used multiple times. @@ -1405,7 +1405,7 @@ is silently ignored. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man1/tsget.pod b/doc/man1/tsget.pod index 201c24fc..66c0ba62 100644 --- a/doc/man1/tsget.pod +++ b/doc/man1/tsget.pod @@ -192,7 +192,7 @@ L =head1 COPYRIGHT -Copyright 2006-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006-2020 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 diff --git a/doc/man3/ASN1_TIME_set.pod b/doc/man3/ASN1_TIME_set.pod index fc2b9308..b3163ad5 100644 --- a/doc/man3/ASN1_TIME_set.pod +++ b/doc/man3/ASN1_TIME_set.pod @@ -264,7 +264,7 @@ The ASN1_TIME_compare() function was added in OpenSSL 1.1.1. =head1 COPYRIGHT -Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015-2020 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 diff --git a/doc/man3/ASN1_TYPE_get.pod b/doc/man3/ASN1_TYPE_get.pod index 54644d35..a7a3083a 100644 --- a/doc/man3/ASN1_TYPE_get.pod +++ b/doc/man3/ASN1_TYPE_get.pod @@ -91,7 +91,7 @@ NULL on failure. =head1 COPYRIGHT -Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015-2020 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 diff --git a/doc/man3/BF_encrypt.pod b/doc/man3/BF_encrypt.pod index ab4c156d..adea85e1 100644 --- a/doc/man3/BF_encrypt.pod +++ b/doc/man3/BF_encrypt.pod @@ -121,7 +121,7 @@ All of these functions were deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/BIO_f_buffer.pod b/doc/man3/BIO_f_buffer.pod index ec3f04d7..ed32e11d 100644 --- a/doc/man3/BIO_f_buffer.pod +++ b/doc/man3/BIO_f_buffer.pod @@ -92,7 +92,7 @@ L. =head1 COPYRIGHT -Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/BIO_get_ex_new_index.pod b/doc/man3/BIO_get_ex_new_index.pod index 365c0840..2380ad79 100644 --- a/doc/man3/BIO_get_ex_new_index.pod +++ b/doc/man3/BIO_get_ex_new_index.pod @@ -87,7 +87,7 @@ L. =head1 COPYRIGHT -Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015-2020 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 diff --git a/doc/man3/BIO_set_callback.pod b/doc/man3/BIO_set_callback.pod index dd3aa7b1..eb329f52 100644 --- a/doc/man3/BIO_set_callback.pod +++ b/doc/man3/BIO_set_callback.pod @@ -230,7 +230,7 @@ in crypto/bio/bio_cb.c =head1 COPYRIGHT -Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/CONF_modules_free.pod b/doc/man3/CONF_modules_free.pod index 1174bfec..dc7a1173 100644 --- a/doc/man3/CONF_modules_free.pod +++ b/doc/man3/CONF_modules_free.pod @@ -48,7 +48,7 @@ For more information see L. =head1 COPYRIGHT -Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2004-2020 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 diff --git a/doc/man3/CRYPTO_get_ex_new_index.pod b/doc/man3/CRYPTO_get_ex_new_index.pod index 10f7feb5..e569a3d5 100644 --- a/doc/man3/CRYPTO_get_ex_new_index.pod +++ b/doc/man3/CRYPTO_get_ex_new_index.pod @@ -168,7 +168,7 @@ CRYPTO_alloc_ex_data() was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015-2020 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 diff --git a/doc/man3/CTLOG_STORE_new.pod b/doc/man3/CTLOG_STORE_new.pod index 196a3278..50d79a8b 100644 --- a/doc/man3/CTLOG_STORE_new.pod +++ b/doc/man3/CTLOG_STORE_new.pod @@ -79,7 +79,7 @@ added in OpenSSL 1.1.0. =head1 COPYRIGHT -Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016-2020 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 diff --git a/doc/man3/CTLOG_new.pod b/doc/man3/CTLOG_new.pod index aa5ec0a7..4bb1a1b6 100644 --- a/doc/man3/CTLOG_new.pod +++ b/doc/man3/CTLOG_new.pod @@ -80,7 +80,7 @@ were added in OpenSSL 3.0. All other functions were added in OpenSSL 1.1.0. =head1 COPYRIGHT -Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016-2020 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 diff --git a/doc/man3/CT_POLICY_EVAL_CTX_new.pod b/doc/man3/CT_POLICY_EVAL_CTX_new.pod index 38076352..12660760 100644 --- a/doc/man3/CT_POLICY_EVAL_CTX_new.pod +++ b/doc/man3/CT_POLICY_EVAL_CTX_new.pod @@ -130,7 +130,7 @@ functions were added in OpenSSL 1.1.0. =head1 COPYRIGHT -Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016-2020 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 diff --git a/doc/man3/DEFINE_STACK_OF.pod b/doc/man3/DEFINE_STACK_OF.pod index 4dd3de84..6c165c00 100644 --- a/doc/man3/DEFINE_STACK_OF.pod +++ b/doc/man3/DEFINE_STACK_OF.pod @@ -64,27 +64,31 @@ functions that wrap around the utility B API. In the description here, B> is used as a placeholder for any of the OpenSSL datatypes, such as B. -STACK_OF() returns the name for a stack of the specified B>. -DEFINE_STACK_OF() creates set of functions for a stack of B>. This -will mean that type B> is stored in each stack, the type is referenced by +The STACK_OF() macro returns the name for a stack of the specified B>. +This is an opaque pointer to a structure declaration. +This can be used in every header file that references the stack. +There are several B macros that create static inline functions +for all of the functions described on this page. +This should normally be used in one source file, and the stack manipulation +is wrapped with application-specific functions. + +DEFINE_STACK_OF() creates set of functions for a stack of B> elements. +The type is referenced by B(B>) and each function name begins with B_>. -For example: - - TYPE *sk_TYPE_value(STACK_OF(TYPE) *sk, int idx); - DEFINE_STACK_OF_CONST() is identical to DEFINE_STACK_OF() except -each element is constant. For example: +each element is constant. + /* DEFINE_STACK_OF(TYPE) */ + TYPE *sk_TYPE_value(STACK_OF(TYPE) *sk, int idx); + /* DEFINE_STACK_OF_CONST(TYPE) */ const TYPE *sk_TYPE_value(STACK_OF(TYPE) *sk, int idx); -DEFINE_SPECIAL_STACK_OF() defines a stack of B> but -each function uses B in the function name. For example: +DEFINE_SPECIAL_STACK_OF() and DEFINE_SPECIAL_STACK_OF_CONST() are similar +except B is used in the function names: + /* DEFINE_SPECIAL_STACK_OF(TYPE, FUNCNAME) */ TYPE *sk_FUNCNAME_value(STACK_OF(TYPE) *sk, int idx); - -DEFINE_SPECIAL_STACK_OF_CONST() is similar except that each element is -constant: - + /* DEFINE_SPECIAL_STACK_OF(TYPE, FUNCNAME) */ const TYPE *sk_FUNCNAME_value(STACK_OF(TYPE) *sk, int idx); B_num>() returns the number of elements in I or -1 if I is diff --git a/doc/man3/DH_generate_key.pod b/doc/man3/DH_generate_key.pod index 35fcc020..7cc9e84a 100644 --- a/doc/man3/DH_generate_key.pod +++ b/doc/man3/DH_generate_key.pod @@ -57,7 +57,7 @@ Both of these functions were deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/DH_generate_parameters.pod b/doc/man3/DH_generate_parameters.pod index a01b9407..ff548ee0 100644 --- a/doc/man3/DH_generate_parameters.pod +++ b/doc/man3/DH_generate_parameters.pod @@ -160,7 +160,7 @@ DH_generate_parameters_ex() instead. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/DH_get0_pqg.pod b/doc/man3/DH_get0_pqg.pod index 3806dab3..28f5d06b 100644 --- a/doc/man3/DH_get0_pqg.pod +++ b/doc/man3/DH_get0_pqg.pod @@ -27,13 +27,14 @@ DH_get_length, DH_set_length - Routines for getting and setting data in a DH obj int DH_test_flags(const DH *dh, int flags); void DH_set_flags(DH *dh, int flags); + long DH_get_length(const DH *dh); + int DH_set_length(DH *dh, long length); + Deprecated since OpenSSL 3.0, can be hidden entirely by defining B with a suitable version value, see L: ENGINE *DH_get0_engine(DH *d); - long DH_get_length(const DH *dh); - int DH_set_length(DH *dh, long length); =head1 DESCRIPTION @@ -56,11 +57,9 @@ and therefore the values that have been passed in should not be freed directly after this function has been called. The I parameter may be NULL. DH_set0_pqg() also checks if the parameters associated with I

and I and optionally I are associated with known safe prime groups. If it is a safe -prime group then the value of I will be set to q = (p - 1) / 2 if I is NULL. -For safe prime groups the optional length parameter I is set to twice -the value of the maximum_target_security_strength(BN_num_bits(I

)) as listed in -SP800-56Ar3 Table(s) 25 & 26. If it is not a safe prime group then the optional -length parameter will be set if I is not NULL to BN_num_bits(I). +prime group then the value of I will be set to q = (p - 1) / 2 if I is +NULL. The optional length parameter will be set to BN_num_bits(I) if I +is not NULL. To get the public and private key values use the DH_get0_key() function. A pointer to the public key will be stored in I<*pub_key>, and a pointer to the @@ -96,7 +95,9 @@ The DH_get_length() and DH_set_length() functions get and set the optional length parameter associated with this DH object. If the length is nonzero then it is used, otherwise it is ignored. The I parameter indicates the length of the secret exponent (private key) in bits. These functions are -deprecated. +deprecated. For safe prime groups the optional length parameter I can be +set to a value greater or equal to 2 * maximum_target_security_strength(BN_num_bits(I

)) +as listed in SP800-56Ar3 Table(s) 25 & 26. =head1 NOTES @@ -127,14 +128,13 @@ L, L, L =head1 HISTORY -The DH_get0_engine(), DH_get_length() and DH_set_length() functions were -deprecated in OpenSSL 3.0. +The DH_get0_engine() function was deprecated in OpenSSL 3.0. The functions described here were added in OpenSSL 1.1.0. =head1 COPYRIGHT -Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016-2020 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 diff --git a/doc/man3/DH_meth_new.pod b/doc/man3/DH_meth_new.pod index 38c3bd31..48396e3b 100644 --- a/doc/man3/DH_meth_new.pod +++ b/doc/man3/DH_meth_new.pod @@ -166,7 +166,7 @@ The functions described here were added in OpenSSL 1.1.0. =head1 COPYRIGHT -Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016-2020 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 diff --git a/doc/man3/DH_new_by_nid.pod b/doc/man3/DH_new_by_nid.pod index a333ecb6..163be09f 100644 --- a/doc/man3/DH_new_by_nid.pod +++ b/doc/man3/DH_new_by_nid.pod @@ -2,7 +2,7 @@ =head1 NAME -DH_new_by_nid, DH_get_nid - get or find DH named parameters +DH_new_by_nid, DH_get_nid - create or get DH named parameters =head1 SYNOPSIS @@ -13,7 +13,7 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining B with a suitable version value, see L: - int *DH_get_nid(DH *dh); + int DH_get_nid(const DH *dh); =head1 DESCRIPTION @@ -26,12 +26,6 @@ B, B or B. DH_get_nid() determines if the parameters contained in B match any named safe prime group. It returns the NID corresponding to the matching parameters or B if there is no match. -Internally it caches the nid, so that any subsequent calls can fetch the -cached value. -If a matching p and g are not found and the value of parameter q is not set, -then it is set to q = (p - 1) / 2. -If parameter q is already set then it must also match the expected q otherwise -no match will be found. This function is deprecated. =head1 RETURN VALUES diff --git a/doc/man3/DH_set_method.pod b/doc/man3/DH_set_method.pod index ae3d8fa8..ef8dbbcb 100644 --- a/doc/man3/DH_set_method.pod +++ b/doc/man3/DH_set_method.pod @@ -89,7 +89,7 @@ All of these functions were deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/DH_size.pod b/doc/man3/DH_size.pod index 8a206f0a..98452524 100644 --- a/doc/man3/DH_size.pod +++ b/doc/man3/DH_size.pod @@ -58,7 +58,7 @@ The DH_bits() function was added in OpenSSL 1.1.0. =head1 COPYRIGHT -Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/DSA_dup_DH.pod b/doc/man3/DSA_dup_DH.pod index 897d9a1e..8beab95a 100644 --- a/doc/man3/DSA_dup_DH.pod +++ b/doc/man3/DSA_dup_DH.pod @@ -43,7 +43,7 @@ This function was deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/DSA_size.pod b/doc/man3/DSA_size.pod index 473ab985..2d74eea3 100644 --- a/doc/man3/DSA_size.pod +++ b/doc/man3/DSA_size.pod @@ -53,7 +53,7 @@ All of these functions were deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/ECDSA_SIG_new.pod b/doc/man3/ECDSA_SIG_new.pod index 4364297e..f9f62543 100644 --- a/doc/man3/ECDSA_SIG_new.pod +++ b/doc/man3/ECDSA_SIG_new.pod @@ -212,7 +212,7 @@ functions were deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2004-2020 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 diff --git a/doc/man3/EC_POINT_new.pod b/doc/man3/EC_POINT_new.pod index f941446f..ab02d607 100644 --- a/doc/man3/EC_POINT_new.pod +++ b/doc/man3/EC_POINT_new.pod @@ -40,14 +40,6 @@ EC_POINT_hex2point EC_POINT *EC_POINT_dup(const EC_POINT *src, const EC_GROUP *group); const EC_METHOD *EC_POINT_method_of(const EC_POINT *point); int EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point); - int EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *group, - EC_POINT *p, - const BIGNUM *x, const BIGNUM *y, - const BIGNUM *z, BN_CTX *ctx); - int EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group, - const EC_POINT *p, - BIGNUM *x, BIGNUM *y, BIGNUM *z, - BN_CTX *ctx); int EC_POINT_set_affine_coordinates(const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx); @@ -56,6 +48,34 @@ EC_POINT_hex2point int EC_POINT_set_compressed_coordinates(const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, int y_bit, BN_CTX *ctx); + size_t EC_POINT_point2oct(const EC_GROUP *group, const EC_POINT *p, + point_conversion_form_t form, + unsigned char *buf, size_t len, BN_CTX *ctx); + size_t EC_POINT_point2buf(const EC_GROUP *group, const EC_POINT *point, + point_conversion_form_t form, + unsigned char **pbuf, BN_CTX *ctx); + int EC_POINT_oct2point(const EC_GROUP *group, EC_POINT *p, + const unsigned char *buf, size_t len, BN_CTX *ctx); + BIGNUM *EC_POINT_point2bn(const EC_GROUP *group, const EC_POINT *p, + point_conversion_form_t form, BIGNUM *bn, + BN_CTX *ctx); + EC_POINT *EC_POINT_bn2point(const EC_GROUP *group, const BIGNUM *bn, + EC_POINT *p, BN_CTX *ctx); + char *EC_POINT_point2hex(const EC_GROUP *group, const EC_POINT *p, + point_conversion_form_t form, BN_CTX *ctx); + EC_POINT *EC_POINT_hex2point(const EC_GROUP *group, const char *hex, + EC_POINT *p, BN_CTX *ctx); + +Deprecated since OpenSSL 3.0: + + int EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *group, + EC_POINT *p, + const BIGNUM *x, const BIGNUM *y, + const BIGNUM *z, BN_CTX *ctx); + int EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group, + const EC_POINT *p, + BIGNUM *x, BIGNUM *y, BIGNUM *z, + BN_CTX *ctx); int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx); @@ -76,24 +96,6 @@ EC_POINT_hex2point EC_POINT *p, const BIGNUM *x, int y_bit, BN_CTX *ctx); - size_t EC_POINT_point2oct(const EC_GROUP *group, const EC_POINT *p, - point_conversion_form_t form, - unsigned char *buf, size_t len, BN_CTX *ctx); - size_t EC_POINT_point2buf(const EC_GROUP *group, const EC_POINT *point, - point_conversion_form_t form, - unsigned char **pbuf, BN_CTX *ctx); - int EC_POINT_oct2point(const EC_GROUP *group, EC_POINT *p, - const unsigned char *buf, size_t len, BN_CTX *ctx); - BIGNUM *EC_POINT_point2bn(const EC_GROUP *group, const EC_POINT *p, - point_conversion_form_t form, BIGNUM *bn, - BN_CTX *ctx); - EC_POINT *EC_POINT_bn2point(const EC_GROUP *group, const BIGNUM *bn, - EC_POINT *p, BN_CTX *ctx); - char *EC_POINT_point2hex(const EC_GROUP *group, const EC_POINT *p, - point_conversion_form_t form, BN_CTX *ctx); - EC_POINT *EC_POINT_hex2point(const EC_GROUP *group, const char *hex, - EC_POINT *p, BN_CTX *ctx); - =head1 DESCRIPTION @@ -142,9 +144,13 @@ operations. A mapping exists between Jacobian projective co-ordinates and affine co-ordinates. A Jacobian projective co-ordinate (x, y, z) can be written as an affine co-ordinate as (x/(z^2), y/(z^3)). Conversion to Jacobian projective from affine co-ordinates is simple. The co-ordinate (x, y) is mapped -to (x, y, 1). To set or get the projective co-ordinates use +to (x, y, 1). Although deprecated in OpenSSL 3.0 and should no longer be used, +to set or get the projective co-ordinates in older versions use EC_POINT_set_Jprojective_coordinates_GFp() and EC_POINT_get_Jprojective_coordinates_GFp() respectively. +Modern versions should instead use EC_POINT_set_affine_coordinates() and +EC_POINT_get_affine_coordinates(), performing the conversion manually using the +above maps in such rare circumstances. Points can also be described in terms of their compressed co-ordinates. For a point (x, y), for any given value for x such that the point is on the curve @@ -241,9 +247,22 @@ L, L, L, L, L, L, L +=head1 HISTORY + +EC_POINT_set_Jprojective_coordinates_GFp(), +EC_POINT_get_Jprojective_coordinates_GFp(), +EC_POINT_set_affine_coordinates_GFp(), EC_POINT_get_affine_coordinates_GFp(), +EC_POINT_set_compressed_coordinates_GFp(), +EC_POINT_set_affine_coordinates_GF2m(), EC_POINT_get_affine_coordinates_GF2m(), +EC_POINT_set_compressed_coordinates_GF2m() were deprecated in OpenSSL 3.0. + +B, B, +and B were +added in OpenSSL 1.1.1. + =head1 COPYRIGHT -Copyright 2013-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2013-2020 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 diff --git a/doc/man3/ERR_put_error.pod b/doc/man3/ERR_put_error.pod index 85538f71..c6b42028 100644 --- a/doc/man3/ERR_put_error.pod +++ b/doc/man3/ERR_put_error.pod @@ -112,7 +112,7 @@ B and B were added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/EVP_DigestInit.pod b/doc/man3/EVP_DigestInit.pod index 628e7c23..6c0f136b 100644 --- a/doc/man3/EVP_DigestInit.pod +++ b/doc/man3/EVP_DigestInit.pod @@ -647,7 +647,7 @@ and EVP_MD_CTX_get_params() functions were added in 3.0. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/EVP_DigestSignInit.pod b/doc/man3/EVP_DigestSignInit.pod index d0c13bbc..68391dd1 100644 --- a/doc/man3/EVP_DigestSignInit.pod +++ b/doc/man3/EVP_DigestSignInit.pod @@ -188,7 +188,7 @@ EVP_DigestSignUpdate() was converted from a macro to a function in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006-2020 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 diff --git a/doc/man3/EVP_DigestVerifyInit.pod b/doc/man3/EVP_DigestVerifyInit.pod index 9b5de646..617178bd 100644 --- a/doc/man3/EVP_DigestVerifyInit.pod +++ b/doc/man3/EVP_DigestVerifyInit.pod @@ -177,7 +177,7 @@ EVP_DigestVerifyUpdate() was converted from a macro to a function in OpenSSL =head1 COPYRIGHT -Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006-2020 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 diff --git a/doc/man3/EVP_EncryptInit.pod b/doc/man3/EVP_EncryptInit.pod index 5dc60a08..ad4297df 100644 --- a/doc/man3/EVP_EncryptInit.pod +++ b/doc/man3/EVP_EncryptInit.pod @@ -837,7 +837,7 @@ were added in 3.0. =head1 COPYRIGHT -Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/EVP_MAC.pod b/doc/man3/EVP_MAC.pod index 85025a20..1b961d49 100644 --- a/doc/man3/EVP_MAC.pod +++ b/doc/man3/EVP_MAC.pod @@ -384,7 +384,7 @@ These functions were added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2018-2020 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 diff --git a/doc/man3/EVP_PKEY_CTX_ctrl.pod b/doc/man3/EVP_PKEY_CTX_ctrl.pod index 829bdb9e..039073ca 100644 --- a/doc/man3/EVP_PKEY_CTX_ctrl.pod +++ b/doc/man3/EVP_PKEY_CTX_ctrl.pod @@ -33,10 +33,16 @@ EVP_PKEY_CTX_get0_rsa_oaep_label, EVP_PKEY_CTX_set_dsa_paramgen_bits, EVP_PKEY_CTX_set_dsa_paramgen_q_bits, EVP_PKEY_CTX_set_dsa_paramgen_md, +EVP_PKEY_CTX_set_dsa_paramgen_md_props, +EVP_PKEY_CTX_set_dsa_paramgen_gindex, +EVP_PKEY_CTX_set_dsa_paramgen_type, +EVP_PKEY_CTX_set_dsa_paramgen_seed, EVP_PKEY_CTX_set_dh_paramgen_prime_len, EVP_PKEY_CTX_set_dh_paramgen_subprime_len, EVP_PKEY_CTX_set_dh_paramgen_generator, EVP_PKEY_CTX_set_dh_paramgen_type, +EVP_PKEY_CTX_set_dh_paramgen_gindex, +EVP_PKEY_CTX_set_dh_paramgen_seed, EVP_PKEY_CTX_set_dh_rfc5114, EVP_PKEY_CTX_set_dhx_rfc5114, EVP_PKEY_CTX_set_dh_pad, @@ -121,6 +127,14 @@ EVP_PKEY_CTX_set1_id, EVP_PKEY_CTX_get1_id, EVP_PKEY_CTX_get1_id_len int EVP_PKEY_CTX_set_dsa_paramgen_bits(EVP_PKEY_CTX *ctx, int nbits); int EVP_PKEY_CTX_set_dsa_paramgen_q_bits(EVP_PKEY_CTX *ctx, int qbits); int EVP_PKEY_CTX_set_dsa_paramgen_md(EVP_PKEY_CTX *ctx, const EVP_MD *md); + int EVP_PKEY_CTX_set_dsa_paramgen_md_props(EVP_PKEY_CTX *ctx, + const char *md_name, + const char *md_properties); + int EVP_PKEY_CTX_set_dsa_paramgen_type(EVP_PKEY_CTX *ctx, const char *name); + int EVP_PKEY_CTX_set_dsa_paramgen_gindex(EVP_PKEY_CTX *ctx, int gindex); + int EVP_PKEY_CTX_set_dsa_paramgen_seed(EVP_PKEY_CTX *ctx, + const unsigned char *seed, + size_t seedlen); #include @@ -132,6 +146,10 @@ EVP_PKEY_CTX_set1_id, EVP_PKEY_CTX_get1_id, EVP_PKEY_CTX_get1_id_len int EVP_PKEY_CTX_set_dh_nid(EVP_PKEY_CTX *ctx, int nid); int EVP_PKEY_CTX_set_dh_rfc5114(EVP_PKEY_CTX *ctx, int rfc5114); int EVP_PKEY_CTX_set_dhx_rfc5114(EVP_PKEY_CTX *ctx, int rfc5114); + int EVP_PKEY_CTX_set_dh_paramgen_gindex(EVP_PKEY_CTX *ctx, int gindex); + int EVP_PKEY_CTX_set_dh_paramgen_seed(EVP_PKEY_CTX *ctx, + const unsigned char *seed, + size_t seedlen); int EVP_PKEY_CTX_set_dh_kdf_type(EVP_PKEY_CTX *ctx, int kdf); int EVP_PKEY_CTX_get_dh_kdf_type(EVP_PKEY_CTX *ctx); int EVP_PKEY_CTX_set0_dh_kdf_oid(EVP_PKEY_CTX *ctx, ASN1_OBJECT *oid); @@ -395,19 +413,42 @@ negotiated protocol version. Otherwise it should be left unset. =head2 DSA parameters -The EVP_PKEY_CTX_set_dsa_paramgen_bits() macro sets the number of bits used +The EVP_PKEY_CTX_set_dsa_paramgen_bits() method sets the number of bits used for DSA parameter generation to I. If not specified, 2048 is used. -The EVP_PKEY_CTX_set_dsa_paramgen_q_bits() macro sets the number of bits in the +The EVP_PKEY_CTX_set_dsa_paramgen_q_bits() method sets the number of bits in the subprime parameter I for DSA parameter generation to I. If not specified, 224 is used. If a digest function is specified below, this parameter is ignored and instead, the number of bits in I matches the size of the digest. -The EVP_PKEY_CTX_set_dsa_paramgen_md() macro sets the digest function used for +The EVP_PKEY_CTX_set_dsa_paramgen_md() method sets the digest function used for DSA parameter generation to I. If not specified, one of SHA-1, SHA-224, or SHA-256 is selected to match the bit length of I above. +The EVP_PKEY_CTX_set_dsa_paramgen_md_props() method sets the digest function +used for DSA parameter generation using I and I to +retrieve the digest from a provider. +If not specified, I will be set to one of SHA-1, SHA-224, or +SHA-256 depending on the bit length of I above. I is a +property query string that has a default value of '' if not specified. + +The EVP_PKEY_CTX_set_dsa_paramgen_gindex() method sets the I used by +the generator G. The default value is -1 which uses unverifiable g, otherwise +a positive value uses verifiable g. This value must be saved if key validation +of g is required, since it is not part of a persisted key. + +The EVP_PKEY_CTX_set_dsa_paramgen_seed() method sets the I to use for +generation rather than using a randomly generated value for the seed. This is +useful for testing purposes only and can fail if the seed does not produce +primes for both p & q on its first iteration. This value must be saved if +key validation of p, q, and verifiable g are required, since it is not part of +a persisted key. + +The EVP_PKEY_CTX_set_dsa_paramgen_type() method sets the generation type to +use FIPS186-4 generation if I is "fips186_4", or FIPS186-2 generation if +I is "fips186_2". The default value is "fips186_4". + =head2 DH parameters The EVP_PKEY_CTX_set_dh_paramgen_prime_len() macro sets the length of the DH @@ -417,8 +458,7 @@ then 2048 is used. Only accepts lengths greater than or equal to 256. The EVP_PKEY_CTX_set_dh_paramgen_subprime_len() macro sets the length of the DH optional subprime parameter I for DH parameter generation. The default is 256 if the prime is at least 2048 bits long or 160 otherwise. The DH -paramgen type must have been set to B or -B. +paramgen type must have been set to "fips186_4". The EVP_PKEY_CTX_set_dh_paramgen_generator() macro sets DH generator to I for DH parameter generation. If not specified 2 is used. @@ -428,22 +468,39 @@ parameter generation. The supported parameters are: =over 4 -=item B +=item B -Uses a generator g (PKCS#3 format). - -=item B - -FIPS186-2 FFC parameter generator (X9.42 DH). +Use a named group. If only the safe prime parameter I

is set this can be +used to select a ffdhe safe prime group of the correct size. =item B FIPS186-4 FFC parameter generator. +=item B + +FIPS186-2 FFC parameter generator (X9.42 DH). + +=item B + +Uses a safe prime generator g (PKCS#3 format). + =back The default is B. +The EVP_PKEY_CTX_set_dh_paramgen_gindex() method sets the I used by +the generator G. The default value is -1 which uses unverifiable g, otherwise +a positive value uses verifiable g. This value must be saved if key validation +of g is required, since it is not part of a persisted key. + +The EVP_PKEY_CTX_set_dh_paramgen_seed() method sets the I to use for +generation rather than using a randomly generated value for the seed. This is +useful for testing purposes only and can fail if the seed does not produce +primes for both p & q on its first iteration. This value must be saved if +key validation of p, q, and verifiable g are required, since it is not part of +a persisted key. + The EVP_PKEY_CTX_set_dh_pad() function sets the DH padding mode. If I is 1 the shared secret is padded with zeros up to the size of the DH prime I

. @@ -633,12 +690,16 @@ EVP_PKEY_CTX_get_rsa_padding(), EVP_PKEY_CTX_get_rsa_mgf1_md(), EVP_PKEY_CTX_set_rsa_mgf1_md(), EVP_PKEY_CTX_set_rsa_oaep_md(), EVP_PKEY_CTX_get_rsa_oaep_md(), EVP_PKEY_CTX_set0_rsa_oaep_label(), EVP_PKEY_CTX_get0_rsa_oaep_label(), EVP_PKEY_CTX_set_rsa_pss_saltlen(), -EVP_PKEY_CTX_get_rsa_pss_saltlen(), were macros in OpenSSL 1.1.1 and below. +EVP_PKEY_CTX_get_rsa_pss_saltlen(), EVP_PKEY_CTX_set_dsa_paramgen_bits(), +EVP_PKEY_CTX_set_dsa_paramgen_q_bits() and EVP_PKEY_CTX_set_dsa_paramgen_md() +were macros in OpenSSL 1.1.1 and below. From OpenSSL 3.0 they are functions. EVP_PKEY_CTX_get_rsa_oaep_md_name(), EVP_PKEY_CTX_get_rsa_mgf1_md_name(), -EVP_PKEY_CTX_set_rsa_mgf1_md_name() and EVP_PKEY_CTX_set_rsa_oaep_md_name() were -added in OpenSSL 3.0. +EVP_PKEY_CTX_set_rsa_mgf1_md_name(), EVP_PKEY_CTX_set_rsa_oaep_md_name(), +EVP_PKEY_CTX_set_dsa_paramgen_md_props(), EVP_PKEY_CTX_set_dsa_paramgen_gindex(), +EVP_PKEY_CTX_set_dsa_paramgen_type() and EVP_PKEY_CTX_set_dsa_paramgen_seed() +were added in OpenSSL 3.0. The EVP_PKEY_CTX_set1_id(), EVP_PKEY_CTX_get1_id() and EVP_PKEY_CTX_get1_id_len() macros were added in 1.1.1, other functions were @@ -646,7 +707,7 @@ added in OpenSSL 1.0.0. =head1 COPYRIGHT -Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006-2020 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 diff --git a/doc/man3/EVP_PKEY_CTX_new.pod b/doc/man3/EVP_PKEY_CTX_new.pod index 5f8a0124..b1f3185b 100644 --- a/doc/man3/EVP_PKEY_CTX_new.pod +++ b/doc/man3/EVP_PKEY_CTX_new.pod @@ -32,7 +32,8 @@ The EVP_PKEY_CTX_new_from_name() function allocates a public key algorithm context using the library context I (see L), the key type specified by I and the property query I. None of the arguments are duplicated, so they must remain unchanged for the -lifetime of the returned B or of any of its duplicates. +lifetime of the returned B or of any of its duplicates. Read +further about the possible names in L below. The EVP_PKEY_CTX_new_from_pkey() function allocates a public key algorithm context using the library context I (see L) and the @@ -52,16 +53,14 @@ If I is NULL, nothing is done. =head1 NOTES -=over 4 - -=item 1. +=head2 On B The B structure is an opaque public key algorithm context used by the OpenSSL high level public key API. Contexts B be shared between threads: that is it is not permissible to use the same context simultaneously in two threads. -=item 2. +=head2 On Key Types We mention "key type" in this manual, which is the same as "algorithm" in most cases, allowing either term to be used @@ -69,6 +68,29 @@ interchangeably. There are algorithms where the I and the I of the operations that use the keys are not the same, such as EC keys being used for ECDSA and ECDH operations. +Key types are given in two different manners: + +=over 4 + +=item Legacy NID or EVP_PKEY type + +This is the I used with EVP_PKEY_CTX_new_id(). + +These are B, B, B, +B, B, B, B, +B, and are used by legacy methods. + +=item Name strings + +This is the I used with EVP_PKEY_CTX_new_from_name(). + +These are names like "RSA", "DSA", and what's available depends on what +providers are currently accessible. + +The OpenSSL providers offer a set of key types available this way, please +see L and L and related +documentation for more information. + =back =head1 RETURN VALUES @@ -92,7 +114,7 @@ added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006-2020 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 diff --git a/doc/man3/EVP_PKEY_CTX_set_scrypt_N.pod b/doc/man3/EVP_PKEY_CTX_set_scrypt_N.pod index 7dbf5fa9..70d5eb6d 100644 --- a/doc/man3/EVP_PKEY_CTX_set_scrypt_N.pod +++ b/doc/man3/EVP_PKEY_CTX_set_scrypt_N.pod @@ -79,7 +79,7 @@ L =head1 COPYRIGHT -Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2020 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 diff --git a/doc/man3/EVP_PKEY_derive.pod b/doc/man3/EVP_PKEY_derive.pod index 30d301a1..1bce4f38 100644 --- a/doc/man3/EVP_PKEY_derive.pod +++ b/doc/man3/EVP_PKEY_derive.pod @@ -99,7 +99,7 @@ These functions were added in OpenSSL 1.0.0. =head1 COPYRIGHT -Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006-2020 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 diff --git a/doc/man3/EVP_PKEY_fromdata.pod b/doc/man3/EVP_PKEY_fromdata.pod index e3ddf680..a1c1ed37 100644 --- a/doc/man3/EVP_PKEY_fromdata.pod +++ b/doc/man3/EVP_PKEY_fromdata.pod @@ -18,18 +18,39 @@ EVP_PKEY_param_fromdata_settable, EVP_PKEY_key_fromdata_settable =head1 DESCRIPTION +The functions described here are used to create new keys from user +provided key data, such as I, I and I for a minimal RSA +keypair. + +These functions use an B context, which should primarly +be created with L or +L. + +The exact key data that the user can pass depends on the key type. +These are passed as an L array. + EVP_PKEY_param_fromdata_init() initializes a public key algorithm context for creating key parameters from user data. EVP_PKEY_key_fromdata_init() initializes a public key algorithm context for creating a key from user data. -EVP_PKEY_fromdata() creates key parameters or a key, given data from -I and a context that's been initialized with +EVP_PKEY_fromdata() creates the structure to store key parameters or a +key, given data from I and a context that's been initialized with EVP_PKEY_param_fromdata_init() or EVP_PKEY_key_fromdata_init(). The result is written to I<*ppkey>. The parameters that can be used for various types of key -are as described in the "Built-in RSA Import/Export Types" section on the -L page. +are as described by the diverse "Common parameters" sections of the +L(7)|EVP_PKEY-RSA(7)/Common RSA parameters>, +L(7)|EVP_PKEY-DSA(7)/Common DSA & DH parameters>, +L(7)|EVP_PKEY-DH(7)/Common DH parameters>, +L(7)|EVP_PKEY-EC(7)/Common EC parameters>, +L(7)|EVP_PKEY-ED448(7)/Common X25519, X448, ED25519 and ED448 parameters>, +L(7)|EVP_PKEY-X25519(7)/Common X25519, X448, ED25519 and ED448 parameters>, +L(7)|EVP_PKEY-X448(7)/Common X25519, X448, ED25519 and ED448 parameters>, +and L(7)|EVP_PKEY-ED25519(7)/Common X25519, X448, ED25519 and ED448 parameters> pages. + +=for comment the awful list of links above is made this way so we get nice +rendering as a man-page while still getting proper links in HTML EVP_PKEY_param_fromdata_settable() and EVP_PKEY_key_fromdata_settable() get a constant B array that describes the settable parameters @@ -50,9 +71,159 @@ EVP_PKEY_fromdata() return 1 for success and 0 or a negative value for failure. In particular a return value of -2 indicates the operation is not supported by the public key algorithm. +=head1 EXAMPLES + +These examples are very terse for the sake of staying on topic, which +is the EVP_PKEY_fromdata() set of functions. In real applications, +BIGNUMs would be handled and converted to byte arrays with +BN_bn2nativepad(), but that's off topic here. + +=begin comment + +TODO Write a set of cookbook documents and link to them. + +=end comment + +=head2 Creating an RSA keypair using raw key data + + #include + + /* + * These are extremely small to make this example simple. A real + * and secure application will not use such small numbers. A real + * and secure application is expected to use BIGNUMs, and to build + * this array dynamically. + */ + const unsigned long rsa_n = 0xbc747fc5; + const unsigned long rsa_e = 0x10001; + const unsigned long rsa_d = 0x7b133399; + const OSSL_PARAM[] = { + OSSL_PARAM_ulong("n", &rsa_n), + OSSL_PARAM_ulong("e", &rsa_e), + OSSL_PARAM_ulong("d", &rsa_d), + OSSL_PARAM_END + }; + + int main() + { + EVP_PKEY_CTX *ctx = EVP_PKEY_CTX_new_from_name(NULL, "RSA", NULL); + EVP_PKEY *pkey = NULL; + + if (ctx == NULL + || !EVP_PKEY_key_fromdata_init(ctx) + || !EVP_PKEY_fromdata(ctx, &pkey, params)) + exit(1); + + /* Do what you want with |pkey| */ + } + +=head2 Creating an ECC keypair using raw key data + + #include + + /* + * These arrays represent large numbers, big endian organization. + * In a real application, these would probably be bignums that get + * converted to the native integer organization with BN_bn2nativepad(). + * We're not doing that here, since this is not an example of BIGNUM + * functionality, but an example of EVP_PKEY_fromdata(). + */ + #ifndef B_ENDIAN + # error "We haven't prepared little endian arrays" + #endif + const unsigned char priv[] = { + 0xb9, 0x2f, 0x3c, 0xe6, 0x2f, 0xfb, 0x45, 0x68, + 0x39, 0x96, 0xf0, 0x2a, 0xaf, 0x6c, 0xda, 0xf2, + 0x89, 0x8a, 0x27, 0xbf, 0x39, 0x9b, 0x7e, 0x54, + 0x21, 0xc2, 0xa1, 0xe5, 0x36, 0x12, 0x48, 0x5d + }; + const unsigned char pub[] = { + 0x04, 0xcf, 0x20, 0xfb, 0x9a, 0x1d, 0x11, 0x6c, + 0x5e, 0x9f, 0xec, 0x38, 0x87, 0x6c, 0x1d, 0x2f, + 0x58, 0x47, 0xab, 0xa3, 0x9b, 0x79, 0x23, 0xe6, + 0xeb, 0x94, 0x6f, 0x97, 0xdb, 0xa3, 0x7d, 0xbd, + 0xe5, 0x26, 0xca, 0x07, 0x17, 0x8d, 0x26, 0x75, + 0xff, 0xcb, 0x8e, 0xb6, 0x84, 0xd0, 0x24, 0x02, + 0x25, 0x8f, 0xb9, 0x33, 0x6e, 0xcf, 0x12, 0x16, + 0x2f, 0x5c, 0xcd, 0x86, 0x71, 0xa8, 0xbf, 0x1a, + 0x47 + }; + const OSSL_PARAM params[] = { + OSSL_PARAM_utf8_string("curve-name", "prime256v1"), + OSSL_PARAM_BN("priv", priv, sizeof(priv)), + OSSL_PARAM_BN("pub", pub, sizeof(pub)), + OSSL_PARAM_END + }; + + int main() + { + EVP_PKEY_CTX *ctx = EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL); + EVP_PKEY *pkey = NULL; + + if (ctx == NULL + || !EVP_PKEY_key_fromdata_init(ctx) + || !EVP_PKEY_fromdata(ctx, &pkey, params)) + exit(1); + + /* Do what you want with |pkey| */ + } + +=head2 Finding out params for an unknown key type + + #include + + /* Program expects a key type as first argument */ + int main(int argc, char *argv[]) + { + EVP_PKEY_CTX *ctx = EVP_PKEY_CTX_new_from_name(NULL, argv[1], NULL); + const *OSSL_PARAM *settable_params = NULL; + + if (ctx == NULL + || (settable_params = EVP_PKEY_key_fromdata_settable(ctx)) == NULL) + exit(1); + + for (; settable_params->key != NULL; settable_params++) { + const char *datatype = NULL; + + switch (settable_params->data_type) { + case OSSL_PARAM_INTEGER: + datatype = "integer"; + break; + case OSSL_PARAM_UNSIGNED_INTEGER: + datatype = "unsigned integer"; + break; + case OSSL_PARAM_UTF8_STRING: + datatype = "printable string (utf-8 encoding expected)"; + break; + case OSSL_PARAM_UTF8_PTR: + datatype = "printable string pointer (utf-8 encoding expected)"; + break; + case OSSL_PARAM_OCTET_STRING: + datatype = "octet string"; + break; + case OSSL_PARAM_OCTET_PTR: + datatype = "octet string pointer"; + break; + } + printf("%s : %s ", settable_params->key, datatype); + if (settable_params->data_size == 0) + printf("(unlimited size)"); + else + printf("(maximum size %zu)", settable_params->data_size); + } + } + +The descriptor L returned by +EVP_PKEY_key_fromdata_settable() may also be used programmatically, for +example with L. + =head1 SEE ALSO -L, L, L +L, L, L, +L, +L, L, L, L, +L, L, L, +L =head1 HISTORY @@ -60,7 +231,7 @@ These functions were added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man3/EVP_PKEY_get_default_digest_nid.pod b/doc/man3/EVP_PKEY_get_default_digest_nid.pod index 4a4ca4ca..a815353d 100644 --- a/doc/man3/EVP_PKEY_get_default_digest_nid.pod +++ b/doc/man3/EVP_PKEY_get_default_digest_nid.pod @@ -18,7 +18,8 @@ EVP_PKEY_get_default_digest_nid, EVP_PKEY_get_default_digest_name EVP_PKEY_get_default_digest_name() fills in the default message digest name for the public key signature operations associated with key I into I, up to at most I bytes including the -ending NUL byte. +ending NUL byte. The name could be C<"UNDEF">, signifying that no digest +should be used. EVP_PKEY_get_default_digest_nid() sets I to the default message digest NID for the public key signature operations associated with key @@ -56,7 +57,7 @@ This function was added in OpenSSL 1.0.0. =head1 COPYRIGHT -Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006-2020 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 diff --git a/doc/man3/EVP_PKEY_new.pod b/doc/man3/EVP_PKEY_new.pod index 755587fa..b3bbe63a 100644 --- a/doc/man3/EVP_PKEY_new.pod +++ b/doc/man3/EVP_PKEY_new.pod @@ -129,7 +129,7 @@ EVP_PKEY_get_raw_public_key() functions were added in OpenSSL 1.1.1. =head1 COPYRIGHT -Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2002-2020 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 diff --git a/doc/man3/EVP_PKEY_set1_RSA.pod b/doc/man3/EVP_PKEY_set1_RSA.pod index 598cda42..10a8e946 100644 --- a/doc/man3/EVP_PKEY_set1_RSA.pod +++ b/doc/man3/EVP_PKEY_set1_RSA.pod @@ -165,7 +165,7 @@ L, L =head1 COPYRIGHT -Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2002-2020 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 diff --git a/doc/man3/EVP_PKEY_sign.pod b/doc/man3/EVP_PKEY_sign.pod index 78288781..a11c1c68 100644 --- a/doc/man3/EVP_PKEY_sign.pod +++ b/doc/man3/EVP_PKEY_sign.pod @@ -109,7 +109,7 @@ These functions were added in OpenSSL 1.0.0. =head1 COPYRIGHT -Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006-2020 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 diff --git a/doc/man3/EVP_PKEY_verify.pod b/doc/man3/EVP_PKEY_verify.pod index 878e4878..b44da85c 100644 --- a/doc/man3/EVP_PKEY_verify.pod +++ b/doc/man3/EVP_PKEY_verify.pod @@ -97,7 +97,7 @@ These functions were added in OpenSSL 1.0.0. =head1 COPYRIGHT -Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006-2020 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 diff --git a/doc/man3/EVP_SignInit.pod b/doc/man3/EVP_SignInit.pod index deb1e4df..4bdd4fbe 100644 --- a/doc/man3/EVP_SignInit.pod +++ b/doc/man3/EVP_SignInit.pod @@ -89,7 +89,7 @@ L, L =head1 COPYRIGHT -Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/EVP_aes_128_gcm.pod b/doc/man3/EVP_aes_128_gcm.pod index 56ae7404..05759015 100644 --- a/doc/man3/EVP_aes_128_gcm.pod +++ b/doc/man3/EVP_aes_128_gcm.pod @@ -183,7 +183,7 @@ L =head1 COPYRIGHT -Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2020 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 diff --git a/doc/man3/HMAC.pod b/doc/man3/HMAC.pod index 54db3ad6..2675969a 100644 --- a/doc/man3/HMAC.pod +++ b/doc/man3/HMAC.pod @@ -159,7 +159,7 @@ OpenSSL before version 1.0.0. =head1 COPYRIGHT -Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/MD5.pod b/doc/man3/MD5.pod index 8d24e5ad..68ffc65b 100644 --- a/doc/man3/MD5.pod +++ b/doc/man3/MD5.pod @@ -105,7 +105,7 @@ All of these functions were deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/MDC2_Init.pod b/doc/man3/MDC2_Init.pod index 1427759d..abcf1444 100644 --- a/doc/man3/MDC2_Init.pod +++ b/doc/man3/MDC2_Init.pod @@ -70,7 +70,7 @@ All of these functions were deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/OCSP_request_add1_nonce.pod b/doc/man3/OCSP_request_add1_nonce.pod index 6620da64..ae25c45c 100644 --- a/doc/man3/OCSP_request_add1_nonce.pod +++ b/doc/man3/OCSP_request_add1_nonce.pod @@ -74,7 +74,7 @@ L =head1 COPYRIGHT -Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015-2020 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 diff --git a/doc/man3/OCSP_response_status.pod b/doc/man3/OCSP_response_status.pod index 6c02b55f..a7eb6e31 100644 --- a/doc/man3/OCSP_response_status.pod +++ b/doc/man3/OCSP_response_status.pod @@ -123,7 +123,7 @@ The OCSP_basic_sign_ctx() function was added in OpenSSL 1.1.1. =head1 COPYRIGHT -Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015-2020 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 diff --git a/doc/man3/OCSP_sendreq_new.pod b/doc/man3/OCSP_sendreq_new.pod index f14f9084..f3224daa 100644 --- a/doc/man3/OCSP_sendreq_new.pod +++ b/doc/man3/OCSP_sendreq_new.pod @@ -105,7 +105,7 @@ L =head1 COPYRIGHT -Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015-2020 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 diff --git a/doc/man3/OPENSSL_malloc.pod b/doc/man3/OPENSSL_malloc.pod index d0688fdd..6ee202f7 100644 --- a/doc/man3/OPENSSL_malloc.pod +++ b/doc/man3/OPENSSL_malloc.pod @@ -195,7 +195,7 @@ clang's memory and leak sanitizer. =head1 COPYRIGHT -Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016-2020 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 diff --git a/doc/man3/OPENSSL_secure_malloc.pod b/doc/man3/OPENSSL_secure_malloc.pod index 67a34eb8..c5d4bb2d 100644 --- a/doc/man3/OPENSSL_secure_malloc.pod +++ b/doc/man3/OPENSSL_secure_malloc.pod @@ -133,7 +133,7 @@ a B in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015-2020 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 diff --git a/doc/man3/OSSL_CMP_CTX_new.pod b/doc/man3/OSSL_CMP_CTX_new.pod index d070a59b..354965b7 100644 --- a/doc/man3/OSSL_CMP_CTX_new.pod +++ b/doc/man3/OSSL_CMP_CTX_new.pod @@ -675,7 +675,7 @@ The OpenSSL CMP support was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2007-2020 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 diff --git a/doc/man3/OSSL_CMP_MSG_get0_header.pod b/doc/man3/OSSL_CMP_MSG_get0_header.pod index f42b8eaa..bd51eb55 100644 --- a/doc/man3/OSSL_CMP_MSG_get0_header.pod +++ b/doc/man3/OSSL_CMP_MSG_get0_header.pod @@ -44,7 +44,7 @@ The OpenSSL CMP support was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2007-2020 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 diff --git a/doc/man3/OSSL_CMP_MSG_http_perform.pod b/doc/man3/OSSL_CMP_MSG_http_perform.pod index 6582d441..344c6b77 100644 --- a/doc/man3/OSSL_CMP_MSG_http_perform.pod +++ b/doc/man3/OSSL_CMP_MSG_http_perform.pod @@ -50,7 +50,7 @@ The OpenSSL CMP support was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2007-2020 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 diff --git a/doc/man3/OSSL_CMP_SRV_CTX_new.pod b/doc/man3/OSSL_CMP_SRV_CTX_new.pod index 2b7ce7fa..a2d47a45 100644 --- a/doc/man3/OSSL_CMP_SRV_CTX_new.pod +++ b/doc/man3/OSSL_CMP_SRV_CTX_new.pod @@ -152,7 +152,7 @@ The OpenSSL CMP support was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2007-2020 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 diff --git a/doc/man3/OSSL_CMP_STATUSINFO_new.pod b/doc/man3/OSSL_CMP_STATUSINFO_new.pod index 520a104d..2409b8ce 100644 --- a/doc/man3/OSSL_CMP_STATUSINFO_new.pod +++ b/doc/man3/OSSL_CMP_STATUSINFO_new.pod @@ -56,7 +56,7 @@ The OpenSSL CMP support was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2007-2020 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 diff --git a/doc/man3/OSSL_CMP_exec_IR_ses.pod b/doc/man3/OSSL_CMP_exec_IR_ses.pod index 24913d5b..22d8e87c 100644 --- a/doc/man3/OSSL_CMP_exec_IR_ses.pod +++ b/doc/man3/OSSL_CMP_exec_IR_ses.pod @@ -162,7 +162,7 @@ The OpenSSL CMP support was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2007-2020 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 diff --git a/doc/man3/OSSL_CMP_log_open.pod b/doc/man3/OSSL_CMP_log_open.pod index 78d51ee7..0f67f2ae 100644 --- a/doc/man3/OSSL_CMP_log_open.pod +++ b/doc/man3/OSSL_CMP_log_open.pod @@ -110,7 +110,7 @@ The OpenSSL CMP support was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2007-2020 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 diff --git a/doc/man3/OSSL_CMP_validate_msg.pod b/doc/man3/OSSL_CMP_validate_msg.pod index acb17fac..3b06532c 100644 --- a/doc/man3/OSSL_CMP_validate_msg.pod +++ b/doc/man3/OSSL_CMP_validate_msg.pod @@ -76,7 +76,7 @@ The OpenSSL CMP support was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2007-2020 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 diff --git a/doc/man3/OSSL_CRMF_MSG_get0_tmpl.pod b/doc/man3/OSSL_CRMF_MSG_get0_tmpl.pod index eaebce88..f8c58dfc 100644 --- a/doc/man3/OSSL_CRMF_MSG_get0_tmpl.pod +++ b/doc/man3/OSSL_CRMF_MSG_get0_tmpl.pod @@ -71,7 +71,7 @@ The OpenSSL CRMF support was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2007-2020 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 diff --git a/doc/man3/OSSL_PARAM.pod b/doc/man3/OSSL_PARAM.pod index a2392a96..044b7a5c 100644 --- a/doc/man3/OSSL_PARAM.pod +++ b/doc/man3/OSSL_PARAM.pod @@ -333,7 +333,7 @@ B was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man3/OSSL_PARAM_allocate_from_text.pod b/doc/man3/OSSL_PARAM_allocate_from_text.pod index 5b92fdd2..011685c8 100644 --- a/doc/man3/OSSL_PARAM_allocate_from_text.pod +++ b/doc/man3/OSSL_PARAM_allocate_from_text.pod @@ -194,7 +194,7 @@ L, L =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man3/OSSL_PARAM_int.pod b/doc/man3/OSSL_PARAM_int.pod index 99e4fcf0..91269068 100644 --- a/doc/man3/OSSL_PARAM_int.pod +++ b/doc/man3/OSSL_PARAM_int.pod @@ -27,7 +27,7 @@ OSSL_PARAM_set_int64, OSSL_PARAM_set_long, OSSL_PARAM_set_size_t, OSSL_PARAM_set_uint, OSSL_PARAM_set_uint32, OSSL_PARAM_set_uint64, OSSL_PARAM_set_ulong, OSSL_PARAM_set_BN, OSSL_PARAM_set_utf8_string, OSSL_PARAM_set_octet_string, OSSL_PARAM_set_utf8_ptr, -OSSL_PARAM_set_octet_ptr +OSSL_PARAM_set_octet_ptr, OSSL_PARAM_UNMODIFIED - OSSL_PARAM helpers =head1 SYNOPSIS @@ -52,6 +52,8 @@ OSSL_PARAM_set_octet_ptr #define OSSL_PARAM_octet_ptr(key, address, size) #define OSSL_PARAM_END + #define OSSL_PARAM_UNMODIFIED + OSSL_PARAM OSSL_PARAM_construct_TYPE(const char *key, TYPE *buf); OSSL_PARAM OSSL_PARAM_construct_BN(const char *key, unsigned char *buf, size_t bsize); @@ -91,6 +93,9 @@ OSSL_PARAM_set_octet_ptr int OSSL_PARAM_set_octet_ptr(OSSL_PARAM *p, const void *val, size_t used_len); + int OSSL_PARAM_modified(const OSSL_PARAM *param); + void OSSL_PARAM_set_all_unmodified(OSSL_PARAM *params); + =head1 DESCRIPTION A collection of utility functions that simplify and add type safety to the @@ -250,6 +255,17 @@ OSSL_PARAM_set_octet_ptr() sets the OCTET string pointer in the parameter referenced by B

to the values B. The length of the OCTET string is provided by B. +The OSSL_PARAM_UNMODIFIED macro is used to detect if a parameter was set. On +creation, via either the macros or construct calls, the I field +is set to this. If the parameter is set using the calls defined herein, the +I field is changed. + +OSSL_PARAM_modified() queries if the parameter B has been set or not +using the calls defined herein. + +OSSL_PARAM_set_all_unmodified() resets the unused indicator for all parameters +in the array B. + =head1 RETURN VALUES OSSL_PARAM_construct_TYPE(), OSSL_PARAM_construct_BN(), @@ -261,6 +277,8 @@ OSSL_PARAM_locate() and OSSL_PARAM_locate_const() return a pointer to the matching OSSL_PARAM object. They return B on error or when no object matching B exists in the B. +OSSL_PARAM_modified() returns B<1> if the parameter was set and B<0> otherwise. + All other functions return B<1> on success and B<0> on failure. =head1 NOTES @@ -336,7 +354,7 @@ These APIs were introduced in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man3/OSSL_PROVIDER.pod b/doc/man3/OSSL_PROVIDER.pod index 8cedbadf..3f1a9466 100644 --- a/doc/man3/OSSL_PROVIDER.pod +++ b/doc/man3/OSSL_PROVIDER.pod @@ -123,7 +123,7 @@ The type and functions described here were added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man3/OSSL_SERIALIZER_CTX_new_by_EVP_PKEY.pod b/doc/man3/OSSL_SERIALIZER_CTX_new_by_EVP_PKEY.pod index f95753aa..fa4ba0df 100644 --- a/doc/man3/OSSL_SERIALIZER_CTX_new_by_EVP_PKEY.pod +++ b/doc/man3/OSSL_SERIALIZER_CTX_new_by_EVP_PKEY.pod @@ -134,7 +134,7 @@ The functions described here were added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man3/OSSL_trace_set_channel.pod b/doc/man3/OSSL_trace_set_channel.pod index a4b1d094..1105479a 100644 --- a/doc/man3/OSSL_trace_set_channel.pod +++ b/doc/man3/OSSL_trace_set_channel.pod @@ -303,7 +303,7 @@ in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man3/PEM_read_bio_PrivateKey.pod b/doc/man3/PEM_read_bio_PrivateKey.pod index 0650b52e..9b03d1a8 100644 --- a/doc/man3/PEM_read_bio_PrivateKey.pod +++ b/doc/man3/PEM_read_bio_PrivateKey.pod @@ -3,7 +3,8 @@ =head1 NAME pem_password_cb, -PEM_read_bio_PrivateKey, PEM_read_PrivateKey, PEM_write_bio_PrivateKey, +PEM_read_bio_PrivateKey_ex, PEM_read_bio_PrivateKey, PEM_read_PrivateKey_ex, +PEM_read_PrivateKey, PEM_write_bio_PrivateKey, PEM_write_bio_PrivateKey_traditional, PEM_write_PrivateKey, PEM_write_bio_PKCS8PrivateKey, PEM_write_PKCS8PrivateKey, PEM_write_bio_PKCS8PrivateKey_nid, PEM_write_PKCS8PrivateKey_nid, @@ -33,8 +34,14 @@ PEM_write_bio_PKCS7, PEM_write_PKCS7 - PEM routines typedef int pem_password_cb(char *buf, int size, int rwflag, void *u); + EVP_PKEY *PEM_read_bio_PrivateKey_ex(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, + void *u, OPENSSL_CTX *libctx, + const char *propq); EVP_PKEY *PEM_read_bio_PrivateKey(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, void *u); + EVP_PKEY *PEM_read_PrivateKey_ex(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, + void *u, OPENSSL_CTX *libctx, + const char *propq); EVP_PKEY *PEM_read_PrivateKey(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void *u); int PEM_write_bio_PrivateKey(BIO *bp, const EVP_PKEY *x, const EVP_CIPHER *enc, @@ -168,6 +175,9 @@ brevity the term "B> functions" will be used below to collectively refer to the B>(), B>(), B>(), and B>() functions. +Some operations have additional variants that take a library context I +and a property query string I. + The B functions read or write a private key in PEM format using an EVP_PKEY structure. The write routines use PKCS#8 private key format and are equivalent to PEM_write_bio_PKCS8PrivateKey().The read functions transparently @@ -307,6 +317,12 @@ arbitrary data to be passed to the callback by the application I return the number of characters in the passphrase or -1 if an error occurred. +Some implementations may need to use cryptographic algorithms during their +operation. If this is the case and I and I parameters have been +passed then any algorithm fetches will use that library context and property +query string. Otherwise the default library context and property query string +will be used. + =head1 NOTES The old B write routines are retained for compatibility. @@ -480,9 +496,12 @@ The old Netscape certificate sequences were no longer documented in OpenSSL 1.1.0; applications should use the PKCS7 standard instead as they will be formally deprecated in a future releases. +PEM_read_bio_PrivateKey_ex() and PEM_read_PrivateKey_ex() were introduced in +OpenSSL 3.0. + =head1 COPYRIGHT -Copyright 2001-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2001-2020 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 diff --git a/doc/man3/PKCS12_SAFEBAG_get0_attrs.pod b/doc/man3/PKCS12_SAFEBAG_get0_attrs.pod index f95e537b..07dd74cc 100644 --- a/doc/man3/PKCS12_SAFEBAG_get0_attrs.pod +++ b/doc/man3/PKCS12_SAFEBAG_get0_attrs.pod @@ -39,7 +39,7 @@ L =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man3/RAND_DRBG_set_callbacks.pod b/doc/man3/RAND_DRBG_set_callbacks.pod index 51414bcf..d00397da 100644 --- a/doc/man3/RAND_DRBG_set_callbacks.pod +++ b/doc/man3/RAND_DRBG_set_callbacks.pod @@ -160,7 +160,7 @@ The RAND_DRBG functions were added in OpenSSL 1.1.1. =head1 COPYRIGHT -Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2020 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 diff --git a/doc/man3/RAND_bytes.pod b/doc/man3/RAND_bytes.pod index 525b5694..935113ad 100644 --- a/doc/man3/RAND_bytes.pod +++ b/doc/man3/RAND_bytes.pod @@ -97,7 +97,7 @@ The RAND_bytes_ex() and RAND_priv_bytes_ex() functions were added in OpenSSL 3.0 =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/RAND_set_rand_method.pod b/doc/man3/RAND_set_rand_method.pod index d9e21325..bd6606c8 100644 --- a/doc/man3/RAND_set_rand_method.pod +++ b/doc/man3/RAND_set_rand_method.pod @@ -60,7 +60,7 @@ L =head1 COPYRIGHT -Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/RC4_set_key.pod b/doc/man3/RC4_set_key.pod index 2b314f02..b9876291 100644 --- a/doc/man3/RC4_set_key.pod +++ b/doc/man3/RC4_set_key.pod @@ -68,7 +68,7 @@ All of these functions were deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/RIPEMD160_Init.pod b/doc/man3/RIPEMD160_Init.pod index d6ed7348..7b1b84eb 100644 --- a/doc/man3/RIPEMD160_Init.pod +++ b/doc/man3/RIPEMD160_Init.pod @@ -73,7 +73,7 @@ All of these functions were deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/RSA_check_key.pod b/doc/man3/RSA_check_key.pod index 137ec7eb..f33d6b0a 100644 --- a/doc/man3/RSA_check_key.pod +++ b/doc/man3/RSA_check_key.pod @@ -84,7 +84,7 @@ RSA_check_key_ex() appeared after OpenSSL 1.0.2. =head1 COPYRIGHT -Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/RSA_generate_key.pod b/doc/man3/RSA_generate_key.pod index 110880f9..f8d4ba14 100644 --- a/doc/man3/RSA_generate_key.pod +++ b/doc/man3/RSA_generate_key.pod @@ -110,7 +110,7 @@ RSA_generate_key_ex() instead. =head1 COPYRIGHT -Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/RSA_meth_new.pod b/doc/man3/RSA_meth_new.pod index a6a5f473..ceab3177 100644 --- a/doc/man3/RSA_meth_new.pod +++ b/doc/man3/RSA_meth_new.pod @@ -260,7 +260,7 @@ Other functions described here were added in OpenSSL 1.1.0. =head1 COPYRIGHT -Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016-2020 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 diff --git a/doc/man3/RSA_padding_add_PKCS1_type_1.pod b/doc/man3/RSA_padding_add_PKCS1_type_1.pod index 0a7b5c3a..f45f6356 100644 --- a/doc/man3/RSA_padding_add_PKCS1_type_1.pod +++ b/doc/man3/RSA_padding_add_PKCS1_type_1.pod @@ -161,7 +161,7 @@ All of these functions were deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/RSA_print.pod b/doc/man3/RSA_print.pod index 8318b552..ee1995aa 100644 --- a/doc/man3/RSA_print.pod +++ b/doc/man3/RSA_print.pod @@ -64,7 +64,7 @@ All of these functions were deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/RSA_private_encrypt.pod b/doc/man3/RSA_private_encrypt.pod index 6589bb62..9f83d508 100644 --- a/doc/man3/RSA_private_encrypt.pod +++ b/doc/man3/RSA_private_encrypt.pod @@ -76,7 +76,7 @@ Both of these functions were deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/RSA_public_encrypt.pod b/doc/man3/RSA_public_encrypt.pod index dbd4c555..0aa18d76 100644 --- a/doc/man3/RSA_public_encrypt.pod +++ b/doc/man3/RSA_public_encrypt.pod @@ -111,7 +111,7 @@ Both of these functions were deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/RSA_set_method.pod b/doc/man3/RSA_set_method.pod index 72963780..88ea7492 100644 --- a/doc/man3/RSA_set_method.pod +++ b/doc/man3/RSA_set_method.pod @@ -185,7 +185,7 @@ was replaced to always return NULL in OpenSSL 1.1.1. =head1 COPYRIGHT -Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/RSA_sign.pod b/doc/man3/RSA_sign.pod index 2cc50a6f..715dfe46 100644 --- a/doc/man3/RSA_sign.pod +++ b/doc/man3/RSA_sign.pod @@ -67,7 +67,7 @@ All of these functions were deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/RSA_sign_ASN1_OCTET_STRING.pod b/doc/man3/RSA_sign_ASN1_OCTET_STRING.pod index 7a156866..846cb231 100644 --- a/doc/man3/RSA_sign_ASN1_OCTET_STRING.pod +++ b/doc/man3/RSA_sign_ASN1_OCTET_STRING.pod @@ -68,7 +68,7 @@ All of these functions were deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/RSA_size.pod b/doc/man3/RSA_size.pod index 15db17c2..b2a7c967 100644 --- a/doc/man3/RSA_size.pod +++ b/doc/man3/RSA_size.pod @@ -55,7 +55,7 @@ The RSA_bits() function was added in OpenSSL 1.1.0. =head1 COPYRIGHT -Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/SHA256_Init.pod b/doc/man3/SHA256_Init.pod index 074f4bf1..5aed8fa5 100644 --- a/doc/man3/SHA256_Init.pod +++ b/doc/man3/SHA256_Init.pod @@ -106,7 +106,7 @@ All of these functions were deprecated in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/SMIME_read_CMS.pod b/doc/man3/SMIME_read_CMS.pod index eab8347d..136bfd8f 100644 --- a/doc/man3/SMIME_read_CMS.pod +++ b/doc/man3/SMIME_read_CMS.pod @@ -65,7 +65,7 @@ L =head1 COPYRIGHT -Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2008-2020 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 diff --git a/doc/man3/SRP_create_verifier.pod b/doc/man3/SRP_create_verifier.pod index 98f31d14..b235fb6a 100644 --- a/doc/man3/SRP_create_verifier.pod +++ b/doc/man3/SRP_create_verifier.pod @@ -119,7 +119,7 @@ These functions were added in OpenSSL 1.0.1. =head1 COPYRIGHT -Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2018-2020 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 diff --git a/doc/man3/SSL_CONF_cmd.pod b/doc/man3/SSL_CONF_cmd.pod index 1f2e7b8e..73c50da8 100644 --- a/doc/man3/SSL_CONF_cmd.pod +++ b/doc/man3/SSL_CONF_cmd.pod @@ -707,7 +707,7 @@ B and B were added in OpenSSL 1.1.1. =head1 COPYRIGHT -Copyright 2012-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2012-2020 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 diff --git a/doc/man3/SSL_CTX_config.pod b/doc/man3/SSL_CTX_config.pod index 6cab5f9f..7aba58f8 100644 --- a/doc/man3/SSL_CTX_config.pod +++ b/doc/man3/SSL_CTX_config.pod @@ -16,8 +16,6 @@ SSL_CTX_config, SSL_config - configure SSL_CTX or SSL structure The functions SSL_CTX_config() and SSL_config() configure an B or B structure using the configuration B. -=head1 NOTES - By calling SSL_CTX_config() or SSL_config() an application can perform many complex tasks based on the contents of the configuration file: greatly simplifying application configuration code. A degree of future proofing diff --git a/doc/man3/SSL_CTX_new.pod b/doc/man3/SSL_CTX_new.pod index 9c2798d5..5e50f1b4 100644 --- a/doc/man3/SSL_CTX_new.pod +++ b/doc/man3/SSL_CTX_new.pod @@ -228,7 +228,7 @@ SSL_CTX_new_with_libctx() was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000-2020 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 diff --git a/doc/man3/SSL_CTX_sess_set_get_cb.pod b/doc/man3/SSL_CTX_sess_set_get_cb.pod index 3804e508..7fd5e0d1 100644 --- a/doc/man3/SSL_CTX_sess_set_get_cb.pod +++ b/doc/man3/SSL_CTX_sess_set_get_cb.pod @@ -113,7 +113,7 @@ L =head1 COPYRIGHT -Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2001-2020 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 diff --git a/doc/man3/SSL_CTX_set_ct_validation_callback.pod b/doc/man3/SSL_CTX_set_ct_validation_callback.pod index 6732ee11..962f5ebd 100644 --- a/doc/man3/SSL_CTX_set_ct_validation_callback.pod +++ b/doc/man3/SSL_CTX_set_ct_validation_callback.pod @@ -135,7 +135,7 @@ L =head1 COPYRIGHT -Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016-2020 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 diff --git a/doc/man3/SSL_CTX_set_tlsext_servername_callback.pod b/doc/man3/SSL_CTX_set_tlsext_servername_callback.pod index c3aaeb56..374f575b 100644 --- a/doc/man3/SSL_CTX_set_tlsext_servername_callback.pod +++ b/doc/man3/SSL_CTX_set_tlsext_servername_callback.pod @@ -169,7 +169,7 @@ NULL. =head1 COPYRIGHT -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2020 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 diff --git a/doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod b/doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod index ae812097..99aaf7a5 100644 --- a/doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod +++ b/doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod @@ -233,7 +233,7 @@ OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2014-2020 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 diff --git a/doc/man3/SSL_CTX_set_tmp_dh_callback.pod b/doc/man3/SSL_CTX_set_tmp_dh_callback.pod index 9b577bdd..db662f89 100644 --- a/doc/man3/SSL_CTX_set_tmp_dh_callback.pod +++ b/doc/man3/SSL_CTX_set_tmp_dh_callback.pod @@ -116,7 +116,7 @@ L, L =head1 COPYRIGHT -Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2001-2020 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 diff --git a/doc/man3/SSL_SESSION_get0_hostname.pod b/doc/man3/SSL_SESSION_get0_hostname.pod index 6e24a07d..f560e775 100644 --- a/doc/man3/SSL_SESSION_get0_hostname.pod +++ b/doc/man3/SSL_SESSION_get0_hostname.pod @@ -67,7 +67,7 @@ SSL_SESSION_set1_alpn_selected() functions were added in OpenSSL 1.1.1. =head1 COPYRIGHT -Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016-2020 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 diff --git a/doc/man3/SSL_extension_supported.pod b/doc/man3/SSL_extension_supported.pod index 710b2437..fa7a1f69 100644 --- a/doc/man3/SSL_extension_supported.pod +++ b/doc/man3/SSL_extension_supported.pod @@ -288,7 +288,7 @@ The SSL_CTX_add_custom_ext() function was added in OpenSSL 1.1.1. =head1 COPYRIGHT -Copyright 2014-2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2014-2020 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 diff --git a/doc/man3/TS_VERIFY_CTX_set_certs.pod b/doc/man3/TS_VERIFY_CTX_set_certs.pod index a7aae4ac..26c9a66a 100644 --- a/doc/man3/TS_VERIFY_CTX_set_certs.pod +++ b/doc/man3/TS_VERIFY_CTX_set_certs.pod @@ -47,7 +47,7 @@ compatibility reasons, but it is deprecated in OpenSSL 3.0.0. =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man3/X509_ALGOR_dup.pod b/doc/man3/X509_ALGOR_dup.pod index 824694fb..7696fc61 100644 --- a/doc/man3/X509_ALGOR_dup.pod +++ b/doc/man3/X509_ALGOR_dup.pod @@ -2,7 +2,7 @@ =head1 NAME -X509_ALGOR_dup, X509_ALGOR_set0, X509_ALGOR_get0, X509_ALGOR_set_md, X509_ALGOR_cmp - AlgorithmIdentifier functions +X509_ALGOR_dup, X509_ALGOR_set0, X509_ALGOR_get0, X509_ALGOR_set_md, X509_ALGOR_cmp, X509_ALGOR_copy - AlgorithmIdentifier functions =head1 SYNOPSIS @@ -14,6 +14,7 @@ X509_ALGOR_dup, X509_ALGOR_set0, X509_ALGOR_get0, X509_ALGOR_set_md, X509_ALGOR_ const void **ppval, const X509_ALGOR *alg); void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md); int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b); + int X509_ALGOR_copy(X509_ALGOR *dest, const X509_ALGOR *src); =head1 DESCRIPTION @@ -36,21 +37,28 @@ values for the message digest B. X509_ALGOR_cmp() compares B and B and returns 0 if they have identical encodings and nonzero otherwise. +X509_ALGOR_copy() copies the source values into the dest structs; making +a duplicate of each (and free any thing pointed to from within *dest). + =head1 RETURN VALUES X509_ALGOR_dup() returns a valid B structure or NULL if an error occurred. -X509_ALGOR_set0() returns 1 on success or 0 on error. +X509_ALGOR_set0() and X509_ALGOR_copy() return 1 on success or 0 on error. X509_ALGOR_get0() and X509_ALGOR_set_md() return no values. X509_ALGOR_cmp() returns 0 if the two parameters have identical encodings and nonzero otherwise. +=head1 HISTORY + +The X509_ALGOR_copy() was added in 1.1.1e. + =head1 COPYRIGHT -Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2002-2020 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 diff --git a/doc/man3/X509_CRL_get0_by_serial.pod b/doc/man3/X509_CRL_get0_by_serial.pod index 5deace4f..d1e0f077 100644 --- a/doc/man3/X509_CRL_get0_by_serial.pod +++ b/doc/man3/X509_CRL_get0_by_serial.pod @@ -105,7 +105,7 @@ L =head1 COPYRIGHT -Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015-2020 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 diff --git a/doc/man3/X509_LOOKUP_hash_dir.pod b/doc/man3/X509_LOOKUP_hash_dir.pod index 41d24018..199afa36 100644 --- a/doc/man3/X509_LOOKUP_hash_dir.pod +++ b/doc/man3/X509_LOOKUP_hash_dir.pod @@ -149,7 +149,7 @@ B was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015-2020 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 diff --git a/doc/man3/X509_LOOKUP_meth_new.pod b/doc/man3/X509_LOOKUP_meth_new.pod index ccf352f3..9143607d 100644 --- a/doc/man3/X509_LOOKUP_meth_new.pod +++ b/doc/man3/X509_LOOKUP_meth_new.pod @@ -186,7 +186,7 @@ The functions described here were added in OpenSSL 1.1.0i. =head1 COPYRIGHT -Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2018-2020 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 diff --git a/doc/man3/X509_NAME_get0_der.pod b/doc/man3/X509_NAME_get0_der.pod index dd28b443..acd3442f 100644 --- a/doc/man3/X509_NAME_get0_der.pod +++ b/doc/man3/X509_NAME_get0_der.pod @@ -30,7 +30,7 @@ L =head1 COPYRIGHT -Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2002-2020 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 diff --git a/doc/man3/X509_NAME_get_index_by_NID.pod b/doc/man3/X509_NAME_get_index_by_NID.pod index b8cbdf01..e005c146 100644 --- a/doc/man3/X509_NAME_get_index_by_NID.pod +++ b/doc/man3/X509_NAME_get_index_by_NID.pod @@ -115,7 +115,7 @@ L, L =head1 COPYRIGHT -Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2002-2020 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 diff --git a/doc/man3/X509_STORE_CTX_get_error.pod b/doc/man3/X509_STORE_CTX_get_error.pod index b4d0cf4d..0c0d01b8 100644 --- a/doc/man3/X509_STORE_CTX_get_error.pod +++ b/doc/man3/X509_STORE_CTX_get_error.pod @@ -444,7 +444,7 @@ L. =head1 COPYRIGHT -Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2009-2020 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 diff --git a/doc/man3/X509_STORE_CTX_new.pod b/doc/man3/X509_STORE_CTX_new.pod index 5217a67d..bc765c35 100644 --- a/doc/man3/X509_STORE_CTX_new.pod +++ b/doc/man3/X509_STORE_CTX_new.pod @@ -174,7 +174,7 @@ The X509_STORE_CTX_new_with_libctx() function was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2009-2020 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 diff --git a/doc/man3/X509_STORE_CTX_set_verify_cb.pod b/doc/man3/X509_STORE_CTX_set_verify_cb.pod index c53b14db..3c081e1d 100644 --- a/doc/man3/X509_STORE_CTX_set_verify_cb.pod +++ b/doc/man3/X509_STORE_CTX_set_verify_cb.pod @@ -212,7 +212,7 @@ X509_STORE_CTX_print_verify_cb() was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2009-2020 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 diff --git a/doc/man3/X509_STORE_add_cert.pod b/doc/man3/X509_STORE_add_cert.pod index f447d2b3..d41f2ae5 100644 --- a/doc/man3/X509_STORE_add_cert.pod +++ b/doc/man3/X509_STORE_add_cert.pod @@ -126,7 +126,7 @@ L =head1 COPYRIGHT -Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2020 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 diff --git a/doc/man3/X509_STORE_get0_param.pod b/doc/man3/X509_STORE_get0_param.pod index c458afa1..d9413fd4 100644 --- a/doc/man3/X509_STORE_get0_param.pod +++ b/doc/man3/X509_STORE_get0_param.pod @@ -55,7 +55,7 @@ B was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016-2020 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 diff --git a/doc/man3/X509_STORE_set_verify_cb_func.pod b/doc/man3/X509_STORE_set_verify_cb_func.pod index 5a2a52fe..e845906c 100644 --- a/doc/man3/X509_STORE_set_verify_cb_func.pod +++ b/doc/man3/X509_STORE_set_verify_cb_func.pod @@ -264,7 +264,7 @@ were added in OpenSSL 1.1.0. =head1 COPYRIGHT -Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2009-2020 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 diff --git a/doc/man3/X509_VERIFY_PARAM_set_flags.pod b/doc/man3/X509_VERIFY_PARAM_set_flags.pod index b458c282..27e0a739 100644 --- a/doc/man3/X509_VERIFY_PARAM_set_flags.pod +++ b/doc/man3/X509_VERIFY_PARAM_set_flags.pod @@ -376,7 +376,7 @@ The X509_VERIFY_PARAM_get_hostflags() function was added in OpenSSL 1.1.0i. =head1 COPYRIGHT -Copyright 2009-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2009-2020 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 diff --git a/doc/man3/X509_check_ca.pod b/doc/man3/X509_check_ca.pod index 89adb2e3..e070fb40 100644 --- a/doc/man3/X509_check_ca.pod +++ b/doc/man3/X509_check_ca.pod @@ -37,7 +37,7 @@ L =head1 COPYRIGHT -Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015-2020 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 diff --git a/doc/man3/X509_check_purpose.pod b/doc/man3/X509_check_purpose.pod index e44a9ea1..bc381387 100644 --- a/doc/man3/X509_check_purpose.pod +++ b/doc/man3/X509_check_purpose.pod @@ -66,7 +66,7 @@ For CA checks the below integers could be returned with the following meanings: =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 L. diff --git a/doc/man3/X509_digest.pod b/doc/man3/X509_digest.pod index dfddd12e..36af772c 100644 --- a/doc/man3/X509_digest.pod +++ b/doc/man3/X509_digest.pod @@ -70,7 +70,7 @@ The X509_digest_sig() function was added in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2020 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 diff --git a/doc/man3/X509_dup.pod b/doc/man3/X509_dup.pod index cb1e9edf..16c99357 100644 --- a/doc/man3/X509_dup.pod +++ b/doc/man3/X509_dup.pod @@ -348,7 +348,7 @@ B_print_ctx>() returns 1 on success or zero on failure. =head1 COPYRIGHT -Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016-2020 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 diff --git a/doc/man3/X509_get0_distinguishing_id.pod b/doc/man3/X509_get0_distinguishing_id.pod index 2dd06e71..20a67410 100644 --- a/doc/man3/X509_get0_distinguishing_id.pod +++ b/doc/man3/X509_get0_distinguishing_id.pod @@ -61,7 +61,7 @@ L, L =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man3/X509_get0_signature.pod b/doc/man3/X509_get0_signature.pod index eb3ebd1c..0d251a00 100644 --- a/doc/man3/X509_get0_signature.pod +++ b/doc/man3/X509_get0_signature.pod @@ -2,10 +2,10 @@ =head1 NAME -X509_get0_signature, X509_get_signature_nid, X509_get0_tbs_sigalg, -X509_REQ_get0_signature, X509_REQ_get_signature_nid, X509_CRL_get0_signature, -X509_CRL_get_signature_nid, X509_get_signature_info, X509_SIG_INFO_get, -X509_SIG_INFO_set - signature information +X509_get0_signature, X509_REQ_set0_signature, X509_REQ_set1_signature_algo, +X509_get_signature_nid, X509_get0_tbs_sigalg, X509_REQ_get0_signature, +X509_REQ_get_signature_nid, X509_CRL_get0_signature, X509_CRL_get_signature_nid, +X509_get_signature_info, X509_SIG_INFO_get, X509_SIG_INFO_set - signature information =head1 SYNOPSIS @@ -14,6 +14,8 @@ X509_SIG_INFO_set - signature information void X509_get0_signature(const ASN1_BIT_STRING **psig, const X509_ALGOR **palg, const X509 *x); + void X509_REQ_set0_signature(X509_REQ *req, ASN1_BIT_STRING *psig); + int X509_REQ_set1_signature_algo(X509_REQ *req, X509_ALGOR *palg); int X509_get_signature_nid(const X509 *x); const X509_ALGOR *X509_get0_tbs_sigalg(const X509 *x); @@ -41,6 +43,9 @@ X509_get0_signature() sets B<*psig> to the signature of B and B<*palg> to the signature algorithm of B. The values returned are internal pointers which B be freed up after the call. +X509_set0_signature() and X509_REQ_set1_signature_algo() are the +equivalent setters for the two values of X509_get0_signature(). + X509_get0_tbs_sigalg() returns the signature algorithm in the signed portion of B. @@ -88,6 +93,10 @@ X509_get_signature_info() returns 1 if the signature information returned is valid or 0 if the information is not available (e.g. unknown algorithms or malformed parameters). +X509_REQ_set1_signature_algo() returns 0 on success; or 1 on an +error (e.g. null ALGO pointer). X509_REQ_set0_signature does +not return an error value. + =head1 SEE ALSO L, @@ -118,9 +127,12 @@ X509_REQ_get0_signature(), X509_REQ_get_signature_nid(), X509_CRL_get0_signature() and X509_CRL_get_signature_nid() were added in OpenSSL 1.1.0. +The X509_REQ_set0_signature() and X509_REQ_set1_signature_algo() +were added in OpenSSL 1.1.1e. + =head1 COPYRIGHT -Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015-2020 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 diff --git a/doc/man3/X509_get_subject_name.pod b/doc/man3/X509_get_subject_name.pod index 3b52d370..a9c8fb1d 100644 --- a/doc/man3/X509_get_subject_name.pod +++ b/doc/man3/X509_get_subject_name.pod @@ -76,7 +76,7 @@ added in OpenSSL 1.0.0 as a macro. =head1 COPYRIGHT -Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015-2020 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 diff --git a/doc/man3/X509_sign.pod b/doc/man3/X509_sign.pod index ffc44413..ccce5f57 100644 --- a/doc/man3/X509_sign.pod +++ b/doc/man3/X509_sign.pod @@ -2,9 +2,10 @@ =head1 NAME -X509_sign, X509_sign_ctx, X509_verify, X509_REQ_sign, X509_REQ_sign_ctx, -X509_REQ_verify, X509_CRL_sign, X509_CRL_sign_ctx, X509_CRL_verify - -sign or verify certificate, certificate request or CRL signature +X509_sign, X509_sign_ctx, X509_verify_ex, X509_verify, X509_REQ_sign, +X509_REQ_sign_ctx, X509_REQ_verify_ex, X509_REQ_verify, X509_CRL_sign, +X509_CRL_sign_ctx, X509_CRL_verify +- sign or verify certificate, certificate request or CRL signature =head1 SYNOPSIS @@ -12,27 +13,35 @@ sign or verify certificate, certificate request or CRL signature int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); int X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx); - int X509_verify(X509 *a, EVP_PKEY *r); + int X509_verify_ex(X509 *x, EVP_PKEY *pkey, OPENSSL_CTX *libctx, const char *propq); + int X509_verify(X509 *x, EVP_PKEY *pkey; int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md); int X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx); - int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r); + int X509_REQ_verify_ex(X509_REQ *a, EVP_PKEY *pkey, OPENSSL_CTX *libctx, + const char *propq); + int X509_REQ_verify(X509_REQ *a, EVP_PKEY *pkey); int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md); int X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx); - int X509_CRL_verify(X509_CRL *a, EVP_PKEY *r); + int X509_CRL_verify(X509_CRL *a, EVP_PKEY *pkey); =head1 DESCRIPTION -X509_sign() signs certificate B using private key B and message -digest B and sets the signature in B. X509_sign_ctx() also signs -certificate B but uses the parameters contained in digest context B. +X509_sign() signs certificate I using private key I and message +digest I and sets the signature in I. X509_sign_ctx() also signs +certificate I but uses the parameters contained in digest context I. -X509_verify() verifies the signature of certificate B using public key -B. Only the signature is checked: no other checks (such as certificate -chain validity) are performed. +X509_verify_ex() verifies the signature of certificate I using public key +I. Any cryptographic algorithms required for the verification are fetched +using the library context I and the property query string I. Only +the signature is checked: no other checks (such as certificate chain validity) +are performed. -X509_REQ_sign(), X509_REQ_sign_ctx(), X509_REQ_verify(), +X509_verify() is the same as X509_verify_ex() except that the default library +context and property query string are used. + +X509_REQ_sign(), X509_REQ_sign_ctx(), X509_REQ_verify_ex(), X509_REQ_verify(), X509_CRL_sign(), X509_CRL_sign_ctx() and X509_CRL_verify() sign and verify certificate requests and CRLs respectively. @@ -55,10 +64,10 @@ X509_sign(), X509_sign_ctx(), X509_REQ_sign(), X509_REQ_sign_ctx(), X509_CRL_sign() and X509_CRL_sign_ctx() return the size of the signature in bytes for success and zero for failure. -X509_verify(), X509_REQ_verify() and X509_CRL_verify() return 1 if the -signature is valid and 0 if the signature check fails. If the signature -could not be checked at all because it was invalid or some other error -occurred then -1 is returned. +X509_verify_ex(), X509_verify(), X509_REQ_verify_ex(), X509_REQ_verify() and +X509_CRL_verify() return 1 if the signature is valid and 0 if the signature +check fails. If the signature could not be checked at all because it was invalid +or some other error occurred then -1 is returned. =head1 SEE ALSO @@ -77,7 +86,8 @@ L, L, L, L, -L +L, +L =head1 HISTORY @@ -87,9 +97,11 @@ available in all versions of OpenSSL. The X509_sign_ctx(), X509_REQ_sign_ctx() and X509_CRL_sign_ctx() functions were added OpenSSL 1.0.1. +X509_verify_ex() and X509_REQ_verify_ex() were added in OpenSSL 3.0. + =head1 COPYRIGHT -Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015-2020 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 diff --git a/doc/man3/X509_verify_cert.pod b/doc/man3/X509_verify_cert.pod index 1d874c4f..9368dc7e 100644 --- a/doc/man3/X509_verify_cert.pod +++ b/doc/man3/X509_verify_cert.pod @@ -49,7 +49,7 @@ L =head1 COPYRIGHT -Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2009-2020 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 diff --git a/doc/man3/d2i_PrivateKey.pod b/doc/man3/d2i_PrivateKey.pod index 4b7a326c..591fa83c 100644 --- a/doc/man3/d2i_PrivateKey.pod +++ b/doc/man3/d2i_PrivateKey.pod @@ -2,21 +2,29 @@ =head1 NAME -d2i_PrivateKey, d2i_PublicKey, d2i_KeyParams, d2i_AutoPrivateKey, -i2d_PrivateKey, i2d_PublicKey, i2d_KeyParams, i2d_KeyParams_bio, -d2i_PrivateKey_bio, d2i_PrivateKey_fp, d2i_KeyParams_bio +d2i_PrivateKey_ex, d2i_PrivateKey, d2i_PublicKey, d2i_KeyParams, +d2i_AutoPrivateKey_ex, d2i_AutoPrivateKey, i2d_PrivateKey, i2d_PublicKey, +i2d_KeyParams, i2d_KeyParams_bio, d2i_PrivateKey_ex_bio, d2i_PrivateKey_bio, +d2i_PrivateKey_ex_fp, d2i_PrivateKey_fp, d2i_KeyParams_bio, i2d_PrivateKey_bio, +i2d_PrivateKey_fp - decode and encode functions for reading and saving EVP_PKEY structures =head1 SYNOPSIS #include + EVP_PKEY *d2i_PrivateKey_ex(int type, EVP_PKEY **a, const unsigned char **pp, + long length, OPENSSL_CTX *libctx, + const char *propq); EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, long length); EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, long length); EVP_PKEY *d2i_KeyParams(int type, EVP_PKEY **a, const unsigned char **pp, long length); + EVP_PKEY *d2i_AutoPrivateKey_ex(EVP_PKEY **a, const unsigned char **pp, + long length, OPENSSL_CTX *libctx, + const char *propq); EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, long length); @@ -24,28 +32,54 @@ d2i_PrivateKey_bio, d2i_PrivateKey_fp, d2i_KeyParams_bio int i2d_PublicKey(const EVP_PKEY *a, unsigned char **pp); int i2d_KeyParams(const EVP_PKEY *a, unsigned char **pp); int i2d_KeyParams_bio(BIO *bp, const EVP_PKEY *pkey); - - EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a); - EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a) EVP_PKEY *d2i_KeyParams_bio(int type, EVP_PKEY **a, BIO *in); + + #include + + EVP_PKEY *d2i_PrivateKey_ex_bio(BIO *bp, EVP_PKEY **a, OPENSSL_CTX *libctx, + const char *propq); + EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a); + EVP_PKEY *d2i_PrivateKey_ex_fp(FILE *fp, EVP_PKEY **a, OPENSSL_CTX *libctx, + const char *propq); + EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a) + + int i2d_PrivateKey_bio(BIO *bp, const EVP_PKEY *pkey); + int i2d_PrivateKey_fp(FILE *fp, const EVP_PKEY *pkey); + =head1 DESCRIPTION -d2i_PrivateKey() decodes a private key using algorithm B. It attempts to -use any key specific format or PKCS#8 unencrypted PrivateKeyInfo format. The -B parameter should be a public key algorithm constant such as -B. An error occurs if the decoded key does not match B. +d2i_PrivateKey_ex() decodes a private key using algorithm I. It attempts +to use any key specific format or PKCS#8 unencrypted PrivateKeyInfo format. The +I parameter should be a public key algorithm constant such as +B. An error occurs if the decoded key does not match I. Some +private key decoding implementations may use cryptographic algorithms (for +example to automatically derive the public key if it is not explicitly +included in the encoding). In this case the supplied library context I +and property query string I are used. +d2i_PrivateKey() does the same as d2i_PrivateKey_ex() except that the default +library context and property query string are used. d2i_PublicKey() does the same for public keys. d2i_KeyParams() does the same for key parameters. -d2i_AutoPrivateKey() is similar to d2i_PrivateKey() except it attempts to -automatically detect the private key format. +The d2i_PrivateKey_ex_bio() and d2i_PrivateKey_bio() functions are similar to +d2i_PrivateKey_ex() and d2i_PrivateKey() respectively except that they decode +the data read from the given BIO. The d2i_PrivateKey_ex_fp() and +d2i_PrivateKey_fp() functions are the same except that they read the data from +the given FILE. -i2d_PrivateKey() encodes B. It uses a key specific format or, if none is +d2i_AutoPrivateKey_ex() and d2i_AutoPrivateKey() are similar to +d2i_PrivateKey_ex() and d2i_PrivateKey() respectively except that they attempt +to automatically detect the private key format. + +i2d_PrivateKey() encodes I. It uses a key specific format or, if none is defined for that key type, PKCS#8 unencrypted PrivateKeyInfo format. i2d_PublicKey() does the same for public keys. i2d_KeyParams() does the same for key parameters. These functions are similar to the d2i_X509() functions; see L. +i2d_PrivateKey_bio() and i2d_PrivateKey_fp() do the same thing except that they +encode to a B or B respectrively. Again, these work similarly to the +functions described in L. =head1 NOTES @@ -53,33 +87,41 @@ All these functions use DER format and unencrypted keys. Applications wishing to encrypt or decrypt private keys should use other functions such as d2i_PKCS8PrivateKey() instead. -If the B<*a> is not NULL when calling d2i_PrivateKey() or d2i_AutoPrivateKey() +If the I<*a> is not NULL when calling d2i_PrivateKey() or d2i_AutoPrivateKey() (i.e. an existing structure is being reused) and the key format is PKCS#8 -then B<*a> will be freed and replaced on a successful call. +then I<*a> will be freed and replaced on a successful call. -To decode a key with type B, d2i_PublicKey() requires B<*a> to be +To decode a key with type B, d2i_PublicKey() requires I<*a> to be a non-NULL EVP_PKEY structure assigned an EC_KEY structure referencing the proper EC_GROUP. =head1 RETURN VALUES -The d2i_PrivateKey(), d2i_AutoPrivateKey(), d2i_PrivateKey_bio(), d2i_PrivateKey_fp(), -d2i_PublicKey(), d2i_KeyParams() and d2i_KeyParams_bio() functions return a valid -B structure or B if an error occurs. The error code can be -obtained by calling L. +The d2i_PrivateKey_ex(), d2i_PrivateKey(), d2i_AutoPrivateKey_ex(), +d2i_AutoPrivateKey(), d2i_PrivateKey_ex_bio(), d2i_PrivateKey_bio(), +d2i_PrivateKey_ex_fp(), d2i_PrivateKey_fp(), d2i_PublicKey(), d2i_KeyParams() +and d2i_KeyParams_bio() functions return a valid B structure or B +if an error occurs. The error code can be obtained by calling +L. -i2d_PrivateKey(), i2d_PublicKey(), i2d_KeyParams() i2d_KeyParams_bio() return -the number of bytes successfully encoded or a negative value if an error occurs. -The error code can be obtained by calling L. +i2d_PrivateKey(), i2d_PrivateKey_bio(), i2d_PrivateKey_fp(), i2d_PublicKey(), +i2d_KeyParams() i2d_KeyParams_bio() return the number of bytes successfully +encoded or a negative value if an error occurs. The error code can be obtained +by calling L. =head1 SEE ALSO L, L +=head1 HISTORY + +d2i_PrivateKey_ex(), d2i_PrivateKey_ex_bio(), d2i_PrivateKey_ex_fp(), and +d2i_AutoPrivateKey_ex() were added in OpenSSL 3.0. + =head1 COPYRIGHT -Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2020 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 diff --git a/doc/man3/d2i_X509.pod b/doc/man3/d2i_X509.pod index 35475738..03548b23 100644 --- a/doc/man3/d2i_X509.pod +++ b/doc/man3/d2i_X509.pod @@ -643,7 +643,7 @@ efficiency reasons. =head1 COPYRIGHT -Copyright 1998-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 1998-2020 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 diff --git a/doc/man5/config.pod b/doc/man5/config.pod index 98b8cd33..14b80e0b 100644 --- a/doc/man5/config.pod +++ b/doc/man5/config.pod @@ -6,316 +6,259 @@ config - OpenSSL CONF library configuration files =head1 DESCRIPTION -The OpenSSL CONF library can be used to read configuration files. -It is used for the OpenSSL master configuration file B -and in a few other places like B files and certificate extension -files for the B utility. OpenSSL applications can also use the -CONF library for their own purposes. +This page documents the syntax of OpenSSL configuration files, +as parsed by L and related functions. +This format is used by many of the OpenSSL commands, and to +initialize the libraries when used by any application. -A configuration file is divided into a number of sections. Each section -starts with a line C<[section_name]> and ends when a new section is -started or end of file is reached. A section name can consist of -alphanumeric characters and underscores. The brackets are required. +The first part describes the general syntax of the configuration +files, and subsequent sections describe the semantics of individual +modules. Other modules are described in L and +L. +The syntax for defining ASN.1 values is described in +L. -The first section of a configuration file is special and is referred -to as the B section. This section is usually unnamed and spans from the -start of file until the first named section. When a name is being looked up -it is first looked up in a named section (if any) and then the -default section. +=head1 SYNTAX + +A configuration file is a series of lines. Blank lines, and whitespace +between the elements of a line, have no significance. A comment starts +with a B<#> character; the rest of the line is ignored. If the B<#> +is the first non-space character in a line, the entire line is ignored. + +=head2 Directives + +Two directives can be used to control the parsing of configuration files: +B<.include> and B<.pragma>. + +For compatibility with older versions of OpenSSL, an equal sign after the +directive will be ignored. Older versions will treat it as an assignment, +so care should be taken if the difference in semantics is important. + +A file can include other files using the include syntax: + + .include [=] pathname + +If B is a simple filename, that file is included directly at +that point. Included files can have B<.include> statements that specify +other files. If B is a directory, all files within that directory +that have a C<.cnf> or C<.conf> extension will be included. (This is only +available on systems with POSIX IO support.) Any sub-directories found +inside the B are B. Similarly, if a file is opened +while scanning a directory, and that file has an B<.include> directive +that specifies a directory, that is also ignored. + +As a general rule, the B should be an absolute path. Relative +paths are evaluated based on the current working directory, so unless the +file with the B<.include> directive is application-specific, the inclusion +will not work as expected. The environment variable B, +if it exists, will be prepended to all B<.include> B's. + +In these files, the dollar sign, B<$>, is used to reference a variable, as +described below. On some platforms, however, it is common to treat B<$> +as a regular character in symbol names. Supporting this behavior can be +done with the following directive: + + .pragma [=] dollarid:value + +Where B is one of the following: + +=over 4 + +=item B or B + +This is the default behavior. For example, C is interpreted as +C followed by the expansion of the variable C. + +=item B or B + +This specifies that dollar signs are part of the symbol name and +variable expansions must be specified using braces or parentheses. +For example, C is treated as a single seven-character name. + +=back + +=head2 Settings + +A configuration file is divided into a number of I. A section +begins with the section name in square brackets, and ends when a new +section starts, or at the end of the file. The section name can consist +of alphanumeric characters and underscores. +Whitespace between the name and the brackets is removed. + +The first section of a configuration file is special and is referred to +as the B section. This section is usually unnamed and spans from +the start of file until the first named section. When a name is being +looked up, it is first looked up in the current or named section, +and then the default section if necessary. The environment is mapped onto a section called B. -Comments can be included by preceding them with the B<#> character +Within a section are a series of name/value assignments, described in more +detail below. As a reminder, the square brackets shown in this example +are required, not optional: -Other files can be included using the B<.include> directive followed -by a path. If the path points to a directory all files with -names ending with B<.cnf> or B<.conf> are included from the directory. -Recursive inclusion of directories from files in such directory is not -supported. That means the files in the included directory can also contain -B<.include> directives but only inclusion of regular files is supported -there. The inclusion of directories is not supported on systems without -POSIX IO support. + [ section ] + name1 = This is value1 + name2 = Another value + ... + [ newsection ] + name1 = New value1 + name3 = Value 3 -It is strongly recommended to use absolute paths with the B<.include> -directive. Relative paths are evaluated based on the application current -working directory so unless the configuration file containing the -B<.include> directive is application specific the inclusion will not -work as expected. The environment variable B can also be -used to specify the path to prepend to all .include paths. +The B can contain any alphanumeric characters as well as a few +punctuation symbols such as B<.> B<,> B<;> and B<_>. +Whitespace after the name and before the equal sign is ignored. -There can be optional B<=> character and whitespace characters between -B<.include> directive and the path which can be useful in cases the -configuration file needs to be loaded by old OpenSSL versions which do -not support the B<.include> syntax. They would bail out with error -if the B<=> character is not present but with it they just ignore -the include. +If a name is repeated in the same section, then all but the last +value are ignored. In certain circumstances, such as with +Certificate DNs, the same field may occur multiple times. +In order to support this, commands like L ignore any +leading text that is preceeded with a period. For example: -Pragmas can be specified with the B<.pragma> directive. -See L for more information. + 1.OU = First OU + 2.OU = Second OU -Each section in a configuration file consists of a number of name and -value pairs of the form B +The B consists of the string following the B<=> character until end +of line with any leading and trailing white space removed. -The B string can contain any alphanumeric characters as well as -a few punctuation symbols such as B<.> B<,> B<;> and B<_>. +The value string undergoes variable expansion. The text C<$var> or C<${var}> +inserts the value of the named variable from the current section. +To use a value from another section use C<$section::name> +or C<${section::name}>. +By using C<$ENV::name>, the value of the specified environment +variable will be substituted. -The B string consists of the string following the B<=> character -until end of line with any leading and trailing white space removed. +Variables must be defined before their value is referenced, otherwise +an error is flagged and the file will not load. +This can be worked around by specifying a default value in the B +section before the variable is used. -The value string undergoes variable expansion. This can be done by -including the form B<$var> or B<${var}>: this will substitute the value -of the named variable in the current section. It is also possible to -substitute a value from another section using the syntax B<$section::name> -or B<${section::name}>. By using the form B<$ENV::name> environment -variables can be substituted. It is also possible to assign values to -environment variables by using the name B, this will work -if the program looks up environment variables using the B library -instead of calling getenv() directly. The value string must not exceed 64k in -length after variable expansion. Otherwise an error will occur. +Any name/value settings in an B section are available +to the configuration file, but are not propagated to the environment. -It is possible to escape certain characters by using any kind of quote -or the B<\> character. By making the last character of a line a B<\> +It is an error if the value ends up longer than 64k. + +It is possible to escape certain characters by using a single B<'> or +double B<"> quote around the value, or using a backslash B<\> before the +character, +By making the last character of a line a B<\> a B string can be spread across multiple lines. In addition the sequences B<\n>, B<\r>, B<\b> and B<\t> are recognized. -All expansion and escape rules as described above that apply to B -also apply to the path of the B<.include> directive. - -=head1 PRAGMAS - -Pragmas can be used to change the behavior of the configuration file -parser, among others. Currently supported pragmas are: - -=over 4 - -=item B<.pragma> B:I - -I can be one of: - -=over 4 - -=item B<"on"> or B<"true"> - -this signifies that dollar signs are considered an identity character -from this point on and that variable expansion requires the use of -braces or parentheses. In other words, C will be considered -a name instead of C followed by the expansion of the variable -C. -This is suitable for platforms where the dollar sign is commonly used -as part of names. - -=item B<"off"> or B<"false"> - -Turns this pragma off, i.e. C will be interpreted as C -followed by the expansion of the variable C. - -=back - -By default, this pragma is turned off. - -=back +The expansion and escape rules as described above that apply to B +also apply to the pathname of the B<.include> directive. =head1 OPENSSL LIBRARY CONFIGURATION -Applications can automatically configure certain -aspects of OpenSSL using the master OpenSSL configuration file, or optionally -an alternative configuration file. The B utility includes this -functionality: any sub command uses the master OpenSSL configuration file -unless an option is used in the sub command to use an alternative configuration -file. +The sections below use the informal term I to refer to a part +of the OpenSSL functionality. This is not the same as the formal term +I, for example. -To enable library configuration the default section needs to contain an -appropriate line which points to the main configuration section. The default -name is B which is used by the B utility. Other -applications may use an alternative name such as B. -All library configuration lines appear in the default section at the start -of the configuration file. - -The configuration section should consist of a set of name value pairs which -contain specific module configuration information. The B represents -the name of the I. The meaning of the B is -module specific: it may, for example, represent a further configuration -section containing configuration module specific information. E.g.: +The OpenSSL configuration looks up the value of B +in the default section and takes that as the name of a section that specifies +how to configure any modules in the library. It is not an error to leave +any module in its default configuration. An application can specify a +different name by calling CONF_modules_load_file(), for example, directly. # This must be in the default section openssl_conf = openssl_init [openssl_init] + oid_section = oids + providers = providers + alg_section = evp_properties + ssl_conf = ssl_configuration + engines = engines - oid_section = new_oids - engines = engine_section - providers = provider_section - - [new_oids] - + [oids] ... new oids here ... - [engine_section] - - ... engine stuff here ... - - [provider_section] - + [providers] ... provider stuff here ... -The features of each configuration module are described below. + [evp_properties] + ... EVP properties here ... -=head2 ASN1 Object Configuration Module + [ssl_configuration] + ... SSL/TLS configuration properties here ... -This module has the name B. The value of this variable points -to a section containing name value pairs of OIDs: the name is the OID short -and long name, the value is the numerical form of the OID. Although some of -the B utility sub commands already have their own ASN1 OBJECT section -functionality not all do. By using the ASN1 OBJECT configuration module -B the B utility sub commands can see the new objects as well -as any compliant applications. For example: + [engines] + ... engine properties here ... - [new_oids] +The semantics of each module are described below. The phrase "in the +initialization section" refers to the section identified by the +B or other name (given as B in the +example above). The examples below assume the configuration above +is used to specify the individual sections. - some_new_oid = 1.2.3.4 +=head2 ASN.1 Object Identifier Configuration + +The name B in the initialization section names the section +containing name/value pairs of OID's. +The name is the short name; the value is an optional long name followed +by a comma, and the numeric value. +While some OpenSSL commands have their own section for specifying OID's, +this section makes them avilable to all commands and applications. + + [oids] + shortName = a very long OID name, 1.2.3.4 + newoid1 = 1.2.3.4.1 some_other_oid = 1.2.3.5 -It is also possible to set the value to the long name followed -by a comma and the numerical OID form. For example: +If a full configuration with the above fragment is in the file +F, then the following command line: - shortName = some object long name, 1.2.3.4 + OPENSSL_CONF=example.cnf openssl asn1parse -genstr OID:1.2.3.4.1 -=head2 Engine Configuration Module +will output: -This ENGINE configuration module has the name B. The value of this -variable points to a section containing further ENGINE configuration -information. + 0:d=0 hl=2 l= 4 prim: OBJECT :newoid1 -The section pointed to by B is a table of engine names (though see -B below) and further sections containing configuration information -specific to each ENGINE. +showing that the OID "newoid1" has been added as "1.2.3.4.1". -Each ENGINE specific section is used to set default algorithms, load -dynamic, perform initialization and send ctrls. The actual operation performed -depends on the I name which is the name of the name value pair. The -currently supported commands are listed below. +=head2 Provider Configuration -For example: +The name B in the initialization section names the section +containing cryptographic provider configuration. The name/value assignments +in this section each name a provider, and point to the configuration section +for that provider. The provider-specific section is used to specify how +to load the module, activate it, and set other parameters. - [engine_section] +Within a provider section, the following names have meaning: - # Configure ENGINE named "foo" - foo = foo_section - # Configure ENGINE named "bar" - bar = bar_section +=over 4 - [foo_section] - ... foo ENGINE specific commands ... +=item B - [bar_section] - ... "bar" ENGINE specific commands ... +This is used to specify an alternate name, overriding the default name +specified in the list of providers. For example: -The command B is used to give the ENGINE name. If used this -command must be first. For example: + [providers] + foo = foo_provider - [engine_section] - # This would normally handle an ENGINE named "foo" - foo = foo_section + [foo_provider] + identity = my_fips_module - [foo_section] - # Override default name and use "myfoo" instead. - engine_id = myfoo +=item B -The command B loads and adds an ENGINE from the given path. It -is equivalent to sending the ctrls B with the path argument followed -by B with value 2 and B to the dynamic ENGINE. If this is -not the required behaviour then alternative ctrls can be sent directly -to the dynamic ENGINE using ctrl commands. +Specifies the pathname of the module (typically a shared library) to load. -The command B determines whether to initialize the ENGINE. If the value -is B<0> the ENGINE will not be initialized, if B<1> and attempt it made to -initialized the ENGINE immediately. If the B command is not present -then an attempt will be made to initialize the ENGINE after all commands in -its section have been processed. +=item B -The command B sets the default algorithms an ENGINE will -supply using the functions ENGINE_set_default_string(). +If present, the module is activated. The value assigned to this name is not +significant. -If the name matches none of the above command names it is assumed to be a -ctrl command which is sent to the ENGINE. The value of the command is the -argument to the ctrl command. If the value is the string B then no -value is sent to the command. - -For example: - - - [engine_section] - - # Configure ENGINE named "foo" - foo = foo_section - - [foo_section] - # Load engine from DSO - dynamic_path = /some/path/fooengine.so - # A foo specific ctrl. - some_ctrl = some_value - # Another ctrl that doesn't take a value. - other_ctrl = EMPTY - # Supply all default algorithms - default_algorithms = ALL - -=head2 Provider Configuration Module - -This provider configuration module has the name B. The -value of this variable points to a section containing further provider -configuration information. - -The section pointed to by B is a table of provider names -(though see B below) and further sections containing -configuration information specific to each provider module. - -Each provider specific section is used to load its module, perform -activation and set parameters to pass to the provider on demand. The -actual operation performed depends on the name of the name value pair. -The currently supported commands are listed below. - -For example: - - [provider_section] - - # Configure provider named "foo" - foo = foo_section - # Configure provider named "bar" - bar = bar_section - - [foo_section] - ... "foo" provider specific parameters ... - - [bar_section] - ... "bar" provider specific parameters ... - -The command B is used to give the provider name. For example: - - [provider_section] - # This would normally handle a provider named "foo" - foo = foo_section - - [foo_section] - # Override default name and use "myfoo" instead. - identity = myfoo - -The parameter B loads and adds a provider module from the -given module path. That path may be a simple filename, a relative -path or an absolute path. - -The parameter B determines whether to activate the -provider. The value has no importance, the presence of the parameter -is enough for activation to take place. +=back All parameters in the section as well as sub-sections are made available to the provider. -=head2 EVP Configuration Module +=head2 EVP Configuration -This module has the name B which points to a section containing -algorithm commands. +The name B in the initialization section names the section +containing algorithmic properties when using the B API. -The supported algorithm commands are: +Within the algorithm properties section, the following names have meaning: =over 4 @@ -329,197 +272,157 @@ string for EVP_set_default_properties(). The value is a boolean that can be B or B. If the value is B, this is exactly equivalent to: - default_properties = fips=yes + default_properties = fips=yes -If the value is B, nothing happens. +If the value is B, nothing happens. Using this name is deprecated, and +if used, it must be the only name in the section. =back -These two commands should not be used together, as there is no control -over how they affect each other. -The use of B is strongly discouraged and is only present -for backward compatibility with earlier OpenSSL FIPS modules. +=head2 SSL Configuration -=head2 SSL Configuration Module +The name B in the initialization section names the section +containing the list of SSL/TLS configurations. +As with the providers, each name in this section identifies a +section with the configuration for that name. For example: -This module has the name B which points to a section containing -SSL configurations. + [ssl_configuration] + server = server_tls_config + client = client_tls_config + system_default = tls_system_default -Each line in the SSL configuration section contains the name of the -configuration and the section containing it. + [server_tls_config] + ... configuration for SSL/TLS servers ... -Each configuration section consists of command value pairs for B. -Each pair will be passed to a B or B structure if it calls -SSL_CTX_config() or SSL_config() with the appropriate configuration name. + [client_tls_config] + ... configuration for SSL/TLS clients ... -Note: any characters before an initial dot in the configuration section are -ignored so the same command can be used multiple times. - -For example: - - ssl_conf = ssl_sect - - [ssl_sect] - - server = server_section - - [server_section] - - RSA.Certificate = server-rsa.pem - ECDSA.Certificate = server-ecdsa.pem - Ciphers = ALL:!RC4 - -The system default configuration with name B if present will -be applied during any creation of the B structure. - -Example of a configuration with the system default: - - ssl_conf = ssl_sect - - [ssl_sect] - - system_default = system_default_sect - - [system_default_sect] +The configuration name B has a special meaning. If it +exists, it is applied whenever an B object is created. For example, +to impose a system-wide minimum on protocol version: + [tls_system_default] MinProtocol = TLSv1.2 +Each configuration section consists of name/value pairs that are parsed +by B, which will be called by SSL_CTX_config() or +SSL_config(), appropriately. Note that any characters before an initial +dot in the configuration section are ignored, so that the same command can +be used multiple times. This probably is most useful for loading different +key types, as shown here: -=head1 NOTES + [server_tls_config] + RSA.Certificate = server-rsa.pem + ECDSA.Certificate = server-ecdsa.pem -If a configuration file attempts to expand a variable that doesn't exist -then an error is flagged and the file will not load. This can happen -if an attempt is made to expand an environment variable that doesn't -exist. For example in a previous version of OpenSSL the default OpenSSL -master configuration file used the value of B which may not be -defined on non Unix systems and would cause an error. +=head2 Engine Configuration -This can be worked around by including a B section to provide -a default value: then if the environment lookup fails the default value -will be used instead. For this to work properly the default value must -be defined earlier in the configuration file than the expansion. See -the B section for an example of how to do this. +The name B in the initialization section names the section +containing the list of ENGINE configurations. +As with the providers, each name in this section identifies an engine +with the configuration for that engine. +The engine-specific section is used to specify how to load the engine, +activate it, and set other parameters. -If the same variable exists in the same section then all but the last -value will be silently ignored. In certain circumstances such as with -DNs the same field may occur multiple times. This is usually worked -around by ignoring any characters before an initial B<.> e.g. +Within an engine section, the following names have meaning: - 1.OU="My first OU" - 2.OU="My Second OU" +=over 4 + +=item B + +This is used to specify an alternate name, overriding the default name +specified in the list of engines. If present, it must be first. +For example: + + [engines] + foo = foo_engine + + [foo_engine] + engine_id = myfoo + +=item B + +This loads and adds an ENGINE from the given path. It is equivalent to +sending the ctrls B with the path argument followed by B +with value B<2> and B to the dynamic ENGINE. If this is not the +required behaviour then alternative ctrls can be sent directly to the +dynamic ENGINE using ctrl commands. + +=item B + +This specifies whether to initialize the ENGINE. If the value is B<0> the +ENGINE will not be initialized, if the value is B<1> an attempt is made +to initialize +the ENGINE immediately. If the B command is not present then an +attempt will be made to initialize the ENGINE after all commands in its +section have been processed. + +=item B + +This sets the default algorithms an ENGINE will supply using the function +ENGINE_set_default_string(). + +=back + +All other names are taken to be the name of a ctrl command that is +sent to the ENGINE, and the value is the argument passed with the command. +The special value B means no value is sent with the command. +For example: + + [engines] + foo = foo_engine + + [foo_engine] + dynamic_path = /some/path/fooengine.so + some_ctrl = some_value + default_algorithms = ALL + other_ctrl = EMPTY =head1 EXAMPLES -Here is a sample configuration file using some of the features -mentioned above. +This example shows how to use quoting and escaping. # This is the default section. - - HOME=/temp - configdir=$ENV::HOME/config + HOME = /temp + configdir = $ENV::HOME/config [ section_one ] - - # We are now in section one. - # Quotes permit leading and trailing whitespace any = " any variable name " - other = A string that can \ cover several lines \ by including \\ characters - message = Hello World\n [ section_two ] - greeting = $section_one::message -This next example shows how to expand environment variables safely. +This example shows how to expand environment variables safely. +In this example, the variable B is intended to refer +to a temporary file, and the environment variable B or +B, if present, specify the directory where the file +should be put. +Since the default section is checked if a variable does not +exist, it is possible to set B to default to F, and +B to default to B. -Suppose you want a variable called B to refer to a -temporary filename. The directory it is placed in can determined by -the B or B environment variables but they may not be -set to any value at all. If you just include the environment variable -names and the variable doesn't exist then this will cause an error when -an attempt is made to load the configuration file. By making use of the -default section both values can be looked up with B taking -priority and B used if neither is defined: + # These two lines must be in the default section. + TMP = /tmp + TEMP = $ENV::TMP - TMP=/tmp - # The above value is used if TMP isn't in the environment - TEMP=$ENV::TMP - # The above value is used if TEMP isn't in the environment - tmpfile=${ENV::TEMP}/tmp.filename + # This can be used anywhere + tmpfile = ${ENV::TEMP}/tmp.filename -Simple OpenSSL library configuration example to enter FIPS mode: +This example shows how to enforce FIPS mode for the application +F. - # Default appname: should match "appname" parameter (if any) - # supplied to CONF_modules_load_file_with_libctx et al. - openssl_conf = openssl_conf_section + sample = fips_config - [openssl_conf_section] - # Configuration module list - alg_section = evp_sect + [fips_config] + alg_section = evp_properties - [evp_sect] - # Set to "yes" to enter FIPS mode if supported - fips_mode = yes - -Note: in the above example you will get an error in non FIPS capable versions -of OpenSSL. - -Simple OpenSSL library configuration to make TLS 1.3 the system-default -minimum TLS version: - - # Toplevel section for openssl (including libssl) - openssl_conf = default_conf_section - - [default_conf_section] - # We only specify configuration for the "ssl module" - ssl_conf = ssl_section - - [ssl_section] - system_default = system_default_section - - [system_default_section] - MinProtocol = TLSv1.3 - -More complex OpenSSL library configuration. Add OID and don't enter FIPS mode: - - # Default appname: should match "appname" parameter (if any) - # supplied to CONF_modules_load_file_with_libctx et al. - openssl_conf = openssl_conf_section - - [openssl_conf_section] - # Configuration module list - alg_section = evp_sect - oid_section = new_oids - - [evp_sect] - # This will have no effect as FIPS mode is off by default. - # Set to "yes" to enter FIPS mode, if supported - fips_mode = no - - [new_oids] - # New OID, just short name - newoid1 = 1.2.3.4.1 - # New OID shortname and long name - newoid2 = New OID 2 long name, 1.2.3.4.2 - -The above examples can be used with any application supporting library -configuration if "openssl_conf" is modified to match the appropriate "appname". - -For example if the second sample file above is saved to "example.cnf" then -the command line: - - OPENSSL_CONF=example.cnf openssl asn1parse -genstr OID:1.2.3.4.1 - -will output: - - 0:d=0 hl=2 l= 4 prim: OBJECT :newoid1 - -showing that the OID "newoid1" has been added as "1.2.3.4.1". + [evp_properties] + default_properties = "fips=yes" =head1 ENVIRONMENT @@ -542,22 +445,20 @@ Ignored in set-user-ID and set-group-ID programs. =item B -The optional path to prepend to all .include paths. +The optional path to prepend to all B<.include> paths. =back =head1 BUGS -Currently there is no way to include characters using the octal B<\nnn> -form. Strings are all null terminated so nulls cannot form part of -the value. +There is no way to include characters using the octal B<\nnn> form. Strings +are all null terminated so nulls cannot form part of the value. The escaping isn't quite right: if you want to use sequences like B<\n> you can't use any quote escaping on the same line. -Files are loaded in a single pass. This means that an variable expansion -will only work if the variables referenced are defined earlier in the -file. +The limit that only one directory can be opened and read at a time +can be considered a bug and should be fixed. =head1 HISTORY @@ -572,7 +473,12 @@ configuration files using that syntax will have to be modified. =head1 SEE ALSO -L, L, L, L +L, L, L, +L, +L, +L, +L, and +L. =head1 COPYRIGHT diff --git a/doc/man5/x509v3_config.pod b/doc/man5/x509v3_config.pod index e60aeb2c..2d375735 100644 --- a/doc/man5/x509v3_config.pod +++ b/doc/man5/x509v3_config.pod @@ -534,7 +534,7 @@ L =head1 COPYRIGHT -Copyright 2004-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2004-2020 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 diff --git a/doc/man7/EVP_KDF-KRB5KDF.pod b/doc/man7/EVP_KDF-KRB5KDF.pod index 9d3f27bb..c75340ac 100644 --- a/doc/man7/EVP_KDF-KRB5KDF.pod +++ b/doc/man7/EVP_KDF-KRB5KDF.pod @@ -108,7 +108,7 @@ This functionality was added to OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy diff --git a/doc/man7/EVP_MAC-BLAKE2.pod b/doc/man7/EVP_MAC-BLAKE2.pod index 1a18ed7d..90b06534 100644 --- a/doc/man7/EVP_MAC-BLAKE2.pod +++ b/doc/man7/EVP_MAC-BLAKE2.pod @@ -70,7 +70,7 @@ The macros and functions described here were added to OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2018-2020 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 diff --git a/doc/man7/EVP_MAC-CMAC.pod b/doc/man7/EVP_MAC-CMAC.pod index 5e570ce8..c210d693 100644 --- a/doc/man7/EVP_MAC-CMAC.pod +++ b/doc/man7/EVP_MAC-CMAC.pod @@ -55,7 +55,7 @@ L, L =head1 COPYRIGHT -Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2018-2020 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 diff --git a/doc/man7/EVP_MAC-GMAC.pod b/doc/man7/EVP_MAC-GMAC.pod index 3994868c..7c9477c2 100644 --- a/doc/man7/EVP_MAC-GMAC.pod +++ b/doc/man7/EVP_MAC-GMAC.pod @@ -57,7 +57,7 @@ L, L =head1 COPYRIGHT -Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2018-2020 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 diff --git a/doc/man7/EVP_MAC-HMAC.pod b/doc/man7/EVP_MAC-HMAC.pod index 452606de..7f0ec35b 100644 --- a/doc/man7/EVP_MAC-HMAC.pod +++ b/doc/man7/EVP_MAC-HMAC.pod @@ -59,7 +59,7 @@ L, L, L =head1 COPYRIGHT -Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2018-2020 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 diff --git a/doc/man7/EVP_MAC-KMAC.pod b/doc/man7/EVP_MAC-KMAC.pod index 5a70c0dd..df7ac1dd 100644 --- a/doc/man7/EVP_MAC-KMAC.pod +++ b/doc/man7/EVP_MAC-KMAC.pod @@ -55,7 +55,7 @@ L, L =head1 COPYRIGHT -Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2018-2020 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 diff --git a/doc/man7/EVP_MAC-Poly1305.pod b/doc/man7/EVP_MAC-Poly1305.pod index fab5379b..da9953a1 100644 --- a/doc/man7/EVP_MAC-Poly1305.pod +++ b/doc/man7/EVP_MAC-Poly1305.pod @@ -51,7 +51,7 @@ L, L =head1 COPYRIGHT -Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2018-2020 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 diff --git a/doc/man7/EVP_MAC-Siphash.pod b/doc/man7/EVP_MAC-Siphash.pod index 4c41ca6a..d8013b33 100644 --- a/doc/man7/EVP_MAC-Siphash.pod +++ b/doc/man7/EVP_MAC-Siphash.pod @@ -45,7 +45,7 @@ L, L =head1 COPYRIGHT -Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2018-2020 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 diff --git a/doc/man7/EVP_PKEY-DSA.pod b/doc/man7/EVP_PKEY-DSA.pod new file mode 100644 index 00000000..ccb34a9f --- /dev/null +++ b/doc/man7/EVP_PKEY-DSA.pod @@ -0,0 +1,266 @@ +=pod + +=head1 NAME + +EVP_PKEY-DSA, EVP_KEYMGMT-DSA, EVP_PKEY-DH, EVP_KEYMGMT-DH +- EVP_PKEY DSA and DH keytype and algorithm support + +=head1 DESCRIPTION + +The B and B keytypes are implemented in OpenSSL's default and FIPS +providers. +The implementations support the basic DSA and DH keys, containing the public +and private keys I and I as well as the three main domain parameters +I

, I and I. + +Finite field cryptography (FFC) is a method of implementing discrete logarithm +cryptography using finite field mathematics. DSA is an example of FFC and +Diffie-Hellman key establishment algorithms specified in SP800-56A can also be +implemented as FFC. + +For B FFC key agreement, two classes of domain parameters can be used: +"safe" domain parameters that are associated with approved named safe-prime +groups, and a class of "FIPS 186-type" domain parameters. FIPS 186-type domain +parameters should only be used for backward compatibility with existing +applications that cannot be upgraded to use the approved safe-prime groups. + +For B (and B that is not a named group) the FIPS186-4 standard +specifies that the values used for FFC parameter generation are also required +for parameter validation. +This means that optional FFC domain parameter values for I, I +and I may need to be stored for validation purposes. +For B the I and I can be stored in ASN1 data +(but the I is not). For B however, these fields are not stored in +the ASN1 data so they need to be stored externally if validation is required. + +=head2 Common DH parameters + +=over 4 + +=item "group" (B) + +A string that associates a B named safe prime group with known values for +I

, I and I. + +The following values can be used by the default and OpenSSL's FIPS providers: +"ffdhe2048", "ffdhe3072", "ffdhe4096", "ffdhe6144", "ffdhe8192", +"modp_2048", "modp_3072", "modp_4096", "modp_6144", "modp_8192". + +The following additional values can also be used by the default provider: +"modp_1536", "dh_1024_160", "dh_2048_224", "dh_2048_256". + +DH named groups can be easily validated since the parameters are well known. +For protocols that only transfer I

and I the value of I can also be +retrieved. + +=item "safeprime-generator" (B) + +Used for DH generation of safe primes using the old generator code. +It is recommended to use a named safe prime group instead, if domain parameter +validation is required. The default value is 2. + +These are not named safe prime groups so setting this value for the OpenSSL FIPS +provider will instead choose a named safe prime group based on the size of I

. + +=back + +=head2 Common DSA & DH parameters + +In addition to the common parameters that all keytypes should support (see +L), the B and B keytype +implementations support the following. + +=over 4 + +=item "pub" (B) + +The public key value. + +=item "priv" (B) + +The private key value. + +=item "p" (B) + +A DSA or Diffie-Hellman prime "p" value. + +=item "q" (B) + +A DSA or Diffie-Hellman prime "q" value. + +=item "g" (B) + +A DSA or Diffie-Hellman generator "g" value. + +=item "seed" (B) + +An optional domain parameter I value used during generation and validation +of I

, I and canonical I. +For validation this needs to set the I that was produced during generation. + +=item "gindex" (B) + +Sets the index to use for canonical generation and verification of the generator +I. +Set this to a positive value from 0..FF to use this mode. This I can +then be reused during key validation to verify the value of I. If this value +is not set or is -1 then unverifiable generation of the generator I will be +used. + +=item "pcounter" (B) + +An optional domain parameter I value that is output during generation +of I

. This value must be saved if domain parameter validation is required. + +=item "hindex" (B) + +For unverifiable generation of the generator I this value is output during +generation of I. Its value is the first integer larger than one that +satisfies g = h^j mod p (where g != 1 and "j" is the cofactor). + +=item "j" (B) + +An optional informational cofactor parameter that should equal (p - 1) / q. + +=back + + +=head2 DSA / DH key generation (FFC) parameters + +The following Key Generation types are available for the built-in FFC algorithms: + +=over 4 + +=item "type" (B) + +Sets the type of parameter generation. For DH Valid values are: + +=over 4 + +=item "fips186_4" + +The current standard. This is the default value. + +=item "default" + +This is an alias to use the latest implemented standard. +It is currently set to "fips186_4". + +=item "group" + +This specifies that a named safe prime name will be chosen using the "pbits" +type. + +=item "fips186_2" + +The old standard that should only be used for legacy purposes. + +=item "generator" + +A safe prime generator. See the "safeprime-generator" type. + +=back + +For DSA valid values are one of "default", "fips186_4" or "fips186_2" as +described above. + +=item "pbits" (B) + +Sets the size (in bits) of the prime 'p'. + +For "fips186_4" this must be 2048 for DH, and either of 2048 or 3072 for DSA. +For "fips186_2" this must be 1024. +For "group" this can be any one of 2048, 3072, 4096, 6144 or 8192. + +=item "qbits" (B) + +Sets the size (in bits) of the prime 'q'. + +For "fips186_4" this can be either 224 or 256. +For "fips186_2" this has a size of 160. + +=item "digest" (B) + +Sets the Digest algorithm to be used as part of the Key Generation Function +associated with the given Key Generation I. +This must also be set for key validation. + +=item "properties" (B) + +Sets properties to be used upon look up of the implementation for the selected +Digest algorithm for the Key Generation Function associated with the given key +generation I. This may also be set for key validation. + +=item "seed" (B) + +For "fips186_4" or "fips186_2" generation this sets the I data to use +instead of generating a random seed internally. This should be used for +testing purposes only. This will either produce fixed values for the generated +parameters OR it will fail if the seed did not generate valid primes. + +=item "group" (B) + +=item "safeprime-generator" (B) + +=item "gindex" (B) + +=item "pcounter" (B) + +=item "hindex" (B) + +These types are described above. + +=back + + +=head1 CONFORMING TO + +=over 4 + +=item RFC 7919 (TLS ffdhe named safe prime groups) + +=item RFC 3526 (IKE modp named safe prime groups) + +=item RFC 5114 (Additional DH named groups for dh_1024_160", "dh_2048_224" + and "dh_2048_256"). + +=back + +The following sections of SP800-56Ar3: + +=over 4 + +=item 5.5.1.1 FFC Domain Parameter Selection/Generation + +=item Appendix D: FFC Safe-prime Groups + +=back + +The following sections of FIPS 186-4: + +=over 4 + +=item A.1.1.2 Generation of Probable Primes p and q Using an Approved Hash Function. + +=item A.2.3 Generation of canonical generator g. + +=item A.2.1 Unverifiable Generation of the Generator g. + +=back + +=head1 SEE ALSO + +L, L, L, +L, L, +L, L + +=head1 COPYRIGHT + +Copyright 2020 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 +L. + +=cut diff --git a/doc/man7/EVP_PKEY-EC.pod b/doc/man7/EVP_PKEY-EC.pod new file mode 100644 index 00000000..88d0ebdd --- /dev/null +++ b/doc/man7/EVP_PKEY-EC.pod @@ -0,0 +1,64 @@ +=pod + +=head1 NAME + +EVP_PKEY-EC - EVP_PKEY EC keytype and algorithm support + +=head1 DESCRIPTION + +The B keytype is implemented in OpenSSL's default provider. + +=head2 Common EC parameters + +The following Import/Export types are available for the built-in EC algorithm: + +=over 4 + +=item "curve-name" (B) + +The EC curve name. + +=item "use-cofactor-flag" (B) + +Enable Cofactor DH (ECC CDH) if this value is 1, otherwise it uses normal EC DH +if the value is zero. The cofactor variant multiplies the shared secret by the +EC curve's cofactor (note for some curves the cofactor is 1). + +=for comment The following link should become L + +See also L for the related +B parameter that can be set on a +per-operation basis. + +=item "pub" (B) + +The public key value in EC point format. + +=item "priv" (B) + +The private key value. + +=back + +=head1 EXAMPLES + +An B context can be obtained by calling: + + EVP_PKEY_CTX *pctx = + EVP_PKEY_CTX_new_from_name(NULL, "EC", NULL); + +=head1 SEE ALSO + +L, L, L, +L, L + +=head1 COPYRIGHT + +Copyright 2020 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 +L. + +=cut diff --git a/doc/man7/EVP_PKEY-RSA.pod b/doc/man7/EVP_PKEY-RSA.pod new file mode 100644 index 00000000..c6533f2f --- /dev/null +++ b/doc/man7/EVP_PKEY-RSA.pod @@ -0,0 +1,185 @@ +=pod + +=head1 NAME + +EVP_PKEY-RSA, EVP_KEYMGMT-RSA, RSA +- EVP_PKEY RSA keytype and algorithm support + +=head1 DESCRIPTION + +The B keytype is implemented in OpenSSL's default and FIPS providers. +That implementation supports the basic RSA keys, containing the modulus I, +the public exponent I, the private exponent I, and a collection of prime +factors, exponents and coefficient for CRT calculations, of which the first +few are known as I

and I, I and I, and I. + +=head2 Common RSA parameters + +In addition to the common parameters that all keytypes should support (see +L), the B keytype implementation +supports the following. + +=over 4 + +=item "n" (B) + +The RSA "n" value. + +=item "e" (B) + +The RSA "e" value. + +=item "d" (B) + +The RSA "d" value. + +=item "rsa-factor1" (B) + +=item "rsa-factor2" (B) + +=item "rsa-factor3" (B) + +=item "rsa-factor4" (B) + +=item "rsa-factor5" (B) + +=item "rsa-factor6" (B) + +=item "rsa-factor7" (B) + +=item "rsa-factor8" (B) + +=item "rsa-factor9" (B) + +=item "rsa-factor10" (B) + +RSA prime factors. The factors are known as "p", "q" and "r_i" in RFC8017. +Up to eight additional "r_i" prime factors are supported. + +=item "rsa-exponent1" (B) + +=item "rsa-exponent2" (B) + +=item "rsa-exponent3" (B) + +=item "rsa-exponent4" (B) + +=item "rsa-exponent5" (B) + +=item "rsa-exponent6" (B) + +=item "rsa-exponent7" (B) + +=item "rsa-exponent8" (B) + +=item "rsa-exponent9" (B) + +=item "rsa-exponent10" (B) + +RSA CRT (Chinese Remainder Theorem) exponents. The exponents are known +as "dP", "dQ" and "d_i in RFC8017". +Up to eight additional "d_i" exponents are supported. + +=item "rsa-coefficient1" (B) + +=item "rsa-coefficient2" (B) + +=item "rsa-coefficient3" (B) + +=item "rsa-coefficient4" (B) + +=item "rsa-coefficient5" (B) + +=item "rsa-coefficient6" (B) + +=item "rsa-coefficient7" (B) + +=item "rsa-coefficient8" (B) + +=item "rsa-coefficient9" (B) + +RSA CRT (Chinese Remainder Theorem) coefficients. The coefficients are known as +"qInv" and "t_i". +Up to eight additional "t_i" exponents are supported. + +=back + +=head2 RSA key generation parameters + +When generating RSA keys, the following key generation parameters may be used. + +=over 4 + +=item "bits" (B) + +The value should be the cryptographic length for the B cryptosystem, in +bits. + +=item "primes" (B) + +The value should be the number of primes for the generated B key. The +default is 2. It isn't permitted to specify a larger number of primes than +10. Additionally, the number of primes is limited by the length of the key +being generated so the maximum number could be less. + +=back + +=head1 CONFORMING TO + +=over 4 + +=item RFC 8017, excluding RSA-PSS and RSA-OAEP + +=for comment RSA-PSS, and probably also RSA-OAEP, need separate keytypes, +and will be described in separate pages for those RSA keytypes. + +=back + +=head1 EXAMPLES + +An B context can be obtained by calling: + + EVP_PKEY_CTX *pctx = + EVP_PKEY_CTX_new_from_name(NULL, "RSA", NULL); + +An B key can be generated like this: + + EVP_PKEY *pkey = NULL; + EVP_PKEY_CTX *pctx = + EVP_PKEY_CTX_new_from_name(NULL, "RSA", NULL); + + EVP_PKEY_keygen_init(pctx); + EVP_PKEY_gen(pctx, &pkey); + EVP_PKEY_CTX_free(pctx); + +An B key can be generated with key generation parameters: + + unsigned int primes = 3; + unsigned int bits = 4096; + OSSL_PARAM params[3]; + EVP_PKEY *pkey = NULL; + EVP_PKEY_CTX *pctx = + EVP_PKEY_CTX_new_from_name(NULL, "RSA", NULL); + + params[0] = OSSL_PARAM_construct_uint("bits", bits); + params[1] = OSSL_PARAM_construct_uint("primes", primes); + params[2] = OSSL_PARAM_END; + EVP_PKEY_keygen_init(pctx); + EVP_PKEY_CTX_set_params(pctx, params); + EVP_PKEY_gen(pctx, &pkey); + EVP_PKEY_CTX_free(pctx); + +=head1 SEE ALSO + +L, L, L + +=head1 COPYRIGHT + +Copyright 2020 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 +L. + +=cut diff --git a/doc/man7/EVP_PKEY-X25519.pod b/doc/man7/EVP_PKEY-X25519.pod new file mode 100644 index 00000000..dd3e68f1 --- /dev/null +++ b/doc/man7/EVP_PKEY-X25519.pod @@ -0,0 +1,100 @@ +=pod + +=head1 NAME + +EVP_PKEY-X25519, EVP_PKEY-X448, EVP_PKEY-ED25519, EVP_PKEY-ED448, +EVP_KEYMGMT-X25519, EVP_KEYMGMT-X448, EVP_KEYMGMT-ED25519, EVP_KEYMGMT-ED448 +- EVP_PKEY X25519, X448, ED25519 and ED448 keytype and algorithm support + +=head1 DESCRIPTION + +The B, B, B and B keytypes are +implemented in OpenSSL's default provider. + +=head2 Common X25519, X448, ED25519 and ED448 parameters + +The following Import/Export types are available for the built-in X25519, X448, +ED25519 and X448 algorithms: + +=over 4 + +=item "pub" (B) + +The public key value. + +=item "priv" (B) + +The private key value. + +=back + +=head2 ED25519 and ED448 parameters + +=over 4 + +=item "mandatory-digest" (B) + +The empty string, signifying that no digest may be specified. + +=back + +=head1 CONFORMING TO + +=over 4 + +=item RFC 8032 + +=back + +=head1 EXAMPLES + +An B context can be obtained by calling: + + EVP_PKEY_CTX *pctx = + EVP_PKEY_CTX_new_from_name(NULL, "X25519", NULL); + + EVP_PKEY_CTX *pctx = + EVP_PKEY_CTX_new_from_name(NULL, "X448", NULL); + + EVP_PKEY_CTX *pctx = + EVP_PKEY_CTX_new_from_name(NULL, "ED25519", NULL); + + EVP_PKEY_CTX *pctx = + EVP_PKEY_CTX_new_from_name(NULL, "ED448", NULL); + +An B key can be generated like this: + + EVP_PKEY *pkey = NULL; + EVP_PKEY_CTX *pctx = + EVP_PKEY_CTX_new_from_name(NULL, "ED25519", NULL); + + EVP_PKEY_keygen_init(pctx); + EVP_PKEY_gen(pctx, &pkey); + EVP_PKEY_CTX_free(pctx); + +An B key can be generated in a similar way: + + EVP_PKEY *pkey = NULL; + EVP_PKEY_CTX *pctx = + EVP_PKEY_CTX_new_from_name(NULL, "X25519", NULL); + + EVP_PKEY_keygen_init(pctx); + EVP_PKEY_gen(pctx, &pkey); + EVP_PKEY_CTX_free(pctx); + +=head1 SEE ALSO + +L, L, L, +L, L, +L, L + +=head1 COPYRIGHT + +Copyright 2020 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 +L. + +=cut diff --git a/doc/man7/Ed25519.pod b/doc/man7/Ed25519.pod index 3d82f5ea..912b607e 100644 --- a/doc/man7/Ed25519.pod +++ b/doc/man7/Ed25519.pod @@ -78,7 +78,7 @@ L, =head1 COPYRIGHT -Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2020 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 diff --git a/doc/man7/SM2.pod b/doc/man7/SM2.pod index 93fd12c9..de52d053 100644 --- a/doc/man7/SM2.pod +++ b/doc/man7/SM2.pod @@ -62,7 +62,7 @@ L =head1 COPYRIGHT -Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2018-2020 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 diff --git a/doc/man7/X25519.pod b/doc/man7/X25519.pod index 0cfe2b53..b599d221 100644 --- a/doc/man7/X25519.pod +++ b/doc/man7/X25519.pod @@ -64,7 +64,7 @@ L =head1 COPYRIGHT -Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017-2020 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 diff --git a/doc/man7/openssl-env.pod b/doc/man7/openssl-env.pod index f59cd596..788f5dff 100644 --- a/doc/man7/openssl-env.pod +++ b/doc/man7/openssl-env.pod @@ -78,7 +78,7 @@ Additional arguments for the L command. =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man7/openssl_user_macros.pod.in b/doc/man7/openssl_user_macros.pod.in index bb8c50ab..8e9d116e 100644 --- a/doc/man7/openssl_user_macros.pod.in +++ b/doc/man7/openssl_user_macros.pod.in @@ -89,7 +89,7 @@ will be hidden. =head1 COPYRIGHT -Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2018-2020 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 diff --git a/doc/man7/passphrase-encoding.pod b/doc/man7/passphrase-encoding.pod index 1d1a7e99..aabf9a5a 100644 --- a/doc/man7/passphrase-encoding.pod +++ b/doc/man7/passphrase-encoding.pod @@ -170,7 +170,7 @@ L =head1 COPYRIGHT -Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2018-2020 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 diff --git a/doc/man7/property.pod b/doc/man7/property.pod index bc45afb2..d3fe3815 100644 --- a/doc/man7/property.pod +++ b/doc/man7/property.pod @@ -162,7 +162,7 @@ Properties were added in OpenSSL 3.0 =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man7/provider-asym_cipher.pod b/doc/man7/provider-asym_cipher.pod index b442cd5a..a271cb40 100644 --- a/doc/man7/provider-asym_cipher.pod +++ b/doc/man7/provider-asym_cipher.pod @@ -249,7 +249,7 @@ The provider ASYM_CIPHER interface was introduced in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man7/provider-base.pod b/doc/man7/provider-base.pod index 7e86b2b2..a52c718e 100644 --- a/doc/man7/provider-base.pod +++ b/doc/man7/provider-base.pod @@ -487,7 +487,7 @@ introduced in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man7/provider-cipher.pod b/doc/man7/provider-cipher.pod index 80bba1f9..24c5f40e 100644 --- a/doc/man7/provider-cipher.pod +++ b/doc/man7/provider-cipher.pod @@ -436,7 +436,7 @@ The provider CIPHER interface was introduced in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man7/provider-digest.pod b/doc/man7/provider-digest.pod index 1cac58b4..01b11703 100644 --- a/doc/man7/provider-digest.pod +++ b/doc/man7/provider-digest.pod @@ -252,7 +252,7 @@ The provider DIGEST interface was introduced in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man7/provider-keyexch.pod b/doc/man7/provider-keyexch.pod index 3fde0486..1d34ded0 100644 --- a/doc/man7/provider-keyexch.pod +++ b/doc/man7/provider-keyexch.pod @@ -249,7 +249,7 @@ The provider KEYEXCH interface was introduced in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man7/provider-keymgmt.pod b/doc/man7/provider-keymgmt.pod index 52cb977c..0669585b 100644 --- a/doc/man7/provider-keymgmt.pod +++ b/doc/man7/provider-keymgmt.pod @@ -258,7 +258,7 @@ present as well. =head2 Key Object Information Functions OP_keymgmt_get_params() should extract information data associated -with the given I, see L. +with the given I, see L. OP_keymgmt_gettable_params() should return a constant array of descriptor B, for parameters that OP_keymgmt_get_params() @@ -268,7 +268,7 @@ If OP_keymgmt_gettable_params() is present, OP_keymgmt_get_params() must also be present, and vice versa. OP_keymgmt_set_params() should update information data associated -with the given I, see L. +with the given I, see L. OP_keymgmt_settable_params() should return a constant array of descriptor B, for parameters that OP_keymgmt_set_params() @@ -328,177 +328,12 @@ from I to I. It is assumed that the caller has ensured that I and I are both owned by the implementation of this function. -=head2 Built-in RSA Import/Export Types - -The following Import/Export types are available for the built-in RSA algorithm: - -=over 4 - -=item "n" (B) - -The RSA "n" value. - -=item "e" (B) - -The RSA "e" value. - -=item "d" (B) - -The RSA "d" value. - -=item "rsa-factor1" (B) - -=item "rsa-factor2" (B) - -=item "rsa-factor3" (B) - -=item "rsa-factor4" (B) - -=item "rsa-factor5" (B) - -=item "rsa-factor6" (B) - -=item "rsa-factor7" (B) - -=item "rsa-factor8" (B) - -=item "rsa-factor9" (B) - -=item "rsa-factor10" (B) - -RSA prime factors. The factors are known as "p", "q" and "r_i" in RFC8017. -Up to eight additional "r_i" prime factors are supported. - -=item "rsa-exponent1" (B) - -=item "rsa-exponent2" (B) - -=item "rsa-exponent3" (B) - -=item "rsa-exponent4" (B) - -=item "rsa-exponent5" (B) - -=item "rsa-exponent6" (B) - -=item "rsa-exponent7" (B) - -=item "rsa-exponent8" (B) - -=item "rsa-exponent9" (B) - -=item "rsa-exponent10" (B) - -RSA CRT (Chinese Remainder Theorem) exponents. The exponents are known -as "dP", "dQ" and "d_i in RFC8017". -Up to eight additional "d_i" exponents are supported. - -=item "rsa-coefficient1" (B) - -=item "rsa-coefficient2" (B) - -=item "rsa-coefficient3" (B) - -=item "rsa-coefficient4" (B) - -=item "rsa-coefficient5" (B) - -=item "rsa-coefficient6" (B) - -=item "rsa-coefficient7" (B) - -=item "rsa-coefficient8" (B) - -=item "rsa-coefficient9" (B) - -RSA CRT (Chinese Remainder Theorem) coefficients. The coefficients are known as -"qInv" and "t_i". -Up to eight additional "t_i" exponents are supported. - -=back - -=head2 Built-in DSA and Diffie-Hellman Import/Export Types - -The following Import/Export types are available for the built-in DSA and -Diffie-Hellman algorithms: - -=over 4 - -=item "pub" (B) - -The public key value. - -=item "priv" (B) - -The private key value. - -=item "p" (B) - -A DSA or Diffie-Hellman "p" value. - -=item "q" (B) - -A DSA or Diffie-Hellman "q" value. - -=item "g" (B) - -A DSA or Diffie-Hellman "g" value. - -=back - -=head2 Built-in X25519, X448, ED25519 and ED448 Import/Export Types - -The following Import/Export types are available for the built-in X25519, X448, -ED25519 and X448 algorithms: - -=over 4 - -=item "pub" (B) - -The public key value. - -=item "priv" (B) - -The private key value. - -=back - -=head2 Built-in EC Import/Export Types - -The following Import/Export types are available for the built-in EC algorithm: - -=over 4 - -=item "curve-name" (B) - -The EC curve name. - -=item "use-cofactor-flag" (B) - -Enable Cofactor DH (ECC CDH) if this value is 1, otherwise it uses normal EC DH -if the value is zero. The cofactor variant multiplies the shared secret by the -EC curve's cofactor (note for some curves the cofactor is 1). - -=item "pub" (B) - -The public key value in EC point format. - -=item "priv" (B) - -The private key value. - -=back - -=head2 Information Parameters +=head2 Common Information Parameters See L for further details on the parameters structure. -The Built-in Import/Export Types listed above are also Information Parameters. -Not all parameters are relevant to, or are understood by all keymgmt -algorithms: - -Parameters currently recognised by built-in keymgmt algorithms -also include the following. +Common information parameters currently recognised by all built-in +keymgmt algorithms are as follows: =over 4 @@ -526,21 +361,6 @@ dimensions handled in the rest of the same provider. The value should be the number of security bits of the given key. Bits of security is defined in SP800-57. -=item "use-cofactor-flag" (B, -B) - -The value should be either 1 or 0, to respectively enable or disable -use of the cofactor in operations using this key. - -In the context of a key that can be used to perform an Elliptic Curve -Diffie-Hellman key exchange, this parameter can be used to mark a requirement -for using the Cofactor Diffie-Hellman (CDH) variant of the key exchange -algorithm. - -See also L for the related -B parameter that can be set on a -per-operation basis. - =back =head1 RETURN VALUES @@ -568,7 +388,10 @@ always return a constant B array. =head1 SEE ALSO -L +L, +L, L, L, +L, L, L, +L, L =head1 HISTORY diff --git a/doc/man7/provider-serializer.pod b/doc/man7/provider-serializer.pod index 121eb336..dfc80312 100644 --- a/doc/man7/provider-serializer.pod +++ b/doc/man7/provider-serializer.pod @@ -266,7 +266,7 @@ The SERIALIZER interface was introduced in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man7/provider-signature.pod b/doc/man7/provider-signature.pod index edd4013f..9396b4a8 100644 --- a/doc/man7/provider-signature.pod +++ b/doc/man7/provider-signature.pod @@ -402,7 +402,7 @@ The provider SIGNATURE interface was introduced in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/man7/provider.pod b/doc/man7/provider.pod index de8e2499..f7f6bbe9 100644 --- a/doc/man7/provider.pod +++ b/doc/man7/provider.pod @@ -274,9 +274,10 @@ be loaded explicitly, either in code or through OpenSSL configuration (see L). Should it be needed (if other providers are loaded and offer implementations of the same algorithms), the property "provider=fips" can -be used as a search criterion for these implementations. All algorithm +be used as a search criterion for these implementations. All approved algorithm implementations in the FIPS provider can also be selected with the property -"fips=yes". +"fips=yes". The FIPS provider also contains a number of non-approved algorithm +implementations and these can be selected with the property "fips=no". =head2 Legacy provider @@ -372,7 +373,7 @@ introduced in OpenSSL 3.0. =head1 COPYRIGHT -Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2019-2020 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 diff --git a/doc/perlvars.pm b/doc/perlvars.pm index 82d6e5a1..6d77ce77 100644 --- a/doc/perlvars.pm +++ b/doc/perlvars.pm @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2019-2020 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 diff --git a/e_os.h b/e_os.h index bd864240..d354c695 100644 --- a/e_os.h +++ b/e_os.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/engines/e_afalg.c b/engines/e_afalg.c index 814917aa..c644fa15 100644 --- a/engines/e_afalg.c +++ b/engines/e_afalg.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/engines/e_capi.c b/engines/e_capi.c index 74b79e31..c8d181c9 100644 --- a/engines/e_capi.c +++ b/engines/e_capi.c @@ -31,6 +31,9 @@ # include # include +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_NAME) + /* * This module uses several "new" interfaces, among which is * CertGetCertificateContextProperty. CERT_KEY_PROV_INFO_PROP_ID is diff --git a/engines/e_dasync.c b/engines/e_dasync.c index c5d58ded..130c5253 100644 --- a/engines/e_dasync.c +++ b/engines/e_dasync.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 diff --git a/engines/e_ossltest.c b/engines/e_ossltest.c index 55ecc1f8..6b5fb561 100644 --- a/engines/e_ossltest.c +++ b/engines/e_ossltest.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 diff --git a/engines/e_padlock.c b/engines/e_padlock.c index 3f86545c..af5ac24a 100644 --- a/engines/e_padlock.c +++ b/engines/e_padlock.c @@ -1,5 +1,5 @@ /* - * Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2004-2020 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 diff --git a/fuzz/README.md b/fuzz/README.md index dadf8746..eca15886 100644 --- a/fuzz/README.md +++ b/fuzz/README.md @@ -12,14 +12,14 @@ With `clang` from a package manager Install `clang`, which [ships with `libfuzzer`](http://llvm.org/docs/LibFuzzer.html#fuzzer-usage) since version 6.0: - $ sudo apt-get install clang + sudo apt-get install clang Configure `openssl` for fuzzing. For now, you'll still need to pass in the path to the `libFuzzer` library file while configuring; this is represented as `$PATH_TO_LIBFUZZER` below. A typical value would be -`/usr/lib/llvm-6.0/lib/clang/6.0.0/lib/linux/libclang_rt.fuzzer-x86_64.a`. +`/usr/lib/llvm-7/lib/clang/7.0.1/lib/linux/libclang_rt.fuzzer-x86_64.a`. - $ CC=clang ./config enable-fuzz-libfuzzer \ + CC=clang ./config enable-fuzz-libfuzzer \ --with-fuzzer-lib=$PATH_TO_LIBFUZZER \ -DPEDANTIC enable-asan enable-ubsan no-shared \ -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION \ @@ -31,14 +31,16 @@ to the `libFuzzer` library file while configuring; this is represented as Compile: - $ sudo apt-get install make - $ LDCMD=clang++ make -j + sudo apt-get install make + make clean + LDCMD=clang++ make -j4 Finally, perform the actual fuzzing: - $ fuzz/helper.py $FUZZER + fuzz/helper.py $FUZZER where $FUZZER is one of the executables in `fuzz/`. +It will run until you stop it. If you get a crash, you should find a corresponding input file in `fuzz/corpora/$FUZZER-crash/`. @@ -54,7 +56,7 @@ fuzzing is the same, except that you also need to specify a `--with-fuzzer-include` option, which should be the parent directory of the prebuilt fuzzer library. This is represented as `$PATH_TO_LIBFUZZER_DIR` below. - $ CC=clang ./config enable-fuzz-libfuzzer \ + CC=clang ./config enable-fuzz-libfuzzer \ --with-fuzzer-include=$PATH_TO_LIBFUZZER_DIR \ --with-fuzzer-lib=$PATH_TO_LIBFUZZER \ -DPEDANTIC enable-asan enable-ubsan no-shared \ @@ -68,21 +70,24 @@ prebuilt fuzzer library. This is represented as `$PATH_TO_LIBFUZZER_DIR` below. AFL === +This is an alternative to using LibFuzzer. + Configure for fuzzing: - $ sudo apt-get install afl-clang - $ CC=afl-clang-fast ./config enable-fuzz-afl no-shared no-module \ + sudo apt-get install afl-clang + CC=afl-clang-fast ./config enable-fuzz-afl no-shared no-module \ -DPEDANTIC enable-tls1_3 enable-weak-ssl-ciphers enable-rc5 \ enable-md2 enable-ssl3 enable-ssl3-method enable-nextprotoneg \ enable-ec_nistp_64_gcc_128 -fno-sanitize=alignment \ --debug - $ make + make clean + make The following options can also be enabled: enable-asan, enable-ubsan, enable-msan Run one of the fuzzers: - $ afl-fuzz -i fuzz/corpora/$FUZZER -o fuzz/corpora/$FUZZER/out fuzz/$FUZZER + afl-fuzz -i fuzz/corpora/$FUZZER -o fuzz/corpora/$FUZZER/out fuzz/$FUZZER Where $FUZZER is one of the executables in `fuzz/`. @@ -100,7 +105,7 @@ reproduce the generated random numbers. To reproduce the crash you can run: - $ fuzz/$FUZZER-test $file + fuzz/$FUZZER-test $file Random numbers ============== @@ -140,3 +145,13 @@ The client and server corpus is generated with multiple config options: The libfuzzer merge option is used to add the additional coverage from each config to the minimal set. + +Minimizing the corpus +===================== + +When you have gathered corpus data from more than one fuzzer run +or for any other reason want to to minimize the data +in some corpus subdirectory `fuzz/corpora/DIR` this can be done as follows: + + mkdir fuzz/corpora/NEWDIR + fuzz/$FUZZER -merge=1 fuzz/corpora/NEWDIR fuzz/corpora/DIR diff --git a/fuzz/asn1.c b/fuzz/asn1.c index 0212e567..520bcae5 100644 --- a/fuzz/asn1.c +++ b/fuzz/asn1.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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. diff --git a/fuzz/build.info b/fuzz/build.info index 0b65ee09..e52b8e3b 100644 --- a/fuzz/build.info +++ b/fuzz/build.info @@ -11,6 +11,10 @@ IF[{- !$disabled{"fuzz-afl"} || !$disabled{"fuzz-libfuzzer"} -}] PROGRAMS{noinst}=asn1 asn1parse bignum bndiv client conf crl server x509 + IF[{- !$disabled{"cmp"} -}] + PROGRAMS{noinst}=cmp + ENDIF + IF[{- !$disabled{"cms"} -}] PROGRAMS{noinst}=cms ENDIF @@ -39,6 +43,10 @@ IF[{- !$disabled{"fuzz-afl"} || !$disabled{"fuzz-libfuzzer"} -}] INCLUDE[client]=../include {- $ex_inc -} DEPEND[client]=../libcrypto ../libssl {- $ex_lib -} + SOURCE[cmp]=cmp.c driver.c + INCLUDE[cmp]=../include {- $ex_inc -} + DEPEND[cmp]=../libcrypto {- $ex_lib -} + SOURCE[cms]=cms.c driver.c INCLUDE[cms]=../include {- $ex_inc -} DEPEND[cms]=../libcrypto {- $ex_lib -} @@ -67,6 +75,10 @@ ENDIF IF[{- !$disabled{tests} -}] PROGRAMS{noinst}=asn1-test asn1parse-test bignum-test bndiv-test client-test conf-test crl-test server-test x509-test + IF[{- !$disabled{"cmp"} -}] + PROGRAMS{noinst}=cmp-test + ENDIF + IF[{- !$disabled{"cms"} -}] PROGRAMS{noinst}=cms-test ENDIF @@ -95,6 +107,11 @@ IF[{- !$disabled{tests} -}] INCLUDE[client-test]=../include DEPEND[client-test]=../libcrypto ../libssl + SOURCE[cmp-test]=cmp.c test-corpus.c + INCLUDE[cmp-test]=../include + DEPEND[cmp-test]=../libcrypto.a + # referring to static lib allows using non-exported functions + SOURCE[cms-test]=cms.c test-corpus.c INCLUDE[cms-test]=../include DEPEND[cms-test]=../libcrypto diff --git a/fuzz/client.c b/fuzz/client.c index 45198977..f80e8a0a 100644 --- a/fuzz/client.c +++ b/fuzz/client.c @@ -20,6 +20,8 @@ #include "rand.inc" +DEFINE_STACK_OF(SSL_COMP) + /* unused, to avoid warning. */ static int idx; diff --git a/fuzz/cmp.c b/fuzz/cmp.c new file mode 100644 index 00000000..6883a286 --- /dev/null +++ b/fuzz/cmp.c @@ -0,0 +1,205 @@ +/* + * Copyright 2007-2020 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 + */ + +/* + * Test CMP DER parsing. + */ + +#include +#include +#include "../crypto/cmp/cmp_local.h" +#include +#include "fuzzer.h" +#include "rand.inc" + +DEFINE_STACK_OF(OSSL_CMP_ITAV) + +int FuzzerInitialize(int *argc, char ***argv) +{ + OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL); + ERR_clear_error(); + CRYPTO_free_ex_index(0, -1); + FuzzerSetRand(); + return 1; +} + +static int num_responses; + +static OSSL_CMP_MSG *transfer_cb(OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG *req) +{ + if (num_responses++ > 2) + return NULL; /* prevent loops due to repeated pollRep */ + return OSSL_CMP_MSG_dup((OSSL_CMP_MSG *) + OSSL_CMP_CTX_get_transfer_cb_arg(ctx)); +} + +static int print_noop(const char *func, const char *file, int line, + OSSL_CMP_severity level, const char *msg) +{ + return 1; +} + +static int allow_unprotected(const OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG *rep, + int invalid_protection, int expected_type) +{ + return 1; +} + +static void cmp_client_process_response(OSSL_CMP_CTX *ctx, OSSL_CMP_MSG *msg) +{ + X509_NAME *name = X509_NAME_new(); + ASN1_INTEGER *serial = ASN1_INTEGER_new(); + + ctx->unprotectedSend = 1; /* satisfy ossl_cmp_msg_protect() */ + ctx->disableConfirm = 1; /* check just one response message */ + ctx->popoMethod = OSSL_CRMF_POPO_NONE; /* satisfy ossl_cmp_certReq_new() */ + ctx->oldCert = X509_new(); /* satisfy crm_new() and ossl_cmp_rr_new() */ + if (!OSSL_CMP_CTX_set1_secretValue(ctx, (unsigned char *)"", + 0) /* prevent too unspecific error */ + || ctx->oldCert == NULL + || name == NULL || !X509_set_issuer_name(ctx->oldCert, name) + || serial == NULL || !X509_set_serialNumber(ctx->oldCert, serial)) + goto err; + + (void)OSSL_CMP_CTX_set_transfer_cb(ctx, transfer_cb); + (void)OSSL_CMP_CTX_set_transfer_cb_arg(ctx, msg); + (void)OSSL_CMP_CTX_set_log_cb(ctx, print_noop); + num_responses = 0; + switch (msg->body != NULL ? msg->body->type : -1) { + case OSSL_CMP_PKIBODY_IP: + (void)OSSL_CMP_exec_IR_ses(ctx); + break; + case OSSL_CMP_PKIBODY_CP: + (void)OSSL_CMP_exec_CR_ses(ctx); + (void)OSSL_CMP_exec_P10CR_ses(ctx); + break; + case OSSL_CMP_PKIBODY_KUP: + (void)OSSL_CMP_exec_KUR_ses(ctx); + break; + case OSSL_CMP_PKIBODY_POLLREP: + ctx->status = OSSL_CMP_PKISTATUS_waiting; + (void)OSSL_CMP_try_certreq(ctx, OSSL_CMP_PKIBODY_CR, NULL); + break; + case OSSL_CMP_PKIBODY_RP: + (void)OSSL_CMP_exec_RR_ses(ctx); + break; + case OSSL_CMP_PKIBODY_GENP: + sk_OSSL_CMP_ITAV_pop_free(OSSL_CMP_exec_GENM_ses(ctx), + OSSL_CMP_ITAV_free); + break; + default: + (void)ossl_cmp_msg_check_received(ctx, msg, allow_unprotected, 0); + break; + } + err: + X509_NAME_free(name); + ASN1_INTEGER_free(serial); +} + +static OSSL_CMP_PKISI *process_cert_request(OSSL_CMP_SRV_CTX *srv_ctx, + const OSSL_CMP_MSG *cert_req, + int certReqId, + const OSSL_CRMF_MSG *crm, + const X509_REQ *p10cr, + X509 **certOut, + STACK_OF(X509) **chainOut, + STACK_OF(X509) **caPubs) +{ + CMPerr(0, CMP_R_ERROR_PROCESSING_MESSAGE); + return NULL; +} + +static OSSL_CMP_PKISI *process_rr(OSSL_CMP_SRV_CTX *srv_ctx, + const OSSL_CMP_MSG *rr, + const X509_NAME *issuer, + const ASN1_INTEGER *serial) +{ + CMPerr(0, CMP_R_ERROR_PROCESSING_MESSAGE); + return NULL; +} + +static int process_genm(OSSL_CMP_SRV_CTX *srv_ctx, + const OSSL_CMP_MSG *genm, + const STACK_OF(OSSL_CMP_ITAV) *in, + STACK_OF(OSSL_CMP_ITAV) **out) +{ + CMPerr(0, CMP_R_ERROR_PROCESSING_MESSAGE); + return 0; +} + +static void process_error(OSSL_CMP_SRV_CTX *srv_ctx, const OSSL_CMP_MSG *error, + const OSSL_CMP_PKISI *statusInfo, + const ASN1_INTEGER *errorCode, + const OSSL_CMP_PKIFREETEXT *errorDetails) +{ + CMPerr(0, CMP_R_ERROR_PROCESSING_MESSAGE); +} + +static int process_certConf(OSSL_CMP_SRV_CTX *srv_ctx, + const OSSL_CMP_MSG *certConf, int certReqId, + const ASN1_OCTET_STRING *certHash, + const OSSL_CMP_PKISI *si) +{ + CMPerr(0, CMP_R_ERROR_PROCESSING_MESSAGE); + return 0; +} + +static int process_pollReq(OSSL_CMP_SRV_CTX *srv_ctx, + const OSSL_CMP_MSG *pollReq, int certReqId, + OSSL_CMP_MSG **certReq, int64_t *check_after) +{ + CMPerr(0, CMP_R_ERROR_PROCESSING_MESSAGE); + return 0; +} + +int FuzzerTestOneInput(const uint8_t *buf, size_t len) +{ + OSSL_CMP_MSG *msg; + BIO *in; + + if (len == 0) + return 0; + + in = BIO_new(BIO_s_mem()); + OPENSSL_assert((size_t)BIO_write(in, buf, len) == len); + msg = d2i_OSSL_CMP_MSG_bio(in, NULL); + if (msg != NULL) { + BIO *out = BIO_new(BIO_s_null()); + OSSL_CMP_SRV_CTX *srv_ctx = OSSL_CMP_SRV_CTX_new(); + OSSL_CMP_CTX *client_ctx = OSSL_CMP_CTX_new(); + + i2d_OSSL_CMP_MSG_bio(out, msg); + ASN1_item_print(out, (ASN1_VALUE *)msg, 4, + ASN1_ITEM_rptr(OSSL_CMP_MSG), NULL); + BIO_free(out); + + if (client_ctx != NULL) + cmp_client_process_response(client_ctx, msg); + if (srv_ctx != NULL + && OSSL_CMP_CTX_set_log_cb(OSSL_CMP_SRV_CTX_get0_cmp_ctx(srv_ctx), + print_noop) + && OSSL_CMP_SRV_CTX_init(srv_ctx, NULL, process_cert_request, + process_rr, process_genm, process_error, + process_certConf, process_pollReq)) + OSSL_CMP_MSG_free(OSSL_CMP_SRV_process_request(srv_ctx, msg)); + + OSSL_CMP_CTX_free(client_ctx); + OSSL_CMP_SRV_CTX_free(srv_ctx); + OSSL_CMP_MSG_free(msg); + } + + BIO_free(in); + ERR_clear_error(); + + return 0; +} + +void FuzzerCleanup(void) +{ +} diff --git a/fuzz/corpora/cmp/00018e2022005940e0bbba97dfb9c89c4dabe05c b/fuzz/corpora/cmp/00018e2022005940e0bbba97dfb9c89c4dabe05c new file mode 100644 index 00000000..a7fc2db7 Binary files /dev/null and b/fuzz/corpora/cmp/00018e2022005940e0bbba97dfb9c89c4dabe05c differ diff --git a/fuzz/corpora/cmp/0039e16d35fa3089a957bdcf59641d74588879a0 b/fuzz/corpora/cmp/0039e16d35fa3089a957bdcf59641d74588879a0 new file mode 100644 index 00000000..ee919953 Binary files /dev/null and b/fuzz/corpora/cmp/0039e16d35fa3089a957bdcf59641d74588879a0 differ diff --git a/fuzz/corpora/cmp/007cd046f1a06126003fab71b605e9a9c0abb7db b/fuzz/corpora/cmp/007cd046f1a06126003fab71b605e9a9c0abb7db new file mode 100644 index 00000000..6270c745 Binary files /dev/null and b/fuzz/corpora/cmp/007cd046f1a06126003fab71b605e9a9c0abb7db differ diff --git a/fuzz/corpora/cmp/007f394cdb1dc22956e59f69d4ca834b8470dcc1 b/fuzz/corpora/cmp/007f394cdb1dc22956e59f69d4ca834b8470dcc1 new file mode 100644 index 00000000..c017a154 Binary files /dev/null and b/fuzz/corpora/cmp/007f394cdb1dc22956e59f69d4ca834b8470dcc1 differ diff --git a/fuzz/corpora/cmp/007f90965d7e05ded14cbd25b79554ef84316b1e b/fuzz/corpora/cmp/007f90965d7e05ded14cbd25b79554ef84316b1e new file mode 100644 index 00000000..d4d066c3 Binary files /dev/null and b/fuzz/corpora/cmp/007f90965d7e05ded14cbd25b79554ef84316b1e differ diff --git a/fuzz/corpora/cmp/00866389507e739c7c9b157f89641c8c5cbb81d6 b/fuzz/corpora/cmp/00866389507e739c7c9b157f89641c8c5cbb81d6 new file mode 100644 index 00000000..05ea7662 Binary files /dev/null and b/fuzz/corpora/cmp/00866389507e739c7c9b157f89641c8c5cbb81d6 differ diff --git a/fuzz/corpora/cmp/009a54957fba9a7da9f883dd66c4f4dc5e95e54b b/fuzz/corpora/cmp/009a54957fba9a7da9f883dd66c4f4dc5e95e54b new file mode 100644 index 00000000..426423e6 Binary files /dev/null and b/fuzz/corpora/cmp/009a54957fba9a7da9f883dd66c4f4dc5e95e54b differ diff --git a/fuzz/corpora/cmp/009d9fe8418903712baf1d2411ecf0b85ee768fe b/fuzz/corpora/cmp/009d9fe8418903712baf1d2411ecf0b85ee768fe new file mode 100644 index 00000000..e32273c9 Binary files /dev/null and b/fuzz/corpora/cmp/009d9fe8418903712baf1d2411ecf0b85ee768fe differ diff --git a/fuzz/corpora/cmp/00a13f2de93c500610a58caac7a1875a49fc1d67 b/fuzz/corpora/cmp/00a13f2de93c500610a58caac7a1875a49fc1d67 new file mode 100644 index 00000000..eae2694c Binary files /dev/null and b/fuzz/corpora/cmp/00a13f2de93c500610a58caac7a1875a49fc1d67 differ diff --git a/fuzz/corpora/cmp/00a6a10f28e1d55c540095ba819ad381c0f1b1f0 b/fuzz/corpora/cmp/00a6a10f28e1d55c540095ba819ad381c0f1b1f0 new file mode 100644 index 00000000..e633243f Binary files /dev/null and b/fuzz/corpora/cmp/00a6a10f28e1d55c540095ba819ad381c0f1b1f0 differ diff --git a/fuzz/corpora/cmp/00b28ff06b788b9b67c6b259800f404f9f3761fd b/fuzz/corpora/cmp/00b28ff06b788b9b67c6b259800f404f9f3761fd new file mode 100644 index 00000000..59f144ee Binary files /dev/null and b/fuzz/corpora/cmp/00b28ff06b788b9b67c6b259800f404f9f3761fd differ diff --git a/fuzz/corpora/cmp/00b83bbf112f1b4d359ec54f71ccbd6ea04c9c42 b/fuzz/corpora/cmp/00b83bbf112f1b4d359ec54f71ccbd6ea04c9c42 new file mode 100644 index 00000000..ce8c168f Binary files /dev/null and b/fuzz/corpora/cmp/00b83bbf112f1b4d359ec54f71ccbd6ea04c9c42 differ diff --git a/fuzz/corpora/cmp/00cd9049fc3cbc7aad8921b5d06f7e58df1336c4 b/fuzz/corpora/cmp/00cd9049fc3cbc7aad8921b5d06f7e58df1336c4 new file mode 100644 index 00000000..76a39974 Binary files /dev/null and b/fuzz/corpora/cmp/00cd9049fc3cbc7aad8921b5d06f7e58df1336c4 differ diff --git a/fuzz/corpora/cmp/00cda8ecae585e0179e040504e28b17bc7385657 b/fuzz/corpora/cmp/00cda8ecae585e0179e040504e28b17bc7385657 new file mode 100644 index 00000000..f53c8b52 Binary files /dev/null and b/fuzz/corpora/cmp/00cda8ecae585e0179e040504e28b17bc7385657 differ diff --git a/fuzz/corpora/cmp/00d14da6742d33b2f96af793225e8b88e44d918d b/fuzz/corpora/cmp/00d14da6742d33b2f96af793225e8b88e44d918d new file mode 100644 index 00000000..c932dc74 Binary files /dev/null and b/fuzz/corpora/cmp/00d14da6742d33b2f96af793225e8b88e44d918d differ diff --git a/fuzz/corpora/cmp/00fa96f39380ef0efcd434a9783fd7bb1bd3e351 b/fuzz/corpora/cmp/00fa96f39380ef0efcd434a9783fd7bb1bd3e351 new file mode 100644 index 00000000..36631ee2 Binary files /dev/null and b/fuzz/corpora/cmp/00fa96f39380ef0efcd434a9783fd7bb1bd3e351 differ diff --git a/fuzz/corpora/cmp/010e55994655149a2d9e4182f3763fd9881b5605 b/fuzz/corpora/cmp/010e55994655149a2d9e4182f3763fd9881b5605 new file mode 100644 index 00000000..4269ffae Binary files /dev/null and b/fuzz/corpora/cmp/010e55994655149a2d9e4182f3763fd9881b5605 differ diff --git a/fuzz/corpora/cmp/0118098e7d15883c7e16b67fe1be9cc51ef1da96 b/fuzz/corpora/cmp/0118098e7d15883c7e16b67fe1be9cc51ef1da96 new file mode 100644 index 00000000..53c353c0 Binary files /dev/null and b/fuzz/corpora/cmp/0118098e7d15883c7e16b67fe1be9cc51ef1da96 differ diff --git a/fuzz/corpora/cmp/011ec560bd1786fa7f64b03e9369f31c46e91662 b/fuzz/corpora/cmp/011ec560bd1786fa7f64b03e9369f31c46e91662 new file mode 100644 index 00000000..81637179 Binary files /dev/null and b/fuzz/corpora/cmp/011ec560bd1786fa7f64b03e9369f31c46e91662 differ diff --git a/fuzz/corpora/cmp/012f177ae89edab4ad20328c1aa9128499e27de9 b/fuzz/corpora/cmp/012f177ae89edab4ad20328c1aa9128499e27de9 new file mode 100644 index 00000000..d0851451 Binary files /dev/null and b/fuzz/corpora/cmp/012f177ae89edab4ad20328c1aa9128499e27de9 differ diff --git a/fuzz/corpora/cmp/01346976aef150b9c5ba06632914880d2a4d3c63 b/fuzz/corpora/cmp/01346976aef150b9c5ba06632914880d2a4d3c63 new file mode 100644 index 00000000..11cb3df3 Binary files /dev/null and b/fuzz/corpora/cmp/01346976aef150b9c5ba06632914880d2a4d3c63 differ diff --git a/fuzz/corpora/cmp/014f5c3b9d6679116c59774fa0a142449ed1778c b/fuzz/corpora/cmp/014f5c3b9d6679116c59774fa0a142449ed1778c new file mode 100644 index 00000000..b73f7130 Binary files /dev/null and b/fuzz/corpora/cmp/014f5c3b9d6679116c59774fa0a142449ed1778c differ diff --git a/fuzz/corpora/cmp/015a14375c3e9782d8726829ef7787cabf1d5aa9 b/fuzz/corpora/cmp/015a14375c3e9782d8726829ef7787cabf1d5aa9 new file mode 100644 index 00000000..bb9073e5 Binary files /dev/null and b/fuzz/corpora/cmp/015a14375c3e9782d8726829ef7787cabf1d5aa9 differ diff --git a/fuzz/corpora/cmp/0169b154d05b065f334eeb187f0f6df4240d029f b/fuzz/corpora/cmp/0169b154d05b065f334eeb187f0f6df4240d029f new file mode 100644 index 00000000..46e44a41 Binary files /dev/null and b/fuzz/corpora/cmp/0169b154d05b065f334eeb187f0f6df4240d029f differ diff --git a/fuzz/corpora/cmp/01757fd7a1a9198c2c059e033bb1f68e48371c17 b/fuzz/corpora/cmp/01757fd7a1a9198c2c059e033bb1f68e48371c17 new file mode 100644 index 00000000..60b90a24 Binary files /dev/null and b/fuzz/corpora/cmp/01757fd7a1a9198c2c059e033bb1f68e48371c17 differ diff --git a/fuzz/corpora/cmp/017d32dc6b89ee1451d268cd4d86a78a7cbe7f1f b/fuzz/corpora/cmp/017d32dc6b89ee1451d268cd4d86a78a7cbe7f1f new file mode 100644 index 00000000..2b922ad9 Binary files /dev/null and b/fuzz/corpora/cmp/017d32dc6b89ee1451d268cd4d86a78a7cbe7f1f differ diff --git a/fuzz/corpora/cmp/017f775ca4bc8e181bff88ff9af5245155dca2e0 b/fuzz/corpora/cmp/017f775ca4bc8e181bff88ff9af5245155dca2e0 new file mode 100644 index 00000000..a4450ad6 Binary files /dev/null and b/fuzz/corpora/cmp/017f775ca4bc8e181bff88ff9af5245155dca2e0 differ diff --git a/fuzz/corpora/cmp/0185bd651a027f697253e80db798051df27e263d b/fuzz/corpora/cmp/0185bd651a027f697253e80db798051df27e263d new file mode 100644 index 00000000..9c11be18 Binary files /dev/null and b/fuzz/corpora/cmp/0185bd651a027f697253e80db798051df27e263d differ diff --git a/fuzz/corpora/cmp/018601142f03a7c4a871e68fae67b6311acaadd7 b/fuzz/corpora/cmp/018601142f03a7c4a871e68fae67b6311acaadd7 new file mode 100644 index 00000000..23e3da15 Binary files /dev/null and b/fuzz/corpora/cmp/018601142f03a7c4a871e68fae67b6311acaadd7 differ diff --git a/fuzz/corpora/cmp/018cda2f86ad09d5f37449c9149f934d30921dc0 b/fuzz/corpora/cmp/018cda2f86ad09d5f37449c9149f934d30921dc0 new file mode 100644 index 00000000..72ca04d8 Binary files /dev/null and b/fuzz/corpora/cmp/018cda2f86ad09d5f37449c9149f934d30921dc0 differ diff --git a/fuzz/corpora/cmp/01af8c64e6c64c5ef135e210539ccff289133fcb b/fuzz/corpora/cmp/01af8c64e6c64c5ef135e210539ccff289133fcb new file mode 100644 index 00000000..9881922f Binary files /dev/null and b/fuzz/corpora/cmp/01af8c64e6c64c5ef135e210539ccff289133fcb differ diff --git a/fuzz/corpora/cmp/01c6abacb9ecbd7bbd286ebecce25560edf3e1fb b/fuzz/corpora/cmp/01c6abacb9ecbd7bbd286ebecce25560edf3e1fb new file mode 100644 index 00000000..0c9ec537 Binary files /dev/null and b/fuzz/corpora/cmp/01c6abacb9ecbd7bbd286ebecce25560edf3e1fb differ diff --git a/fuzz/corpora/cmp/01cdf9b980db26ddea6e01844cc4f8fec3de4005 b/fuzz/corpora/cmp/01cdf9b980db26ddea6e01844cc4f8fec3de4005 new file mode 100644 index 00000000..ce9b91bd Binary files /dev/null and b/fuzz/corpora/cmp/01cdf9b980db26ddea6e01844cc4f8fec3de4005 differ diff --git a/fuzz/corpora/cmp/01e4fbec0c0aa45615394b938a58fe86068f5ca2 b/fuzz/corpora/cmp/01e4fbec0c0aa45615394b938a58fe86068f5ca2 new file mode 100644 index 00000000..79bcbdbf Binary files /dev/null and b/fuzz/corpora/cmp/01e4fbec0c0aa45615394b938a58fe86068f5ca2 differ diff --git a/fuzz/corpora/cmp/01f955a171e4d7bf6336f492d194a482c1fcdb8d b/fuzz/corpora/cmp/01f955a171e4d7bf6336f492d194a482c1fcdb8d new file mode 100644 index 00000000..43a358f1 Binary files /dev/null and b/fuzz/corpora/cmp/01f955a171e4d7bf6336f492d194a482c1fcdb8d differ diff --git a/fuzz/corpora/cmp/01faed917b668687300d10b08a23f53afcd0f074 b/fuzz/corpora/cmp/01faed917b668687300d10b08a23f53afcd0f074 new file mode 100644 index 00000000..7de29ec9 Binary files /dev/null and b/fuzz/corpora/cmp/01faed917b668687300d10b08a23f53afcd0f074 differ diff --git a/fuzz/corpora/cmp/0202c767162626f085b0476f3aa6e95377f72f65 b/fuzz/corpora/cmp/0202c767162626f085b0476f3aa6e95377f72f65 new file mode 100644 index 00000000..0a4de9c5 Binary files /dev/null and b/fuzz/corpora/cmp/0202c767162626f085b0476f3aa6e95377f72f65 differ diff --git a/fuzz/corpora/cmp/02044430ff9b109af84306ce4e4db029d41cdcd0 b/fuzz/corpora/cmp/02044430ff9b109af84306ce4e4db029d41cdcd0 new file mode 100644 index 00000000..b27b845a Binary files /dev/null and b/fuzz/corpora/cmp/02044430ff9b109af84306ce4e4db029d41cdcd0 differ diff --git a/fuzz/corpora/cmp/02078ac833c1ca1a82e64567d028a89e5ca0a749 b/fuzz/corpora/cmp/02078ac833c1ca1a82e64567d028a89e5ca0a749 new file mode 100644 index 00000000..2a8bd80b Binary files /dev/null and b/fuzz/corpora/cmp/02078ac833c1ca1a82e64567d028a89e5ca0a749 differ diff --git a/fuzz/corpora/cmp/023bec8eac500e87502dc2e00b8efe9e2fc38d8c b/fuzz/corpora/cmp/023bec8eac500e87502dc2e00b8efe9e2fc38d8c new file mode 100644 index 00000000..6eb1937a Binary files /dev/null and b/fuzz/corpora/cmp/023bec8eac500e87502dc2e00b8efe9e2fc38d8c differ diff --git a/fuzz/corpora/cmp/023dd48578775819a8cd3e0cfb4157f5d2595cbb b/fuzz/corpora/cmp/023dd48578775819a8cd3e0cfb4157f5d2595cbb new file mode 100644 index 00000000..6b92b613 Binary files /dev/null and b/fuzz/corpora/cmp/023dd48578775819a8cd3e0cfb4157f5d2595cbb differ diff --git a/fuzz/corpora/cmp/025eb3f164fb2163f4e282d555f015079404fe94 b/fuzz/corpora/cmp/025eb3f164fb2163f4e282d555f015079404fe94 new file mode 100644 index 00000000..1eba3658 Binary files /dev/null and b/fuzz/corpora/cmp/025eb3f164fb2163f4e282d555f015079404fe94 differ diff --git a/fuzz/corpora/cmp/0260751ad9d96018cd9270d86ca31cd67737e8d7 b/fuzz/corpora/cmp/0260751ad9d96018cd9270d86ca31cd67737e8d7 new file mode 100644 index 00000000..ea14e5f2 Binary files /dev/null and b/fuzz/corpora/cmp/0260751ad9d96018cd9270d86ca31cd67737e8d7 differ diff --git a/fuzz/corpora/cmp/026d31de8cadb0c5dbd89aec41b658958a36c70a b/fuzz/corpora/cmp/026d31de8cadb0c5dbd89aec41b658958a36c70a new file mode 100644 index 00000000..f216f9fb Binary files /dev/null and b/fuzz/corpora/cmp/026d31de8cadb0c5dbd89aec41b658958a36c70a differ diff --git a/fuzz/corpora/cmp/02734b866e1242cecd7718b545bc7e756eacce94 b/fuzz/corpora/cmp/02734b866e1242cecd7718b545bc7e756eacce94 new file mode 100644 index 00000000..23bb3025 Binary files /dev/null and b/fuzz/corpora/cmp/02734b866e1242cecd7718b545bc7e756eacce94 differ diff --git a/fuzz/corpora/cmp/0288d6cae560221ed1c09c63ec4ec69e20092a1b b/fuzz/corpora/cmp/0288d6cae560221ed1c09c63ec4ec69e20092a1b new file mode 100644 index 00000000..fd226122 Binary files /dev/null and b/fuzz/corpora/cmp/0288d6cae560221ed1c09c63ec4ec69e20092a1b differ diff --git a/fuzz/corpora/cmp/02901b3d2cbcf137c6e41542bd71c91ca3e2d031 b/fuzz/corpora/cmp/02901b3d2cbcf137c6e41542bd71c91ca3e2d031 new file mode 100644 index 00000000..083f6a04 Binary files /dev/null and b/fuzz/corpora/cmp/02901b3d2cbcf137c6e41542bd71c91ca3e2d031 differ diff --git a/fuzz/corpora/cmp/02d08f396b423d4cb59f9c0721f7fcce4c324e1f b/fuzz/corpora/cmp/02d08f396b423d4cb59f9c0721f7fcce4c324e1f new file mode 100644 index 00000000..5fb5a414 Binary files /dev/null and b/fuzz/corpora/cmp/02d08f396b423d4cb59f9c0721f7fcce4c324e1f differ diff --git a/fuzz/corpora/cmp/02eacca7c5270babfc9254c9aabb58ff908bb481 b/fuzz/corpora/cmp/02eacca7c5270babfc9254c9aabb58ff908bb481 new file mode 100644 index 00000000..500e6270 Binary files /dev/null and b/fuzz/corpora/cmp/02eacca7c5270babfc9254c9aabb58ff908bb481 differ diff --git a/fuzz/corpora/cmp/02eaf147639dfc2d5e6e0019eece8a59ca45844b b/fuzz/corpora/cmp/02eaf147639dfc2d5e6e0019eece8a59ca45844b new file mode 100644 index 00000000..eba26827 Binary files /dev/null and b/fuzz/corpora/cmp/02eaf147639dfc2d5e6e0019eece8a59ca45844b differ diff --git a/fuzz/corpora/cmp/030b72467417d97984be7e5b3f5d4a3be54603e5 b/fuzz/corpora/cmp/030b72467417d97984be7e5b3f5d4a3be54603e5 new file mode 100644 index 00000000..a5026ac7 Binary files /dev/null and b/fuzz/corpora/cmp/030b72467417d97984be7e5b3f5d4a3be54603e5 differ diff --git a/fuzz/corpora/cmp/0321e85e1af44b19387b3feda6ee292c0f789c9e b/fuzz/corpora/cmp/0321e85e1af44b19387b3feda6ee292c0f789c9e new file mode 100644 index 00000000..4b62e19e Binary files /dev/null and b/fuzz/corpora/cmp/0321e85e1af44b19387b3feda6ee292c0f789c9e differ diff --git a/fuzz/corpora/cmp/0328a3f322426da566dba995ba6fa3412bf9b03a b/fuzz/corpora/cmp/0328a3f322426da566dba995ba6fa3412bf9b03a new file mode 100644 index 00000000..abb27143 Binary files /dev/null and b/fuzz/corpora/cmp/0328a3f322426da566dba995ba6fa3412bf9b03a differ diff --git a/fuzz/corpora/cmp/033e9fcf8dc33735c2ee514e120967580ab8a7c7 b/fuzz/corpora/cmp/033e9fcf8dc33735c2ee514e120967580ab8a7c7 new file mode 100644 index 00000000..65d87bed Binary files /dev/null and b/fuzz/corpora/cmp/033e9fcf8dc33735c2ee514e120967580ab8a7c7 differ diff --git a/fuzz/corpora/cmp/0342157eed6c92807830049e3515c46dc69d03c8 b/fuzz/corpora/cmp/0342157eed6c92807830049e3515c46dc69d03c8 new file mode 100644 index 00000000..78f8986b Binary files /dev/null and b/fuzz/corpora/cmp/0342157eed6c92807830049e3515c46dc69d03c8 differ diff --git a/fuzz/corpora/cmp/0347010ba378fa4baed8566e4c6f0b1a7cb45362 b/fuzz/corpora/cmp/0347010ba378fa4baed8566e4c6f0b1a7cb45362 new file mode 100644 index 00000000..e2139227 Binary files /dev/null and b/fuzz/corpora/cmp/0347010ba378fa4baed8566e4c6f0b1a7cb45362 differ diff --git a/fuzz/corpora/cmp/037d4643a7a2eeb5a7061cb0a9b8046f39f2a7fa b/fuzz/corpora/cmp/037d4643a7a2eeb5a7061cb0a9b8046f39f2a7fa new file mode 100644 index 00000000..1b123a44 Binary files /dev/null and b/fuzz/corpora/cmp/037d4643a7a2eeb5a7061cb0a9b8046f39f2a7fa differ diff --git a/fuzz/corpora/cmp/03a0660dd8e9fa2e05b4c674fe22d25b42cc3929 b/fuzz/corpora/cmp/03a0660dd8e9fa2e05b4c674fe22d25b42cc3929 new file mode 100644 index 00000000..664f528f Binary files /dev/null and b/fuzz/corpora/cmp/03a0660dd8e9fa2e05b4c674fe22d25b42cc3929 differ diff --git a/fuzz/corpora/cmp/03a8714c9645a11037b6fe86e34f7c09be60a9db b/fuzz/corpora/cmp/03a8714c9645a11037b6fe86e34f7c09be60a9db new file mode 100644 index 00000000..2eba0213 Binary files /dev/null and b/fuzz/corpora/cmp/03a8714c9645a11037b6fe86e34f7c09be60a9db differ diff --git a/fuzz/corpora/cmp/03db9972f0074c9f4b78a78c7a0a6d3d7ec2fcb6 b/fuzz/corpora/cmp/03db9972f0074c9f4b78a78c7a0a6d3d7ec2fcb6 new file mode 100644 index 00000000..d1a4ebac Binary files /dev/null and b/fuzz/corpora/cmp/03db9972f0074c9f4b78a78c7a0a6d3d7ec2fcb6 differ diff --git a/fuzz/corpora/cmp/03e48739ff20a8c078ec944027545c5cac340a22 b/fuzz/corpora/cmp/03e48739ff20a8c078ec944027545c5cac340a22 new file mode 100644 index 00000000..59254c2b Binary files /dev/null and b/fuzz/corpora/cmp/03e48739ff20a8c078ec944027545c5cac340a22 differ diff --git a/fuzz/corpora/cmp/03e66f098aa62c827d59ca0cc7842545fce106be b/fuzz/corpora/cmp/03e66f098aa62c827d59ca0cc7842545fce106be new file mode 100644 index 00000000..2ce19dbf Binary files /dev/null and b/fuzz/corpora/cmp/03e66f098aa62c827d59ca0cc7842545fce106be differ diff --git a/fuzz/corpora/cmp/03edb0efa451949c1f6b1350da73f51111438fd2 b/fuzz/corpora/cmp/03edb0efa451949c1f6b1350da73f51111438fd2 new file mode 100644 index 00000000..3d991809 Binary files /dev/null and b/fuzz/corpora/cmp/03edb0efa451949c1f6b1350da73f51111438fd2 differ diff --git a/fuzz/corpora/cmp/040560da468b46594b9818f04c3ad20ad72a13be b/fuzz/corpora/cmp/040560da468b46594b9818f04c3ad20ad72a13be new file mode 100644 index 00000000..015caa41 Binary files /dev/null and b/fuzz/corpora/cmp/040560da468b46594b9818f04c3ad20ad72a13be differ diff --git a/fuzz/corpora/cmp/041a8e7d9fdf4d563a45c31d3c2a2ba7e981fe74 b/fuzz/corpora/cmp/041a8e7d9fdf4d563a45c31d3c2a2ba7e981fe74 new file mode 100644 index 00000000..86b3c986 Binary files /dev/null and b/fuzz/corpora/cmp/041a8e7d9fdf4d563a45c31d3c2a2ba7e981fe74 differ diff --git a/fuzz/corpora/cmp/04249135ae61b08ca3d41db4ae6117a9135d2a34 b/fuzz/corpora/cmp/04249135ae61b08ca3d41db4ae6117a9135d2a34 new file mode 100644 index 00000000..4c2dc53c Binary files /dev/null and b/fuzz/corpora/cmp/04249135ae61b08ca3d41db4ae6117a9135d2a34 differ diff --git a/fuzz/corpora/cmp/04264a7ca1f82232988ba7a69d9cbc608f4cc19e b/fuzz/corpora/cmp/04264a7ca1f82232988ba7a69d9cbc608f4cc19e new file mode 100644 index 00000000..fca2a781 Binary files /dev/null and b/fuzz/corpora/cmp/04264a7ca1f82232988ba7a69d9cbc608f4cc19e differ diff --git a/fuzz/corpora/cmp/043449c6049dd0c51e596fba230c124abd9149f8 b/fuzz/corpora/cmp/043449c6049dd0c51e596fba230c124abd9149f8 new file mode 100644 index 00000000..34a91810 Binary files /dev/null and b/fuzz/corpora/cmp/043449c6049dd0c51e596fba230c124abd9149f8 differ diff --git a/fuzz/corpora/cmp/0441e88c904f784f7745ca20d0ab768572930111 b/fuzz/corpora/cmp/0441e88c904f784f7745ca20d0ab768572930111 new file mode 100644 index 00000000..5a3497b5 Binary files /dev/null and b/fuzz/corpora/cmp/0441e88c904f784f7745ca20d0ab768572930111 differ diff --git a/fuzz/corpora/cmp/044b8aba6c692e064c05220e8fa2f2defc048708 b/fuzz/corpora/cmp/044b8aba6c692e064c05220e8fa2f2defc048708 new file mode 100644 index 00000000..aa771561 Binary files /dev/null and b/fuzz/corpora/cmp/044b8aba6c692e064c05220e8fa2f2defc048708 differ diff --git a/fuzz/corpora/cmp/0469deb70ec43e67cd0a909fd9449a39c4785160 b/fuzz/corpora/cmp/0469deb70ec43e67cd0a909fd9449a39c4785160 new file mode 100644 index 00000000..7164a03e Binary files /dev/null and b/fuzz/corpora/cmp/0469deb70ec43e67cd0a909fd9449a39c4785160 differ diff --git a/fuzz/corpora/cmp/04870a652b2a105f0096d801f54a0228f0595f33 b/fuzz/corpora/cmp/04870a652b2a105f0096d801f54a0228f0595f33 new file mode 100644 index 00000000..1af291c5 Binary files /dev/null and b/fuzz/corpora/cmp/04870a652b2a105f0096d801f54a0228f0595f33 differ diff --git a/fuzz/corpora/cmp/0493e587f43d3d2e43dd67da700d6a8c0f8bb732 b/fuzz/corpora/cmp/0493e587f43d3d2e43dd67da700d6a8c0f8bb732 new file mode 100644 index 00000000..f709a378 Binary files /dev/null and b/fuzz/corpora/cmp/0493e587f43d3d2e43dd67da700d6a8c0f8bb732 differ diff --git a/fuzz/corpora/cmp/0494a399373210f2094a9d491d6db1d0047f9b60 b/fuzz/corpora/cmp/0494a399373210f2094a9d491d6db1d0047f9b60 new file mode 100644 index 00000000..487743db Binary files /dev/null and b/fuzz/corpora/cmp/0494a399373210f2094a9d491d6db1d0047f9b60 differ diff --git a/fuzz/corpora/cmp/04ae01cf39e971a10928af574b874fe625bbe916 b/fuzz/corpora/cmp/04ae01cf39e971a10928af574b874fe625bbe916 new file mode 100644 index 00000000..05b38093 Binary files /dev/null and b/fuzz/corpora/cmp/04ae01cf39e971a10928af574b874fe625bbe916 differ diff --git a/fuzz/corpora/cmp/04b4690df8c43dfce1b0dbc88a3450b501afb8a6 b/fuzz/corpora/cmp/04b4690df8c43dfce1b0dbc88a3450b501afb8a6 new file mode 100644 index 00000000..9d36f067 Binary files /dev/null and b/fuzz/corpora/cmp/04b4690df8c43dfce1b0dbc88a3450b501afb8a6 differ diff --git a/fuzz/corpora/cmp/04cb4319804d54c0464f57ebc9c139d63b1e2cf1 b/fuzz/corpora/cmp/04cb4319804d54c0464f57ebc9c139d63b1e2cf1 new file mode 100644 index 00000000..66154b08 Binary files /dev/null and b/fuzz/corpora/cmp/04cb4319804d54c0464f57ebc9c139d63b1e2cf1 differ diff --git a/fuzz/corpora/cmp/04e883f615039ef359bbae5fd6b3f9940ef6dad0 b/fuzz/corpora/cmp/04e883f615039ef359bbae5fd6b3f9940ef6dad0 new file mode 100644 index 00000000..4f1a5f2a Binary files /dev/null and b/fuzz/corpora/cmp/04e883f615039ef359bbae5fd6b3f9940ef6dad0 differ diff --git a/fuzz/corpora/cmp/04ef9157d1b9ffcd00a40a2cd06466b1974c42ea b/fuzz/corpora/cmp/04ef9157d1b9ffcd00a40a2cd06466b1974c42ea new file mode 100644 index 00000000..5d2d609c Binary files /dev/null and b/fuzz/corpora/cmp/04ef9157d1b9ffcd00a40a2cd06466b1974c42ea differ diff --git a/fuzz/corpora/cmp/04f6c51609eff482e335c3574b5c6029d203ae13 b/fuzz/corpora/cmp/04f6c51609eff482e335c3574b5c6029d203ae13 new file mode 100644 index 00000000..6aa8f522 Binary files /dev/null and b/fuzz/corpora/cmp/04f6c51609eff482e335c3574b5c6029d203ae13 differ diff --git a/fuzz/corpora/cmp/0508437c98efd8e337e0410dc201991c843c7e25 b/fuzz/corpora/cmp/0508437c98efd8e337e0410dc201991c843c7e25 new file mode 100644 index 00000000..f848bb94 Binary files /dev/null and b/fuzz/corpora/cmp/0508437c98efd8e337e0410dc201991c843c7e25 differ diff --git a/fuzz/corpora/cmp/052cd5edec9effc4e664cdc63387df5bb7e9d8b8 b/fuzz/corpora/cmp/052cd5edec9effc4e664cdc63387df5bb7e9d8b8 new file mode 100644 index 00000000..d101b6ae Binary files /dev/null and b/fuzz/corpora/cmp/052cd5edec9effc4e664cdc63387df5bb7e9d8b8 differ diff --git a/fuzz/corpora/cmp/0533ed0d19e67d732470fb42c219b8cd9f88032b b/fuzz/corpora/cmp/0533ed0d19e67d732470fb42c219b8cd9f88032b new file mode 100644 index 00000000..ffb29430 Binary files /dev/null and b/fuzz/corpora/cmp/0533ed0d19e67d732470fb42c219b8cd9f88032b differ diff --git a/fuzz/corpora/cmp/053603e71d4cfb039c5cf657a15125bceb484500 b/fuzz/corpora/cmp/053603e71d4cfb039c5cf657a15125bceb484500 new file mode 100644 index 00000000..77b41b1c Binary files /dev/null and b/fuzz/corpora/cmp/053603e71d4cfb039c5cf657a15125bceb484500 differ diff --git a/fuzz/corpora/cmp/05483dc35c9d6abc12e134a666b5a4e48b8d6a75 b/fuzz/corpora/cmp/05483dc35c9d6abc12e134a666b5a4e48b8d6a75 new file mode 100644 index 00000000..29c60be6 Binary files /dev/null and b/fuzz/corpora/cmp/05483dc35c9d6abc12e134a666b5a4e48b8d6a75 differ diff --git a/fuzz/corpora/cmp/0557a942485d0235e68999d8e4be1c5ba0b93d8c b/fuzz/corpora/cmp/0557a942485d0235e68999d8e4be1c5ba0b93d8c new file mode 100644 index 00000000..62d1c722 Binary files /dev/null and b/fuzz/corpora/cmp/0557a942485d0235e68999d8e4be1c5ba0b93d8c differ diff --git a/fuzz/corpora/cmp/056a25676663dc559c0a252b48dab26e6a213088 b/fuzz/corpora/cmp/056a25676663dc559c0a252b48dab26e6a213088 new file mode 100644 index 00000000..738b7cf7 Binary files /dev/null and b/fuzz/corpora/cmp/056a25676663dc559c0a252b48dab26e6a213088 differ diff --git a/fuzz/corpora/cmp/056a68f36f21a62b5f1e8afd85e6e585adbb87b1 b/fuzz/corpora/cmp/056a68f36f21a62b5f1e8afd85e6e585adbb87b1 new file mode 100644 index 00000000..5954f660 Binary files /dev/null and b/fuzz/corpora/cmp/056a68f36f21a62b5f1e8afd85e6e585adbb87b1 differ diff --git a/fuzz/corpora/cmp/057a88bf27de16bdc99428e24fab090536edc93f b/fuzz/corpora/cmp/057a88bf27de16bdc99428e24fab090536edc93f new file mode 100644 index 00000000..c9003026 Binary files /dev/null and b/fuzz/corpora/cmp/057a88bf27de16bdc99428e24fab090536edc93f differ diff --git a/fuzz/corpora/cmp/0588f0a85c1f1570640f1ab598ccda1f4952ee74 b/fuzz/corpora/cmp/0588f0a85c1f1570640f1ab598ccda1f4952ee74 new file mode 100644 index 00000000..cc24af1d Binary files /dev/null and b/fuzz/corpora/cmp/0588f0a85c1f1570640f1ab598ccda1f4952ee74 differ diff --git a/fuzz/corpora/cmp/0596308e7d0bc2d358704682fd477548c4e614ab b/fuzz/corpora/cmp/0596308e7d0bc2d358704682fd477548c4e614ab new file mode 100644 index 00000000..21f8f9ce Binary files /dev/null and b/fuzz/corpora/cmp/0596308e7d0bc2d358704682fd477548c4e614ab differ diff --git a/fuzz/corpora/cmp/05c700c867d9aebe39e64527356386814b9e4dc3 b/fuzz/corpora/cmp/05c700c867d9aebe39e64527356386814b9e4dc3 new file mode 100644 index 00000000..f7cc156d Binary files /dev/null and b/fuzz/corpora/cmp/05c700c867d9aebe39e64527356386814b9e4dc3 differ diff --git a/fuzz/corpora/cmp/05cc5ff0bb00db74bdef0fbbc347b71b9f8326f0 b/fuzz/corpora/cmp/05cc5ff0bb00db74bdef0fbbc347b71b9f8326f0 new file mode 100644 index 00000000..00c25a66 Binary files /dev/null and b/fuzz/corpora/cmp/05cc5ff0bb00db74bdef0fbbc347b71b9f8326f0 differ diff --git a/fuzz/corpora/cmp/05d50810c47f9c6a53575df9127793144c014d2e b/fuzz/corpora/cmp/05d50810c47f9c6a53575df9127793144c014d2e new file mode 100644 index 00000000..3b9b5943 Binary files /dev/null and b/fuzz/corpora/cmp/05d50810c47f9c6a53575df9127793144c014d2e differ diff --git a/fuzz/corpora/cmp/05e137b959a55ba788e2b49cabed568cb5ae5d51 b/fuzz/corpora/cmp/05e137b959a55ba788e2b49cabed568cb5ae5d51 new file mode 100644 index 00000000..8ff2bb41 Binary files /dev/null and b/fuzz/corpora/cmp/05e137b959a55ba788e2b49cabed568cb5ae5d51 differ diff --git a/fuzz/corpora/cmp/05e8d942f3402eadbed10c67fd67941fb366a8c7 b/fuzz/corpora/cmp/05e8d942f3402eadbed10c67fd67941fb366a8c7 new file mode 100644 index 00000000..3b849c6c Binary files /dev/null and b/fuzz/corpora/cmp/05e8d942f3402eadbed10c67fd67941fb366a8c7 differ diff --git a/fuzz/corpora/cmp/05ed7c379b1fc54d3e32485945d048c25ecddab7 b/fuzz/corpora/cmp/05ed7c379b1fc54d3e32485945d048c25ecddab7 new file mode 100644 index 00000000..1db956a4 Binary files /dev/null and b/fuzz/corpora/cmp/05ed7c379b1fc54d3e32485945d048c25ecddab7 differ diff --git a/fuzz/corpora/cmp/05f95efdb3dc230ffc4f28175caa5b11a4af1745 b/fuzz/corpora/cmp/05f95efdb3dc230ffc4f28175caa5b11a4af1745 new file mode 100644 index 00000000..76b4bc81 Binary files /dev/null and b/fuzz/corpora/cmp/05f95efdb3dc230ffc4f28175caa5b11a4af1745 differ diff --git a/fuzz/corpora/cmp/05fffc797ac9ae7d2698877877609df5e46e3046 b/fuzz/corpora/cmp/05fffc797ac9ae7d2698877877609df5e46e3046 new file mode 100644 index 00000000..3eff3243 Binary files /dev/null and b/fuzz/corpora/cmp/05fffc797ac9ae7d2698877877609df5e46e3046 differ diff --git a/fuzz/corpora/cmp/060690ef545a64a50ccc4abe850e8b807b3b2b3b b/fuzz/corpora/cmp/060690ef545a64a50ccc4abe850e8b807b3b2b3b new file mode 100644 index 00000000..87040a5c Binary files /dev/null and b/fuzz/corpora/cmp/060690ef545a64a50ccc4abe850e8b807b3b2b3b differ diff --git a/fuzz/corpora/cmp/0621629eb568af0c5031b618891535d739c84d8a b/fuzz/corpora/cmp/0621629eb568af0c5031b618891535d739c84d8a new file mode 100644 index 00000000..cd98120b Binary files /dev/null and b/fuzz/corpora/cmp/0621629eb568af0c5031b618891535d739c84d8a differ diff --git a/fuzz/corpora/cmp/063631821552b8e03939472f98ec1644793eccf9 b/fuzz/corpora/cmp/063631821552b8e03939472f98ec1644793eccf9 new file mode 100644 index 00000000..7e7500c3 Binary files /dev/null and b/fuzz/corpora/cmp/063631821552b8e03939472f98ec1644793eccf9 differ diff --git a/fuzz/corpora/cmp/064a5c4593df5a038a729140c1bbc0f904d9ad47 b/fuzz/corpora/cmp/064a5c4593df5a038a729140c1bbc0f904d9ad47 new file mode 100644 index 00000000..65db7e51 Binary files /dev/null and b/fuzz/corpora/cmp/064a5c4593df5a038a729140c1bbc0f904d9ad47 differ diff --git a/fuzz/corpora/cmp/064fbe88acd5d581954dce010245973fee21f624 b/fuzz/corpora/cmp/064fbe88acd5d581954dce010245973fee21f624 new file mode 100644 index 00000000..5e7ab089 Binary files /dev/null and b/fuzz/corpora/cmp/064fbe88acd5d581954dce010245973fee21f624 differ diff --git a/fuzz/corpora/cmp/065c4ae59c99ecd754f3cac6eea1b099f3115423 b/fuzz/corpora/cmp/065c4ae59c99ecd754f3cac6eea1b099f3115423 new file mode 100644 index 00000000..a1eae2b5 Binary files /dev/null and b/fuzz/corpora/cmp/065c4ae59c99ecd754f3cac6eea1b099f3115423 differ diff --git a/fuzz/corpora/cmp/06742bd787ca595128064966e4ee365d313ffb6e b/fuzz/corpora/cmp/06742bd787ca595128064966e4ee365d313ffb6e new file mode 100644 index 00000000..28d0d2c2 Binary files /dev/null and b/fuzz/corpora/cmp/06742bd787ca595128064966e4ee365d313ffb6e differ diff --git a/fuzz/corpora/cmp/06875346dd997ae465697318c83ee66740926b77 b/fuzz/corpora/cmp/06875346dd997ae465697318c83ee66740926b77 new file mode 100644 index 00000000..4824e427 Binary files /dev/null and b/fuzz/corpora/cmp/06875346dd997ae465697318c83ee66740926b77 differ diff --git a/fuzz/corpora/cmp/069b9f6a825c08b5139d668bc2a27df5957d11bb b/fuzz/corpora/cmp/069b9f6a825c08b5139d668bc2a27df5957d11bb new file mode 100644 index 00000000..28def4c8 Binary files /dev/null and b/fuzz/corpora/cmp/069b9f6a825c08b5139d668bc2a27df5957d11bb differ diff --git a/fuzz/corpora/cmp/06aba30b66f6e98527a92657db3b78fd63f98506 b/fuzz/corpora/cmp/06aba30b66f6e98527a92657db3b78fd63f98506 new file mode 100644 index 00000000..0a2051c0 Binary files /dev/null and b/fuzz/corpora/cmp/06aba30b66f6e98527a92657db3b78fd63f98506 differ diff --git a/fuzz/corpora/cmp/06afbcb816a3576b5d3b9503317f36e39cd6db14 b/fuzz/corpora/cmp/06afbcb816a3576b5d3b9503317f36e39cd6db14 new file mode 100644 index 00000000..64495c86 Binary files /dev/null and b/fuzz/corpora/cmp/06afbcb816a3576b5d3b9503317f36e39cd6db14 differ diff --git a/fuzz/corpora/cmp/06d37f948f68ef1200eecce3f892b6b69a69a7cb b/fuzz/corpora/cmp/06d37f948f68ef1200eecce3f892b6b69a69a7cb new file mode 100644 index 00000000..c7c6e017 Binary files /dev/null and b/fuzz/corpora/cmp/06d37f948f68ef1200eecce3f892b6b69a69a7cb differ diff --git a/fuzz/corpora/cmp/06d81284680e87b18d590ec0cc1e56b0e33b1316 b/fuzz/corpora/cmp/06d81284680e87b18d590ec0cc1e56b0e33b1316 new file mode 100644 index 00000000..428b7f7d Binary files /dev/null and b/fuzz/corpora/cmp/06d81284680e87b18d590ec0cc1e56b0e33b1316 differ diff --git a/fuzz/corpora/cmp/06f04d4b1a7c9a5b772b08696cb85fe447fd949e b/fuzz/corpora/cmp/06f04d4b1a7c9a5b772b08696cb85fe447fd949e new file mode 100644 index 00000000..861c1a95 Binary files /dev/null and b/fuzz/corpora/cmp/06f04d4b1a7c9a5b772b08696cb85fe447fd949e differ diff --git a/fuzz/corpora/cmp/06f48af08fd9202046c5a568d6679da81c7ea159 b/fuzz/corpora/cmp/06f48af08fd9202046c5a568d6679da81c7ea159 new file mode 100644 index 00000000..981b9868 Binary files /dev/null and b/fuzz/corpora/cmp/06f48af08fd9202046c5a568d6679da81c7ea159 differ diff --git a/fuzz/corpora/cmp/0712bd2dd23e276cac3ce70e9950c13714597c27 b/fuzz/corpora/cmp/0712bd2dd23e276cac3ce70e9950c13714597c27 new file mode 100644 index 00000000..8d608eb3 Binary files /dev/null and b/fuzz/corpora/cmp/0712bd2dd23e276cac3ce70e9950c13714597c27 differ diff --git a/fuzz/corpora/cmp/072963256f4180bc64476f9e97b4312fc722c18a b/fuzz/corpora/cmp/072963256f4180bc64476f9e97b4312fc722c18a new file mode 100644 index 00000000..940ef308 Binary files /dev/null and b/fuzz/corpora/cmp/072963256f4180bc64476f9e97b4312fc722c18a differ diff --git a/fuzz/corpora/cmp/072dbc5741719cea53614efb471efcd6ecb5116b b/fuzz/corpora/cmp/072dbc5741719cea53614efb471efcd6ecb5116b new file mode 100644 index 00000000..023e0bba Binary files /dev/null and b/fuzz/corpora/cmp/072dbc5741719cea53614efb471efcd6ecb5116b differ diff --git a/fuzz/corpora/cmp/07452caeba7c3349b7179fc24bc4eb5669b92a34 b/fuzz/corpora/cmp/07452caeba7c3349b7179fc24bc4eb5669b92a34 new file mode 100644 index 00000000..1fbc029e Binary files /dev/null and b/fuzz/corpora/cmp/07452caeba7c3349b7179fc24bc4eb5669b92a34 differ diff --git a/fuzz/corpora/cmp/07488840e31cc52c40bef796cc4524ca45bf5452 b/fuzz/corpora/cmp/07488840e31cc52c40bef796cc4524ca45bf5452 new file mode 100644 index 00000000..5cea578d Binary files /dev/null and b/fuzz/corpora/cmp/07488840e31cc52c40bef796cc4524ca45bf5452 differ diff --git a/fuzz/corpora/cmp/0776f4f03dd006e332b1f10ef3fed9a40dfeeb9d b/fuzz/corpora/cmp/0776f4f03dd006e332b1f10ef3fed9a40dfeeb9d new file mode 100644 index 00000000..df03d836 Binary files /dev/null and b/fuzz/corpora/cmp/0776f4f03dd006e332b1f10ef3fed9a40dfeeb9d differ diff --git a/fuzz/corpora/cmp/0780635cfd46177996ddb91b1fb6a28b153956f6 b/fuzz/corpora/cmp/0780635cfd46177996ddb91b1fb6a28b153956f6 new file mode 100644 index 00000000..dd45795b Binary files /dev/null and b/fuzz/corpora/cmp/0780635cfd46177996ddb91b1fb6a28b153956f6 differ diff --git a/fuzz/corpora/cmp/07a47e4bc41b61517381ed33fd33d319b2321a58 b/fuzz/corpora/cmp/07a47e4bc41b61517381ed33fd33d319b2321a58 new file mode 100644 index 00000000..8f84365c Binary files /dev/null and b/fuzz/corpora/cmp/07a47e4bc41b61517381ed33fd33d319b2321a58 differ diff --git a/fuzz/corpora/cmp/07abdad9b88ab71afbb2f415d269aa3d371ab993 b/fuzz/corpora/cmp/07abdad9b88ab71afbb2f415d269aa3d371ab993 new file mode 100644 index 00000000..61e6b95c Binary files /dev/null and b/fuzz/corpora/cmp/07abdad9b88ab71afbb2f415d269aa3d371ab993 differ diff --git a/fuzz/corpora/cmp/07bfa799d2bf8df109d9a39806db1ddc6aba99c2 b/fuzz/corpora/cmp/07bfa799d2bf8df109d9a39806db1ddc6aba99c2 new file mode 100644 index 00000000..70b11250 Binary files /dev/null and b/fuzz/corpora/cmp/07bfa799d2bf8df109d9a39806db1ddc6aba99c2 differ diff --git a/fuzz/corpora/cmp/07c7112a68a387b46686bf3aa7537a12b363eb64 b/fuzz/corpora/cmp/07c7112a68a387b46686bf3aa7537a12b363eb64 new file mode 100644 index 00000000..d7a1ef76 Binary files /dev/null and b/fuzz/corpora/cmp/07c7112a68a387b46686bf3aa7537a12b363eb64 differ diff --git a/fuzz/corpora/cmp/07cef1b41acb6410a7909f75a3841c1412ebc2ef b/fuzz/corpora/cmp/07cef1b41acb6410a7909f75a3841c1412ebc2ef new file mode 100644 index 00000000..3b316806 Binary files /dev/null and b/fuzz/corpora/cmp/07cef1b41acb6410a7909f75a3841c1412ebc2ef differ diff --git a/fuzz/corpora/cmp/07d281ead82e86d3223f0c837bee4cb8cdd1f11e b/fuzz/corpora/cmp/07d281ead82e86d3223f0c837bee4cb8cdd1f11e new file mode 100644 index 00000000..5a2c0bec Binary files /dev/null and b/fuzz/corpora/cmp/07d281ead82e86d3223f0c837bee4cb8cdd1f11e differ diff --git a/fuzz/corpora/cmp/07fa978dfaa349c9143c4a375e3dab4dc1d978f7 b/fuzz/corpora/cmp/07fa978dfaa349c9143c4a375e3dab4dc1d978f7 new file mode 100644 index 00000000..2142823a Binary files /dev/null and b/fuzz/corpora/cmp/07fa978dfaa349c9143c4a375e3dab4dc1d978f7 differ diff --git a/fuzz/corpora/cmp/08006faad8ee96b6fc1f2f049cf732ac536f031c b/fuzz/corpora/cmp/08006faad8ee96b6fc1f2f049cf732ac536f031c new file mode 100644 index 00000000..257249f0 Binary files /dev/null and b/fuzz/corpora/cmp/08006faad8ee96b6fc1f2f049cf732ac536f031c differ diff --git a/fuzz/corpora/cmp/080cd42986f43148be591d68ca1c90d0ba77543c b/fuzz/corpora/cmp/080cd42986f43148be591d68ca1c90d0ba77543c new file mode 100644 index 00000000..29de375c Binary files /dev/null and b/fuzz/corpora/cmp/080cd42986f43148be591d68ca1c90d0ba77543c differ diff --git a/fuzz/corpora/cmp/0810f7fabcfc30da1f67de70667368493ec353be b/fuzz/corpora/cmp/0810f7fabcfc30da1f67de70667368493ec353be new file mode 100644 index 00000000..77fa7e8a Binary files /dev/null and b/fuzz/corpora/cmp/0810f7fabcfc30da1f67de70667368493ec353be differ diff --git a/fuzz/corpora/cmp/084f724df50c4e5d6d9b40020bfd8aef282dd289 b/fuzz/corpora/cmp/084f724df50c4e5d6d9b40020bfd8aef282dd289 new file mode 100644 index 00000000..9bcc0fb1 Binary files /dev/null and b/fuzz/corpora/cmp/084f724df50c4e5d6d9b40020bfd8aef282dd289 differ diff --git a/fuzz/corpora/cmp/086b78d1b932575fda87c2d929c3c05289015e0e b/fuzz/corpora/cmp/086b78d1b932575fda87c2d929c3c05289015e0e new file mode 100644 index 00000000..6c98b7b1 Binary files /dev/null and b/fuzz/corpora/cmp/086b78d1b932575fda87c2d929c3c05289015e0e differ diff --git a/fuzz/corpora/cmp/088440af8aa60796a46a4e6c434a2527389ce79d b/fuzz/corpora/cmp/088440af8aa60796a46a4e6c434a2527389ce79d new file mode 100644 index 00000000..36936df6 Binary files /dev/null and b/fuzz/corpora/cmp/088440af8aa60796a46a4e6c434a2527389ce79d differ diff --git a/fuzz/corpora/cmp/08a12190cdbf5791b0cfd0dd50bd8c1abfb11498 b/fuzz/corpora/cmp/08a12190cdbf5791b0cfd0dd50bd8c1abfb11498 new file mode 100644 index 00000000..62a035bd Binary files /dev/null and b/fuzz/corpora/cmp/08a12190cdbf5791b0cfd0dd50bd8c1abfb11498 differ diff --git a/fuzz/corpora/cmp/08acbbb82e29b533828fb38584b57133df632ca3 b/fuzz/corpora/cmp/08acbbb82e29b533828fb38584b57133df632ca3 new file mode 100644 index 00000000..f871c1fa Binary files /dev/null and b/fuzz/corpora/cmp/08acbbb82e29b533828fb38584b57133df632ca3 differ diff --git a/fuzz/corpora/cmp/08c36893cd9bb762c5bea90ce78462cb7dc29912 b/fuzz/corpora/cmp/08c36893cd9bb762c5bea90ce78462cb7dc29912 new file mode 100644 index 00000000..ebb0b1a4 Binary files /dev/null and b/fuzz/corpora/cmp/08c36893cd9bb762c5bea90ce78462cb7dc29912 differ diff --git a/fuzz/corpora/cmp/08c73e5e6f73dc1cce84de00c06026591bdfc112 b/fuzz/corpora/cmp/08c73e5e6f73dc1cce84de00c06026591bdfc112 new file mode 100644 index 00000000..3c9a05d8 Binary files /dev/null and b/fuzz/corpora/cmp/08c73e5e6f73dc1cce84de00c06026591bdfc112 differ diff --git a/fuzz/corpora/cmp/08c9fb1a06f8aed24f615cc988dc42e4307df404 b/fuzz/corpora/cmp/08c9fb1a06f8aed24f615cc988dc42e4307df404 new file mode 100644 index 00000000..a79b7afd Binary files /dev/null and b/fuzz/corpora/cmp/08c9fb1a06f8aed24f615cc988dc42e4307df404 differ diff --git a/fuzz/corpora/cmp/08ce63e18c47319e4a40a971cf9cf58d20492410 b/fuzz/corpora/cmp/08ce63e18c47319e4a40a971cf9cf58d20492410 new file mode 100644 index 00000000..db4dee4d Binary files /dev/null and b/fuzz/corpora/cmp/08ce63e18c47319e4a40a971cf9cf58d20492410 differ diff --git a/fuzz/corpora/cmp/08d1fd7adc05a14a381969580f210fbcfcfbcfe8 b/fuzz/corpora/cmp/08d1fd7adc05a14a381969580f210fbcfcfbcfe8 new file mode 100644 index 00000000..10d590de Binary files /dev/null and b/fuzz/corpora/cmp/08d1fd7adc05a14a381969580f210fbcfcfbcfe8 differ diff --git a/fuzz/corpora/cmp/08daa432aa0ac6dd4158a3cbe821b36316733ec9 b/fuzz/corpora/cmp/08daa432aa0ac6dd4158a3cbe821b36316733ec9 new file mode 100644 index 00000000..667d16a9 Binary files /dev/null and b/fuzz/corpora/cmp/08daa432aa0ac6dd4158a3cbe821b36316733ec9 differ diff --git a/fuzz/corpora/cmp/08e6a467ad911418bb55536820d9d5da67d271c1 b/fuzz/corpora/cmp/08e6a467ad911418bb55536820d9d5da67d271c1 new file mode 100644 index 00000000..8cb03ee6 Binary files /dev/null and b/fuzz/corpora/cmp/08e6a467ad911418bb55536820d9d5da67d271c1 differ diff --git a/fuzz/corpora/cmp/08e89804adbd485a7a51dc8ed63da039d9d8ece7 b/fuzz/corpora/cmp/08e89804adbd485a7a51dc8ed63da039d9d8ece7 new file mode 100644 index 00000000..4891a8bd Binary files /dev/null and b/fuzz/corpora/cmp/08e89804adbd485a7a51dc8ed63da039d9d8ece7 differ diff --git a/fuzz/corpora/cmp/09093e24c24ffc5fdb61896608214b74565f4890 b/fuzz/corpora/cmp/09093e24c24ffc5fdb61896608214b74565f4890 new file mode 100644 index 00000000..b75a78b3 Binary files /dev/null and b/fuzz/corpora/cmp/09093e24c24ffc5fdb61896608214b74565f4890 differ diff --git a/fuzz/corpora/cmp/0916f533fad3846ab0f28318524391bfa6d31ba2 b/fuzz/corpora/cmp/0916f533fad3846ab0f28318524391bfa6d31ba2 new file mode 100644 index 00000000..b8547e00 Binary files /dev/null and b/fuzz/corpora/cmp/0916f533fad3846ab0f28318524391bfa6d31ba2 differ diff --git a/fuzz/corpora/cmp/0936d45328b5d394c35b9a04c3fb6626fe4a1503 b/fuzz/corpora/cmp/0936d45328b5d394c35b9a04c3fb6626fe4a1503 new file mode 100644 index 00000000..3c75e227 Binary files /dev/null and b/fuzz/corpora/cmp/0936d45328b5d394c35b9a04c3fb6626fe4a1503 differ diff --git a/fuzz/corpora/cmp/0942a0d029f99277ae964f32d6292cdac84b40bb b/fuzz/corpora/cmp/0942a0d029f99277ae964f32d6292cdac84b40bb new file mode 100644 index 00000000..1a61e7a4 Binary files /dev/null and b/fuzz/corpora/cmp/0942a0d029f99277ae964f32d6292cdac84b40bb differ diff --git a/fuzz/corpora/cmp/09493048fdbd10ccc2d36a93a6c521be1d6a1f62 b/fuzz/corpora/cmp/09493048fdbd10ccc2d36a93a6c521be1d6a1f62 new file mode 100644 index 00000000..a0003e8a Binary files /dev/null and b/fuzz/corpora/cmp/09493048fdbd10ccc2d36a93a6c521be1d6a1f62 differ diff --git a/fuzz/corpora/cmp/095b4c1057e5798d2f72cd29e46a6dbdea970827 b/fuzz/corpora/cmp/095b4c1057e5798d2f72cd29e46a6dbdea970827 new file mode 100644 index 00000000..f452591a Binary files /dev/null and b/fuzz/corpora/cmp/095b4c1057e5798d2f72cd29e46a6dbdea970827 differ diff --git a/fuzz/corpora/cmp/096062bce8d742c594917bd985e015d7b935b8fa b/fuzz/corpora/cmp/096062bce8d742c594917bd985e015d7b935b8fa new file mode 100644 index 00000000..f2d2f1f0 Binary files /dev/null and b/fuzz/corpora/cmp/096062bce8d742c594917bd985e015d7b935b8fa differ diff --git a/fuzz/corpora/cmp/096c79f5396b50ef5d42ca44992f6fdf068e0f1b b/fuzz/corpora/cmp/096c79f5396b50ef5d42ca44992f6fdf068e0f1b new file mode 100644 index 00000000..052caa13 Binary files /dev/null and b/fuzz/corpora/cmp/096c79f5396b50ef5d42ca44992f6fdf068e0f1b differ diff --git a/fuzz/corpora/cmp/0981c55bb1c2e1dd9437dfd6b881e20aeb403bc3 b/fuzz/corpora/cmp/0981c55bb1c2e1dd9437dfd6b881e20aeb403bc3 new file mode 100644 index 00000000..c10b3abd Binary files /dev/null and b/fuzz/corpora/cmp/0981c55bb1c2e1dd9437dfd6b881e20aeb403bc3 differ diff --git a/fuzz/corpora/cmp/09abc0e2f63c72208a3af28c196f8626373d8d78 b/fuzz/corpora/cmp/09abc0e2f63c72208a3af28c196f8626373d8d78 new file mode 100644 index 00000000..3ab22186 Binary files /dev/null and b/fuzz/corpora/cmp/09abc0e2f63c72208a3af28c196f8626373d8d78 differ diff --git a/fuzz/corpora/cmp/09b4f928c02a255126bea2234526d9b5e704947e b/fuzz/corpora/cmp/09b4f928c02a255126bea2234526d9b5e704947e new file mode 100644 index 00000000..a1c19642 Binary files /dev/null and b/fuzz/corpora/cmp/09b4f928c02a255126bea2234526d9b5e704947e differ diff --git a/fuzz/corpora/cmp/09b7cbf68d328fc0ed151b459aca605793f72787 b/fuzz/corpora/cmp/09b7cbf68d328fc0ed151b459aca605793f72787 new file mode 100644 index 00000000..91f1e116 Binary files /dev/null and b/fuzz/corpora/cmp/09b7cbf68d328fc0ed151b459aca605793f72787 differ diff --git a/fuzz/corpora/cmp/09c0c4cc26a43df8e038a2fe373126aff37aff9c b/fuzz/corpora/cmp/09c0c4cc26a43df8e038a2fe373126aff37aff9c new file mode 100644 index 00000000..3a55d3ca Binary files /dev/null and b/fuzz/corpora/cmp/09c0c4cc26a43df8e038a2fe373126aff37aff9c differ diff --git a/fuzz/corpora/cmp/09de59f4578faa8de375139c8cef124190f796e7 b/fuzz/corpora/cmp/09de59f4578faa8de375139c8cef124190f796e7 new file mode 100644 index 00000000..75d09a4c Binary files /dev/null and b/fuzz/corpora/cmp/09de59f4578faa8de375139c8cef124190f796e7 differ diff --git a/fuzz/corpora/cmp/09e8afdd6276a74bc7a61734a04d24c4452e47ea b/fuzz/corpora/cmp/09e8afdd6276a74bc7a61734a04d24c4452e47ea new file mode 100644 index 00000000..a207150f Binary files /dev/null and b/fuzz/corpora/cmp/09e8afdd6276a74bc7a61734a04d24c4452e47ea differ diff --git a/fuzz/corpora/cmp/09fa95b50a65acdcbde8a3c9fd3b19b3a83160ae b/fuzz/corpora/cmp/09fa95b50a65acdcbde8a3c9fd3b19b3a83160ae new file mode 100644 index 00000000..32538c85 Binary files /dev/null and b/fuzz/corpora/cmp/09fa95b50a65acdcbde8a3c9fd3b19b3a83160ae differ diff --git a/fuzz/corpora/cmp/09fe2e0051a49bb3cbdb438621aafb84fc75f60c b/fuzz/corpora/cmp/09fe2e0051a49bb3cbdb438621aafb84fc75f60c new file mode 100644 index 00000000..14900821 Binary files /dev/null and b/fuzz/corpora/cmp/09fe2e0051a49bb3cbdb438621aafb84fc75f60c differ diff --git a/fuzz/corpora/cmp/0a0736eb071298de86380010edc4922b6e3057c4 b/fuzz/corpora/cmp/0a0736eb071298de86380010edc4922b6e3057c4 new file mode 100644 index 00000000..728c739c Binary files /dev/null and b/fuzz/corpora/cmp/0a0736eb071298de86380010edc4922b6e3057c4 differ diff --git a/fuzz/corpora/cmp/0a1b965dc8644760c63c184ffb4786dbaf2c3dd5 b/fuzz/corpora/cmp/0a1b965dc8644760c63c184ffb4786dbaf2c3dd5 new file mode 100644 index 00000000..cd6d0a7a Binary files /dev/null and b/fuzz/corpora/cmp/0a1b965dc8644760c63c184ffb4786dbaf2c3dd5 differ diff --git a/fuzz/corpora/cmp/0a295fa8eb94147247b6190495fc07e964965b13 b/fuzz/corpora/cmp/0a295fa8eb94147247b6190495fc07e964965b13 new file mode 100644 index 00000000..bccd5085 Binary files /dev/null and b/fuzz/corpora/cmp/0a295fa8eb94147247b6190495fc07e964965b13 differ diff --git a/fuzz/corpora/cmp/0a2d7cfe37b69e2750b363d2caf7192ef07d9e1b b/fuzz/corpora/cmp/0a2d7cfe37b69e2750b363d2caf7192ef07d9e1b new file mode 100644 index 00000000..d6f598d5 Binary files /dev/null and b/fuzz/corpora/cmp/0a2d7cfe37b69e2750b363d2caf7192ef07d9e1b differ diff --git a/fuzz/corpora/cmp/0a3308633ddd2b7fab24c1852beb6eea2b2d0393 b/fuzz/corpora/cmp/0a3308633ddd2b7fab24c1852beb6eea2b2d0393 new file mode 100644 index 00000000..047836ab Binary files /dev/null and b/fuzz/corpora/cmp/0a3308633ddd2b7fab24c1852beb6eea2b2d0393 differ diff --git a/fuzz/corpora/cmp/0a843c0059b1e5a4d03b436236b4ec5a6f0ad5e6 b/fuzz/corpora/cmp/0a843c0059b1e5a4d03b436236b4ec5a6f0ad5e6 new file mode 100644 index 00000000..ebec8f5b Binary files /dev/null and b/fuzz/corpora/cmp/0a843c0059b1e5a4d03b436236b4ec5a6f0ad5e6 differ diff --git a/fuzz/corpora/cmp/0aa132e9791592a6433ed966da7fd5fceb229f65 b/fuzz/corpora/cmp/0aa132e9791592a6433ed966da7fd5fceb229f65 new file mode 100644 index 00000000..9c2e96a9 Binary files /dev/null and b/fuzz/corpora/cmp/0aa132e9791592a6433ed966da7fd5fceb229f65 differ diff --git a/fuzz/corpora/cmp/0aa846bf5ab5af324d00aad9609e9fbcd1f0ea99 b/fuzz/corpora/cmp/0aa846bf5ab5af324d00aad9609e9fbcd1f0ea99 new file mode 100644 index 00000000..458ea41d Binary files /dev/null and b/fuzz/corpora/cmp/0aa846bf5ab5af324d00aad9609e9fbcd1f0ea99 differ diff --git a/fuzz/corpora/cmp/0aae2279f5a7fa73c87e2aa171253e1e3b84be14 b/fuzz/corpora/cmp/0aae2279f5a7fa73c87e2aa171253e1e3b84be14 new file mode 100644 index 00000000..81d68c2b Binary files /dev/null and b/fuzz/corpora/cmp/0aae2279f5a7fa73c87e2aa171253e1e3b84be14 differ diff --git a/fuzz/corpora/cmp/0ac81e3d1c94c33940e63718f45d8099f58e276b b/fuzz/corpora/cmp/0ac81e3d1c94c33940e63718f45d8099f58e276b new file mode 100644 index 00000000..2af000b5 Binary files /dev/null and b/fuzz/corpora/cmp/0ac81e3d1c94c33940e63718f45d8099f58e276b differ diff --git a/fuzz/corpora/cmp/0aea7b1a4c0b1536a0da75977596c7107dec1aa5 b/fuzz/corpora/cmp/0aea7b1a4c0b1536a0da75977596c7107dec1aa5 new file mode 100644 index 00000000..86dc58c7 Binary files /dev/null and b/fuzz/corpora/cmp/0aea7b1a4c0b1536a0da75977596c7107dec1aa5 differ diff --git a/fuzz/corpora/cmp/0aec1aa224e5d918f3510ce1e59b67acd81997a8 b/fuzz/corpora/cmp/0aec1aa224e5d918f3510ce1e59b67acd81997a8 new file mode 100644 index 00000000..e649f1dc Binary files /dev/null and b/fuzz/corpora/cmp/0aec1aa224e5d918f3510ce1e59b67acd81997a8 differ diff --git a/fuzz/corpora/cmp/0af813164bfd4cb940a246dc4d59bbe3ab6ef81e b/fuzz/corpora/cmp/0af813164bfd4cb940a246dc4d59bbe3ab6ef81e new file mode 100644 index 00000000..99211a05 Binary files /dev/null and b/fuzz/corpora/cmp/0af813164bfd4cb940a246dc4d59bbe3ab6ef81e differ diff --git a/fuzz/corpora/cmp/0afa452fdd598dbd1d63e2aa0fb28729fedb8e3a b/fuzz/corpora/cmp/0afa452fdd598dbd1d63e2aa0fb28729fedb8e3a new file mode 100644 index 00000000..64656690 Binary files /dev/null and b/fuzz/corpora/cmp/0afa452fdd598dbd1d63e2aa0fb28729fedb8e3a differ diff --git a/fuzz/corpora/cmp/0b06ecf1eec88f8fb692f1707a5dedca4b2156b9 b/fuzz/corpora/cmp/0b06ecf1eec88f8fb692f1707a5dedca4b2156b9 new file mode 100644 index 00000000..8117c90d Binary files /dev/null and b/fuzz/corpora/cmp/0b06ecf1eec88f8fb692f1707a5dedca4b2156b9 differ diff --git a/fuzz/corpora/cmp/0b31f75339592b592139833c550b1ea0edd5afab b/fuzz/corpora/cmp/0b31f75339592b592139833c550b1ea0edd5afab new file mode 100644 index 00000000..b4a2d8c9 Binary files /dev/null and b/fuzz/corpora/cmp/0b31f75339592b592139833c550b1ea0edd5afab differ diff --git a/fuzz/corpora/cmp/0b320e4a9f4d8d5f5c165c865156c0ff9026eaff b/fuzz/corpora/cmp/0b320e4a9f4d8d5f5c165c865156c0ff9026eaff new file mode 100644 index 00000000..9ec48e07 Binary files /dev/null and b/fuzz/corpora/cmp/0b320e4a9f4d8d5f5c165c865156c0ff9026eaff differ diff --git a/fuzz/corpora/cmp/0b3d644d9605e62f5cda7ef33a9d4573d9ca3e64 b/fuzz/corpora/cmp/0b3d644d9605e62f5cda7ef33a9d4573d9ca3e64 new file mode 100644 index 00000000..759a8879 Binary files /dev/null and b/fuzz/corpora/cmp/0b3d644d9605e62f5cda7ef33a9d4573d9ca3e64 differ diff --git a/fuzz/corpora/cmp/0b400aa7eec69e8df5a6186123ae6bfdf5286517 b/fuzz/corpora/cmp/0b400aa7eec69e8df5a6186123ae6bfdf5286517 new file mode 100644 index 00000000..6911e236 Binary files /dev/null and b/fuzz/corpora/cmp/0b400aa7eec69e8df5a6186123ae6bfdf5286517 differ diff --git a/fuzz/corpora/cmp/0b42e2866ddbb119dd7e8064f072af48f5977702 b/fuzz/corpora/cmp/0b42e2866ddbb119dd7e8064f072af48f5977702 new file mode 100644 index 00000000..5b4fbb06 Binary files /dev/null and b/fuzz/corpora/cmp/0b42e2866ddbb119dd7e8064f072af48f5977702 differ diff --git a/fuzz/corpora/cmp/0b43e3cd88385e411cf714af52c89c6056f8b0ea b/fuzz/corpora/cmp/0b43e3cd88385e411cf714af52c89c6056f8b0ea new file mode 100644 index 00000000..d11e4929 Binary files /dev/null and b/fuzz/corpora/cmp/0b43e3cd88385e411cf714af52c89c6056f8b0ea differ diff --git a/fuzz/corpora/cmp/0b453213d77d07f6c8dda2cbeb3e1645d52ff083 b/fuzz/corpora/cmp/0b453213d77d07f6c8dda2cbeb3e1645d52ff083 new file mode 100644 index 00000000..0401b88c Binary files /dev/null and b/fuzz/corpora/cmp/0b453213d77d07f6c8dda2cbeb3e1645d52ff083 differ diff --git a/fuzz/corpora/cmp/0b521870c11267f58f55d6e4c3d1388511332f86 b/fuzz/corpora/cmp/0b521870c11267f58f55d6e4c3d1388511332f86 new file mode 100644 index 00000000..0de37749 Binary files /dev/null and b/fuzz/corpora/cmp/0b521870c11267f58f55d6e4c3d1388511332f86 differ diff --git a/fuzz/corpora/cmp/0b648a4eb9c8059d11ee0b4fb38b76f6730b1174 b/fuzz/corpora/cmp/0b648a4eb9c8059d11ee0b4fb38b76f6730b1174 new file mode 100644 index 00000000..ea3d8abb Binary files /dev/null and b/fuzz/corpora/cmp/0b648a4eb9c8059d11ee0b4fb38b76f6730b1174 differ diff --git a/fuzz/corpora/cmp/0b6d1b607d7261b103be6f49187dc08e54e7cd91 b/fuzz/corpora/cmp/0b6d1b607d7261b103be6f49187dc08e54e7cd91 new file mode 100644 index 00000000..419be221 Binary files /dev/null and b/fuzz/corpora/cmp/0b6d1b607d7261b103be6f49187dc08e54e7cd91 differ diff --git a/fuzz/corpora/cmp/0b6e20b74be5553a6cf817c4248bfe2b0928e9b5 b/fuzz/corpora/cmp/0b6e20b74be5553a6cf817c4248bfe2b0928e9b5 new file mode 100644 index 00000000..e9cdfd7a Binary files /dev/null and b/fuzz/corpora/cmp/0b6e20b74be5553a6cf817c4248bfe2b0928e9b5 differ diff --git a/fuzz/corpora/cmp/0b83f5174e8a27e5a49c68e1fdbd8dcb4a376e8d b/fuzz/corpora/cmp/0b83f5174e8a27e5a49c68e1fdbd8dcb4a376e8d new file mode 100644 index 00000000..78822277 Binary files /dev/null and b/fuzz/corpora/cmp/0b83f5174e8a27e5a49c68e1fdbd8dcb4a376e8d differ diff --git a/fuzz/corpora/cmp/0badada1dad9bb6efd61b332a9aea252ec656ef4 b/fuzz/corpora/cmp/0badada1dad9bb6efd61b332a9aea252ec656ef4 new file mode 100644 index 00000000..0cde24a8 Binary files /dev/null and b/fuzz/corpora/cmp/0badada1dad9bb6efd61b332a9aea252ec656ef4 differ diff --git a/fuzz/corpora/cmp/0bbbc4a7cd9cbdea8838c791a293b5d5a7ecd767 b/fuzz/corpora/cmp/0bbbc4a7cd9cbdea8838c791a293b5d5a7ecd767 new file mode 100644 index 00000000..e992806c Binary files /dev/null and b/fuzz/corpora/cmp/0bbbc4a7cd9cbdea8838c791a293b5d5a7ecd767 differ diff --git a/fuzz/corpora/cmp/0bbf028b00548d7eb28a6984f63902ed1d0825a8 b/fuzz/corpora/cmp/0bbf028b00548d7eb28a6984f63902ed1d0825a8 new file mode 100644 index 00000000..84f317de Binary files /dev/null and b/fuzz/corpora/cmp/0bbf028b00548d7eb28a6984f63902ed1d0825a8 differ diff --git a/fuzz/corpora/cmp/0c1a372ac590c08156a6ba5fb55990728d22613e b/fuzz/corpora/cmp/0c1a372ac590c08156a6ba5fb55990728d22613e new file mode 100644 index 00000000..63df977c Binary files /dev/null and b/fuzz/corpora/cmp/0c1a372ac590c08156a6ba5fb55990728d22613e differ diff --git a/fuzz/corpora/cmp/0c1cacb319a1ff5aecf01c8d84f0165f4b7eef72 b/fuzz/corpora/cmp/0c1cacb319a1ff5aecf01c8d84f0165f4b7eef72 new file mode 100644 index 00000000..e1f98f9b Binary files /dev/null and b/fuzz/corpora/cmp/0c1cacb319a1ff5aecf01c8d84f0165f4b7eef72 differ diff --git a/fuzz/corpora/cmp/0c3002a8fee2ea1b7bd163db89c242310ee210db b/fuzz/corpora/cmp/0c3002a8fee2ea1b7bd163db89c242310ee210db new file mode 100644 index 00000000..08b605fe Binary files /dev/null and b/fuzz/corpora/cmp/0c3002a8fee2ea1b7bd163db89c242310ee210db differ diff --git a/fuzz/corpora/cmp/0c78e441dd50c41b280297f339605e6351410b16 b/fuzz/corpora/cmp/0c78e441dd50c41b280297f339605e6351410b16 new file mode 100644 index 00000000..552400a1 Binary files /dev/null and b/fuzz/corpora/cmp/0c78e441dd50c41b280297f339605e6351410b16 differ diff --git a/fuzz/corpora/cmp/0c869660946d244a87f7c29d3c56c32fa16b4ef6 b/fuzz/corpora/cmp/0c869660946d244a87f7c29d3c56c32fa16b4ef6 new file mode 100644 index 00000000..e2371ad0 Binary files /dev/null and b/fuzz/corpora/cmp/0c869660946d244a87f7c29d3c56c32fa16b4ef6 differ diff --git a/fuzz/corpora/cmp/0c965735c876f3707f7adc09b734595710835c9d b/fuzz/corpora/cmp/0c965735c876f3707f7adc09b734595710835c9d new file mode 100644 index 00000000..75dc89f1 Binary files /dev/null and b/fuzz/corpora/cmp/0c965735c876f3707f7adc09b734595710835c9d differ diff --git a/fuzz/corpora/cmp/0c9805ba8a8efc32216c5ceafddf695f4f06ebd3 b/fuzz/corpora/cmp/0c9805ba8a8efc32216c5ceafddf695f4f06ebd3 new file mode 100644 index 00000000..9a75e138 Binary files /dev/null and b/fuzz/corpora/cmp/0c9805ba8a8efc32216c5ceafddf695f4f06ebd3 differ diff --git a/fuzz/corpora/cmp/0ca16f0ef2bb2eb82a4049c538bdfe96e17fcef6 b/fuzz/corpora/cmp/0ca16f0ef2bb2eb82a4049c538bdfe96e17fcef6 new file mode 100644 index 00000000..cd86f887 Binary files /dev/null and b/fuzz/corpora/cmp/0ca16f0ef2bb2eb82a4049c538bdfe96e17fcef6 differ diff --git a/fuzz/corpora/cmp/0ca693e7a8a2285b5c37ab33adb617e6ef0e39b2 b/fuzz/corpora/cmp/0ca693e7a8a2285b5c37ab33adb617e6ef0e39b2 new file mode 100644 index 00000000..3e465a81 Binary files /dev/null and b/fuzz/corpora/cmp/0ca693e7a8a2285b5c37ab33adb617e6ef0e39b2 differ diff --git a/fuzz/corpora/cmp/0ca96b182ebecf3a66a90d2f1c3cd7b91df59777 b/fuzz/corpora/cmp/0ca96b182ebecf3a66a90d2f1c3cd7b91df59777 new file mode 100644 index 00000000..9abb6294 Binary files /dev/null and b/fuzz/corpora/cmp/0ca96b182ebecf3a66a90d2f1c3cd7b91df59777 differ diff --git a/fuzz/corpora/cmp/0cb7996dcf827f88374f3306814f7a3939953b9b b/fuzz/corpora/cmp/0cb7996dcf827f88374f3306814f7a3939953b9b new file mode 100644 index 00000000..828116d9 Binary files /dev/null and b/fuzz/corpora/cmp/0cb7996dcf827f88374f3306814f7a3939953b9b differ diff --git a/fuzz/corpora/cmp/0cc510a5b0c22095dc4feee4374696abc6e38960 b/fuzz/corpora/cmp/0cc510a5b0c22095dc4feee4374696abc6e38960 new file mode 100644 index 00000000..1ba1ea66 Binary files /dev/null and b/fuzz/corpora/cmp/0cc510a5b0c22095dc4feee4374696abc6e38960 differ diff --git a/fuzz/corpora/cmp/0cc9bf5d571167bdbc2dd4f8294e6930dc5f2912 b/fuzz/corpora/cmp/0cc9bf5d571167bdbc2dd4f8294e6930dc5f2912 new file mode 100644 index 00000000..c6232122 Binary files /dev/null and b/fuzz/corpora/cmp/0cc9bf5d571167bdbc2dd4f8294e6930dc5f2912 differ diff --git a/fuzz/corpora/cmp/0cd28dcd2c757d77d7c41343e057f1a758872a9e b/fuzz/corpora/cmp/0cd28dcd2c757d77d7c41343e057f1a758872a9e new file mode 100644 index 00000000..2481b1e4 Binary files /dev/null and b/fuzz/corpora/cmp/0cd28dcd2c757d77d7c41343e057f1a758872a9e differ diff --git a/fuzz/corpora/cmp/0d055f58a810eb3eb8505a496f9ec8346f9688c2 b/fuzz/corpora/cmp/0d055f58a810eb3eb8505a496f9ec8346f9688c2 new file mode 100644 index 00000000..19850366 Binary files /dev/null and b/fuzz/corpora/cmp/0d055f58a810eb3eb8505a496f9ec8346f9688c2 differ diff --git a/fuzz/corpora/cmp/0d09c3fb5e5f54a29409aea3734ea1955d0dad8e b/fuzz/corpora/cmp/0d09c3fb5e5f54a29409aea3734ea1955d0dad8e new file mode 100644 index 00000000..5270ad88 Binary files /dev/null and b/fuzz/corpora/cmp/0d09c3fb5e5f54a29409aea3734ea1955d0dad8e differ diff --git a/fuzz/corpora/cmp/0d1309e01599a78809cf11b1010dc7fa9941f0a6 b/fuzz/corpora/cmp/0d1309e01599a78809cf11b1010dc7fa9941f0a6 new file mode 100644 index 00000000..c9b15cfd Binary files /dev/null and b/fuzz/corpora/cmp/0d1309e01599a78809cf11b1010dc7fa9941f0a6 differ diff --git a/fuzz/corpora/cmp/0d1789f7a0bfce89025213b01ce13eae70385572 b/fuzz/corpora/cmp/0d1789f7a0bfce89025213b01ce13eae70385572 new file mode 100644 index 00000000..2c48b4e9 Binary files /dev/null and b/fuzz/corpora/cmp/0d1789f7a0bfce89025213b01ce13eae70385572 differ diff --git a/fuzz/corpora/cmp/0d288b0ff288277f730cdaf17a8a76252032e878 b/fuzz/corpora/cmp/0d288b0ff288277f730cdaf17a8a76252032e878 new file mode 100644 index 00000000..1717dbec Binary files /dev/null and b/fuzz/corpora/cmp/0d288b0ff288277f730cdaf17a8a76252032e878 differ diff --git a/fuzz/corpora/cmp/0d3542cd21644405966fa992ab824f8db6c93b11 b/fuzz/corpora/cmp/0d3542cd21644405966fa992ab824f8db6c93b11 new file mode 100644 index 00000000..5d8ffa7d Binary files /dev/null and b/fuzz/corpora/cmp/0d3542cd21644405966fa992ab824f8db6c93b11 differ diff --git a/fuzz/corpora/cmp/0d410521d69f47c947812bafdfd9629c0919db48 b/fuzz/corpora/cmp/0d410521d69f47c947812bafdfd9629c0919db48 new file mode 100644 index 00000000..0726efb6 Binary files /dev/null and b/fuzz/corpora/cmp/0d410521d69f47c947812bafdfd9629c0919db48 differ diff --git a/fuzz/corpora/cmp/0d437581e8be6951450e6cd85d90992cbc61a699 b/fuzz/corpora/cmp/0d437581e8be6951450e6cd85d90992cbc61a699 new file mode 100644 index 00000000..84666784 Binary files /dev/null and b/fuzz/corpora/cmp/0d437581e8be6951450e6cd85d90992cbc61a699 differ diff --git a/fuzz/corpora/cmp/0d5940ef1cd6e44cb5391a92437af3bf02a2cd1f b/fuzz/corpora/cmp/0d5940ef1cd6e44cb5391a92437af3bf02a2cd1f new file mode 100644 index 00000000..29d2fc02 Binary files /dev/null and b/fuzz/corpora/cmp/0d5940ef1cd6e44cb5391a92437af3bf02a2cd1f differ diff --git a/fuzz/corpora/cmp/0d5c492c4694b5c9a98299502c157564b72412e7 b/fuzz/corpora/cmp/0d5c492c4694b5c9a98299502c157564b72412e7 new file mode 100644 index 00000000..e27d5061 Binary files /dev/null and b/fuzz/corpora/cmp/0d5c492c4694b5c9a98299502c157564b72412e7 differ diff --git a/fuzz/corpora/cmp/0d68cfa935fa10ee7aaa04e780298f035834a9cd b/fuzz/corpora/cmp/0d68cfa935fa10ee7aaa04e780298f035834a9cd new file mode 100644 index 00000000..e6543e37 Binary files /dev/null and b/fuzz/corpora/cmp/0d68cfa935fa10ee7aaa04e780298f035834a9cd differ diff --git a/fuzz/corpora/cmp/0d6aa5d4c4d6a0976d96910634371d5d2e942079 b/fuzz/corpora/cmp/0d6aa5d4c4d6a0976d96910634371d5d2e942079 new file mode 100644 index 00000000..d3d4201e Binary files /dev/null and b/fuzz/corpora/cmp/0d6aa5d4c4d6a0976d96910634371d5d2e942079 differ diff --git a/fuzz/corpora/cmp/0d7016953d4795ffcc74f4b10f9c59da01787e37 b/fuzz/corpora/cmp/0d7016953d4795ffcc74f4b10f9c59da01787e37 new file mode 100644 index 00000000..9876528e Binary files /dev/null and b/fuzz/corpora/cmp/0d7016953d4795ffcc74f4b10f9c59da01787e37 differ diff --git a/fuzz/corpora/cmp/0d840d6f55bfbbcd7791ea34527b9cddd559e2cb b/fuzz/corpora/cmp/0d840d6f55bfbbcd7791ea34527b9cddd559e2cb new file mode 100644 index 00000000..0d35967e Binary files /dev/null and b/fuzz/corpora/cmp/0d840d6f55bfbbcd7791ea34527b9cddd559e2cb differ diff --git a/fuzz/corpora/cmp/0d84629dd9fddcd784989e93c51a6979939dd2d2 b/fuzz/corpora/cmp/0d84629dd9fddcd784989e93c51a6979939dd2d2 new file mode 100644 index 00000000..c872807e Binary files /dev/null and b/fuzz/corpora/cmp/0d84629dd9fddcd784989e93c51a6979939dd2d2 differ diff --git a/fuzz/corpora/cmp/0da105296e9e8239b8a4ba9a40fdaa02cab00818 b/fuzz/corpora/cmp/0da105296e9e8239b8a4ba9a40fdaa02cab00818 new file mode 100644 index 00000000..8b989059 Binary files /dev/null and b/fuzz/corpora/cmp/0da105296e9e8239b8a4ba9a40fdaa02cab00818 differ diff --git a/fuzz/corpora/cmp/0dacd24e1c84fe2b205d2334875151530e82c210 b/fuzz/corpora/cmp/0dacd24e1c84fe2b205d2334875151530e82c210 new file mode 100644 index 00000000..e8191d27 Binary files /dev/null and b/fuzz/corpora/cmp/0dacd24e1c84fe2b205d2334875151530e82c210 differ diff --git a/fuzz/corpora/cmp/0db49813e79ec8428002bf4df50550f01f7bde2f b/fuzz/corpora/cmp/0db49813e79ec8428002bf4df50550f01f7bde2f new file mode 100644 index 00000000..45d717da Binary files /dev/null and b/fuzz/corpora/cmp/0db49813e79ec8428002bf4df50550f01f7bde2f differ diff --git a/fuzz/corpora/cmp/0dc71b8818f0a66fb515ea8b45644d7cc66bca9c b/fuzz/corpora/cmp/0dc71b8818f0a66fb515ea8b45644d7cc66bca9c new file mode 100644 index 00000000..d952278b Binary files /dev/null and b/fuzz/corpora/cmp/0dc71b8818f0a66fb515ea8b45644d7cc66bca9c differ diff --git a/fuzz/corpora/cmp/0dd17a23fd3ecabfccd144e4074378ea2f809d1a b/fuzz/corpora/cmp/0dd17a23fd3ecabfccd144e4074378ea2f809d1a new file mode 100644 index 00000000..e925eb94 Binary files /dev/null and b/fuzz/corpora/cmp/0dd17a23fd3ecabfccd144e4074378ea2f809d1a differ diff --git a/fuzz/corpora/cmp/0dd240d62744ec37d182e284e7e86dfd12e65f1d b/fuzz/corpora/cmp/0dd240d62744ec37d182e284e7e86dfd12e65f1d new file mode 100644 index 00000000..c285c07f Binary files /dev/null and b/fuzz/corpora/cmp/0dd240d62744ec37d182e284e7e86dfd12e65f1d differ diff --git a/fuzz/corpora/cmp/0df1220a9c49cb5e3e07166db6e979573c93198e b/fuzz/corpora/cmp/0df1220a9c49cb5e3e07166db6e979573c93198e new file mode 100644 index 00000000..9828b6c3 Binary files /dev/null and b/fuzz/corpora/cmp/0df1220a9c49cb5e3e07166db6e979573c93198e differ diff --git a/fuzz/corpora/cmp/0df6a079a7d2cc5e3d9fa681cfcd332a1cbdc7b6 b/fuzz/corpora/cmp/0df6a079a7d2cc5e3d9fa681cfcd332a1cbdc7b6 new file mode 100644 index 00000000..dc36f581 Binary files /dev/null and b/fuzz/corpora/cmp/0df6a079a7d2cc5e3d9fa681cfcd332a1cbdc7b6 differ diff --git a/fuzz/corpora/cmp/0dfa1eff61aeb4fd7f7209c6432c406c75212cf3 b/fuzz/corpora/cmp/0dfa1eff61aeb4fd7f7209c6432c406c75212cf3 new file mode 100644 index 00000000..67c5c747 Binary files /dev/null and b/fuzz/corpora/cmp/0dfa1eff61aeb4fd7f7209c6432c406c75212cf3 differ diff --git a/fuzz/corpora/cmp/0e00625297df2cc382f2337b6bb034fd78f9377e b/fuzz/corpora/cmp/0e00625297df2cc382f2337b6bb034fd78f9377e new file mode 100644 index 00000000..30a417e3 Binary files /dev/null and b/fuzz/corpora/cmp/0e00625297df2cc382f2337b6bb034fd78f9377e differ diff --git a/fuzz/corpora/cmp/0e0203cfa740c442c00c1b8ba3274ad06847d4f8 b/fuzz/corpora/cmp/0e0203cfa740c442c00c1b8ba3274ad06847d4f8 new file mode 100644 index 00000000..50c0b2c7 Binary files /dev/null and b/fuzz/corpora/cmp/0e0203cfa740c442c00c1b8ba3274ad06847d4f8 differ diff --git a/fuzz/corpora/cmp/0e20db0f7b9e4bcffd27cdc49de8e9bc24ebef97 b/fuzz/corpora/cmp/0e20db0f7b9e4bcffd27cdc49de8e9bc24ebef97 new file mode 100644 index 00000000..c98fb0ca Binary files /dev/null and b/fuzz/corpora/cmp/0e20db0f7b9e4bcffd27cdc49de8e9bc24ebef97 differ diff --git a/fuzz/corpora/cmp/0e2e0926ac88b303dbba7f6aa21fd8b2acdabbd6 b/fuzz/corpora/cmp/0e2e0926ac88b303dbba7f6aa21fd8b2acdabbd6 new file mode 100644 index 00000000..341d6ab6 Binary files /dev/null and b/fuzz/corpora/cmp/0e2e0926ac88b303dbba7f6aa21fd8b2acdabbd6 differ diff --git a/fuzz/corpora/cmp/0e3c8a20bc50352dc14e6678281af3329d4ac41a b/fuzz/corpora/cmp/0e3c8a20bc50352dc14e6678281af3329d4ac41a new file mode 100644 index 00000000..29c203d5 Binary files /dev/null and b/fuzz/corpora/cmp/0e3c8a20bc50352dc14e6678281af3329d4ac41a differ diff --git a/fuzz/corpora/cmp/0e487e4ae7a8b9dca9bb465a419b8cf096b64e44 b/fuzz/corpora/cmp/0e487e4ae7a8b9dca9bb465a419b8cf096b64e44 new file mode 100644 index 00000000..b0ef7b83 Binary files /dev/null and b/fuzz/corpora/cmp/0e487e4ae7a8b9dca9bb465a419b8cf096b64e44 differ diff --git a/fuzz/corpora/cmp/0e8dd055e93542d95e474640afd867221bfc8820 b/fuzz/corpora/cmp/0e8dd055e93542d95e474640afd867221bfc8820 new file mode 100644 index 00000000..5b5d3103 Binary files /dev/null and b/fuzz/corpora/cmp/0e8dd055e93542d95e474640afd867221bfc8820 differ diff --git a/fuzz/corpora/cmp/0e916e5ee3caba8e1a448c748336cf29c2202944 b/fuzz/corpora/cmp/0e916e5ee3caba8e1a448c748336cf29c2202944 new file mode 100644 index 00000000..fbf65f4e Binary files /dev/null and b/fuzz/corpora/cmp/0e916e5ee3caba8e1a448c748336cf29c2202944 differ diff --git a/fuzz/corpora/cmp/0ea3c0fc9d2f05cf34bcfb77cdd3cdc8b5ca615e b/fuzz/corpora/cmp/0ea3c0fc9d2f05cf34bcfb77cdd3cdc8b5ca615e new file mode 100644 index 00000000..3687d6dd Binary files /dev/null and b/fuzz/corpora/cmp/0ea3c0fc9d2f05cf34bcfb77cdd3cdc8b5ca615e differ diff --git a/fuzz/corpora/cmp/0ea41348ae67b6c3fcf1562d6aa3699c56338426 b/fuzz/corpora/cmp/0ea41348ae67b6c3fcf1562d6aa3699c56338426 new file mode 100644 index 00000000..c29d892c Binary files /dev/null and b/fuzz/corpora/cmp/0ea41348ae67b6c3fcf1562d6aa3699c56338426 differ diff --git a/fuzz/corpora/cmp/0ec4a7f9c7633f6dcf2fa5ba53ac271672348e3d b/fuzz/corpora/cmp/0ec4a7f9c7633f6dcf2fa5ba53ac271672348e3d new file mode 100644 index 00000000..aea38cd9 Binary files /dev/null and b/fuzz/corpora/cmp/0ec4a7f9c7633f6dcf2fa5ba53ac271672348e3d differ diff --git a/fuzz/corpora/cmp/0ec73e77ee9231b092955314e1d7a1f808fd1228 b/fuzz/corpora/cmp/0ec73e77ee9231b092955314e1d7a1f808fd1228 new file mode 100644 index 00000000..1bc9a74f Binary files /dev/null and b/fuzz/corpora/cmp/0ec73e77ee9231b092955314e1d7a1f808fd1228 differ diff --git a/fuzz/corpora/cmp/0edc382ee6fa00ef30e5ebdaf5c653c53f76c767 b/fuzz/corpora/cmp/0edc382ee6fa00ef30e5ebdaf5c653c53f76c767 new file mode 100644 index 00000000..b9e676d7 Binary files /dev/null and b/fuzz/corpora/cmp/0edc382ee6fa00ef30e5ebdaf5c653c53f76c767 differ diff --git a/fuzz/corpora/cmp/0ef0e6c5cbc08826e3683aa98cca3ec3cc5b3cc9 b/fuzz/corpora/cmp/0ef0e6c5cbc08826e3683aa98cca3ec3cc5b3cc9 new file mode 100644 index 00000000..087b179c Binary files /dev/null and b/fuzz/corpora/cmp/0ef0e6c5cbc08826e3683aa98cca3ec3cc5b3cc9 differ diff --git a/fuzz/corpora/cmp/0effab80f796a4d9ad559f311b23def28e4987ba b/fuzz/corpora/cmp/0effab80f796a4d9ad559f311b23def28e4987ba new file mode 100644 index 00000000..355af128 Binary files /dev/null and b/fuzz/corpora/cmp/0effab80f796a4d9ad559f311b23def28e4987ba differ diff --git a/fuzz/corpora/cmp/0f09ce6ef771308a14194278df8ca41c11f2151d b/fuzz/corpora/cmp/0f09ce6ef771308a14194278df8ca41c11f2151d new file mode 100644 index 00000000..2a6f7e77 Binary files /dev/null and b/fuzz/corpora/cmp/0f09ce6ef771308a14194278df8ca41c11f2151d differ diff --git a/fuzz/corpora/cmp/0f10f9bdb820f7c93a97236d36757c5943e8f258 b/fuzz/corpora/cmp/0f10f9bdb820f7c93a97236d36757c5943e8f258 new file mode 100644 index 00000000..aaa645e5 Binary files /dev/null and b/fuzz/corpora/cmp/0f10f9bdb820f7c93a97236d36757c5943e8f258 differ diff --git a/fuzz/corpora/cmp/0f15f66a988d24cc4d31cd4ddd844b070da932ac b/fuzz/corpora/cmp/0f15f66a988d24cc4d31cd4ddd844b070da932ac new file mode 100644 index 00000000..e19a5ef3 Binary files /dev/null and b/fuzz/corpora/cmp/0f15f66a988d24cc4d31cd4ddd844b070da932ac differ diff --git a/fuzz/corpora/cmp/0f214d82f0b95eab7cc8c73a646f5842a7c528c8 b/fuzz/corpora/cmp/0f214d82f0b95eab7cc8c73a646f5842a7c528c8 new file mode 100644 index 00000000..86ac14fd Binary files /dev/null and b/fuzz/corpora/cmp/0f214d82f0b95eab7cc8c73a646f5842a7c528c8 differ diff --git a/fuzz/corpora/cmp/0f29cc94be910c3aaed5fc1e870de5704a56b068 b/fuzz/corpora/cmp/0f29cc94be910c3aaed5fc1e870de5704a56b068 new file mode 100644 index 00000000..f6abc804 Binary files /dev/null and b/fuzz/corpora/cmp/0f29cc94be910c3aaed5fc1e870de5704a56b068 differ diff --git a/fuzz/corpora/cmp/0f3081eb9ca1342f67b402351ba76d542cdea2a3 b/fuzz/corpora/cmp/0f3081eb9ca1342f67b402351ba76d542cdea2a3 new file mode 100644 index 00000000..d7352d2c Binary files /dev/null and b/fuzz/corpora/cmp/0f3081eb9ca1342f67b402351ba76d542cdea2a3 differ diff --git a/fuzz/corpora/cmp/0f4ce7ddb1e51f164453599b8e6fbbe084040fe3 b/fuzz/corpora/cmp/0f4ce7ddb1e51f164453599b8e6fbbe084040fe3 new file mode 100644 index 00000000..b9119432 Binary files /dev/null and b/fuzz/corpora/cmp/0f4ce7ddb1e51f164453599b8e6fbbe084040fe3 differ diff --git a/fuzz/corpora/cmp/0f67c97d83665522ed6485ad17c1483853267e04 b/fuzz/corpora/cmp/0f67c97d83665522ed6485ad17c1483853267e04 new file mode 100644 index 00000000..4db1b0a3 Binary files /dev/null and b/fuzz/corpora/cmp/0f67c97d83665522ed6485ad17c1483853267e04 differ diff --git a/fuzz/corpora/cmp/0f7bb99a3d89f2c76874abd5996503d124fa59b7 b/fuzz/corpora/cmp/0f7bb99a3d89f2c76874abd5996503d124fa59b7 new file mode 100644 index 00000000..feebe46d Binary files /dev/null and b/fuzz/corpora/cmp/0f7bb99a3d89f2c76874abd5996503d124fa59b7 differ diff --git a/fuzz/corpora/cmp/0f83923e44bd6957bad4437cef2e9725f01b9354 b/fuzz/corpora/cmp/0f83923e44bd6957bad4437cef2e9725f01b9354 new file mode 100644 index 00000000..f05e498b Binary files /dev/null and b/fuzz/corpora/cmp/0f83923e44bd6957bad4437cef2e9725f01b9354 differ diff --git a/fuzz/corpora/cmp/0f9f90f636d066e6eb9403830b67609ffd60b061 b/fuzz/corpora/cmp/0f9f90f636d066e6eb9403830b67609ffd60b061 new file mode 100644 index 00000000..b53328be Binary files /dev/null and b/fuzz/corpora/cmp/0f9f90f636d066e6eb9403830b67609ffd60b061 differ diff --git a/fuzz/corpora/cmp/0fad0ef1f11d2be14c0f91b5122dd07793dc85bf b/fuzz/corpora/cmp/0fad0ef1f11d2be14c0f91b5122dd07793dc85bf new file mode 100644 index 00000000..685143a2 Binary files /dev/null and b/fuzz/corpora/cmp/0fad0ef1f11d2be14c0f91b5122dd07793dc85bf differ diff --git a/fuzz/corpora/cmp/0fba29221d9edf9c4766a3c9bde3415603511a47 b/fuzz/corpora/cmp/0fba29221d9edf9c4766a3c9bde3415603511a47 new file mode 100644 index 00000000..402f26ab Binary files /dev/null and b/fuzz/corpora/cmp/0fba29221d9edf9c4766a3c9bde3415603511a47 differ diff --git a/fuzz/corpora/cmp/0fdd221b8ff3010ea4f5c25cffc068d51cb64d68 b/fuzz/corpora/cmp/0fdd221b8ff3010ea4f5c25cffc068d51cb64d68 new file mode 100644 index 00000000..2e6af0f7 Binary files /dev/null and b/fuzz/corpora/cmp/0fdd221b8ff3010ea4f5c25cffc068d51cb64d68 differ diff --git a/fuzz/corpora/cmp/0fdde8959346e9f0744b7d5c31eeab8a97acf90d b/fuzz/corpora/cmp/0fdde8959346e9f0744b7d5c31eeab8a97acf90d new file mode 100644 index 00000000..75cab132 Binary files /dev/null and b/fuzz/corpora/cmp/0fdde8959346e9f0744b7d5c31eeab8a97acf90d differ diff --git a/fuzz/corpora/cmp/0ff2a4d9fb09b6b2928e2b551eb3e816ddc77c30 b/fuzz/corpora/cmp/0ff2a4d9fb09b6b2928e2b551eb3e816ddc77c30 new file mode 100644 index 00000000..217fdda0 Binary files /dev/null and b/fuzz/corpora/cmp/0ff2a4d9fb09b6b2928e2b551eb3e816ddc77c30 differ diff --git a/fuzz/corpora/cmp/0fff74133112c9d893b9b5d9bee2deca49a01881 b/fuzz/corpora/cmp/0fff74133112c9d893b9b5d9bee2deca49a01881 new file mode 100644 index 00000000..e2336bfe Binary files /dev/null and b/fuzz/corpora/cmp/0fff74133112c9d893b9b5d9bee2deca49a01881 differ diff --git a/fuzz/corpora/cmp/10033821c278f4a274fe9e2d58c3e80149d183d7 b/fuzz/corpora/cmp/10033821c278f4a274fe9e2d58c3e80149d183d7 new file mode 100644 index 00000000..f6f5252a Binary files /dev/null and b/fuzz/corpora/cmp/10033821c278f4a274fe9e2d58c3e80149d183d7 differ diff --git a/fuzz/corpora/cmp/10157aee4991f04454df7c47a29f5e8f2126fe10 b/fuzz/corpora/cmp/10157aee4991f04454df7c47a29f5e8f2126fe10 new file mode 100644 index 00000000..34665d6b Binary files /dev/null and b/fuzz/corpora/cmp/10157aee4991f04454df7c47a29f5e8f2126fe10 differ diff --git a/fuzz/corpora/cmp/102356ef21915a47470394f8dc12c054e5f17dad b/fuzz/corpora/cmp/102356ef21915a47470394f8dc12c054e5f17dad new file mode 100644 index 00000000..47a69c77 Binary files /dev/null and b/fuzz/corpora/cmp/102356ef21915a47470394f8dc12c054e5f17dad differ diff --git a/fuzz/corpora/cmp/102365e3809ad8a0357cce5e0aa071577eee5454 b/fuzz/corpora/cmp/102365e3809ad8a0357cce5e0aa071577eee5454 new file mode 100644 index 00000000..6b7bacc9 Binary files /dev/null and b/fuzz/corpora/cmp/102365e3809ad8a0357cce5e0aa071577eee5454 differ diff --git a/fuzz/corpora/cmp/103a6602a46b8b28aef5a04133dc098a44b84709 b/fuzz/corpora/cmp/103a6602a46b8b28aef5a04133dc098a44b84709 new file mode 100644 index 00000000..d19eb5dd Binary files /dev/null and b/fuzz/corpora/cmp/103a6602a46b8b28aef5a04133dc098a44b84709 differ diff --git a/fuzz/corpora/cmp/1053667ecf1b3a62b875647dd29a2ec664cdb425 b/fuzz/corpora/cmp/1053667ecf1b3a62b875647dd29a2ec664cdb425 new file mode 100644 index 00000000..dc8d2b6f Binary files /dev/null and b/fuzz/corpora/cmp/1053667ecf1b3a62b875647dd29a2ec664cdb425 differ diff --git a/fuzz/corpora/cmp/105b6081de3b3164d0c2f750b4a226354caf1da8 b/fuzz/corpora/cmp/105b6081de3b3164d0c2f750b4a226354caf1da8 new file mode 100644 index 00000000..7ef9a282 Binary files /dev/null and b/fuzz/corpora/cmp/105b6081de3b3164d0c2f750b4a226354caf1da8 differ diff --git a/fuzz/corpora/cmp/108be00f3291aef78f2a2a7f97e5127cd5c145a8 b/fuzz/corpora/cmp/108be00f3291aef78f2a2a7f97e5127cd5c145a8 new file mode 100644 index 00000000..4cea806a Binary files /dev/null and b/fuzz/corpora/cmp/108be00f3291aef78f2a2a7f97e5127cd5c145a8 differ diff --git a/fuzz/corpora/cmp/108ffdd94ee2e4d8b28b1d377a543ab28569dc3e b/fuzz/corpora/cmp/108ffdd94ee2e4d8b28b1d377a543ab28569dc3e new file mode 100644 index 00000000..b14834da Binary files /dev/null and b/fuzz/corpora/cmp/108ffdd94ee2e4d8b28b1d377a543ab28569dc3e differ diff --git a/fuzz/corpora/cmp/109311e829eece37289e9acf934d2f7458823ffe b/fuzz/corpora/cmp/109311e829eece37289e9acf934d2f7458823ffe new file mode 100644 index 00000000..6fcfc916 Binary files /dev/null and b/fuzz/corpora/cmp/109311e829eece37289e9acf934d2f7458823ffe differ diff --git a/fuzz/corpora/cmp/10934cf849b6f59f2cdffcd36a7ab29ead543035 b/fuzz/corpora/cmp/10934cf849b6f59f2cdffcd36a7ab29ead543035 new file mode 100644 index 00000000..9780ee91 Binary files /dev/null and b/fuzz/corpora/cmp/10934cf849b6f59f2cdffcd36a7ab29ead543035 differ diff --git a/fuzz/corpora/cmp/1096bfd33ebe249568ba1ef23c8c4f7c098406bb b/fuzz/corpora/cmp/1096bfd33ebe249568ba1ef23c8c4f7c098406bb new file mode 100644 index 00000000..e2e31d99 Binary files /dev/null and b/fuzz/corpora/cmp/1096bfd33ebe249568ba1ef23c8c4f7c098406bb differ diff --git a/fuzz/corpora/cmp/109c7d81eddadec0888ab9ff2ca0c7807bfd3bad b/fuzz/corpora/cmp/109c7d81eddadec0888ab9ff2ca0c7807bfd3bad new file mode 100644 index 00000000..32174673 Binary files /dev/null and b/fuzz/corpora/cmp/109c7d81eddadec0888ab9ff2ca0c7807bfd3bad differ diff --git a/fuzz/corpora/cmp/10a16e1772f19a393ecb64c5f53d16aab1bcfa6c b/fuzz/corpora/cmp/10a16e1772f19a393ecb64c5f53d16aab1bcfa6c new file mode 100644 index 00000000..d02e894a Binary files /dev/null and b/fuzz/corpora/cmp/10a16e1772f19a393ecb64c5f53d16aab1bcfa6c differ diff --git a/fuzz/corpora/cmp/10a6d8da6f79ca97f8aaa87c77f56bd9cf79778f b/fuzz/corpora/cmp/10a6d8da6f79ca97f8aaa87c77f56bd9cf79778f new file mode 100644 index 00000000..849e970a Binary files /dev/null and b/fuzz/corpora/cmp/10a6d8da6f79ca97f8aaa87c77f56bd9cf79778f differ diff --git a/fuzz/corpora/cmp/10be287d1ba73d19cc368196a51d54115b48171f b/fuzz/corpora/cmp/10be287d1ba73d19cc368196a51d54115b48171f new file mode 100644 index 00000000..4e9142eb Binary files /dev/null and b/fuzz/corpora/cmp/10be287d1ba73d19cc368196a51d54115b48171f differ diff --git a/fuzz/corpora/cmp/10f664559f02f2ff638eb55305cfd94ff388ff5e b/fuzz/corpora/cmp/10f664559f02f2ff638eb55305cfd94ff388ff5e new file mode 100644 index 00000000..e4e5c520 Binary files /dev/null and b/fuzz/corpora/cmp/10f664559f02f2ff638eb55305cfd94ff388ff5e differ diff --git a/fuzz/corpora/cmp/10f9a094f674aa2d7958233aa22221d7f2af62bd b/fuzz/corpora/cmp/10f9a094f674aa2d7958233aa22221d7f2af62bd new file mode 100644 index 00000000..8f6c6a54 Binary files /dev/null and b/fuzz/corpora/cmp/10f9a094f674aa2d7958233aa22221d7f2af62bd differ diff --git a/fuzz/corpora/cmp/10fb7afa0c37b02c957be6164171d7b6e9930e8f b/fuzz/corpora/cmp/10fb7afa0c37b02c957be6164171d7b6e9930e8f new file mode 100644 index 00000000..744de2bc Binary files /dev/null and b/fuzz/corpora/cmp/10fb7afa0c37b02c957be6164171d7b6e9930e8f differ diff --git a/fuzz/corpora/cmp/1106185c10d00a5cd6441101d0d3b691da5cd50a b/fuzz/corpora/cmp/1106185c10d00a5cd6441101d0d3b691da5cd50a new file mode 100644 index 00000000..537282dd Binary files /dev/null and b/fuzz/corpora/cmp/1106185c10d00a5cd6441101d0d3b691da5cd50a differ diff --git a/fuzz/corpora/cmp/112ab18d37155397c061375ac7f07188143722da b/fuzz/corpora/cmp/112ab18d37155397c061375ac7f07188143722da new file mode 100644 index 00000000..3dd83f5e Binary files /dev/null and b/fuzz/corpora/cmp/112ab18d37155397c061375ac7f07188143722da differ diff --git a/fuzz/corpora/cmp/11300aeb847352ab64de3ed828e27f1d11cad841 b/fuzz/corpora/cmp/11300aeb847352ab64de3ed828e27f1d11cad841 new file mode 100644 index 00000000..2783406f Binary files /dev/null and b/fuzz/corpora/cmp/11300aeb847352ab64de3ed828e27f1d11cad841 differ diff --git a/fuzz/corpora/cmp/114822934e80184800c1c293030993f32a129115 b/fuzz/corpora/cmp/114822934e80184800c1c293030993f32a129115 new file mode 100644 index 00000000..9a4071bc Binary files /dev/null and b/fuzz/corpora/cmp/114822934e80184800c1c293030993f32a129115 differ diff --git a/fuzz/corpora/cmp/1149bf3c277a93c1dc174c7a7c2348b58ebb55f5 b/fuzz/corpora/cmp/1149bf3c277a93c1dc174c7a7c2348b58ebb55f5 new file mode 100644 index 00000000..b7ad7e7a Binary files /dev/null and b/fuzz/corpora/cmp/1149bf3c277a93c1dc174c7a7c2348b58ebb55f5 differ diff --git a/fuzz/corpora/cmp/1170c7bc5a746d6aca6edef05e2564ff8b22fcbe b/fuzz/corpora/cmp/1170c7bc5a746d6aca6edef05e2564ff8b22fcbe new file mode 100644 index 00000000..f56e2d4b Binary files /dev/null and b/fuzz/corpora/cmp/1170c7bc5a746d6aca6edef05e2564ff8b22fcbe differ diff --git a/fuzz/corpora/cmp/1176fbd08a0068b7832d51dc8bc8ca210acdb8a9 b/fuzz/corpora/cmp/1176fbd08a0068b7832d51dc8bc8ca210acdb8a9 new file mode 100644 index 00000000..c5d903e4 Binary files /dev/null and b/fuzz/corpora/cmp/1176fbd08a0068b7832d51dc8bc8ca210acdb8a9 differ diff --git a/fuzz/corpora/cmp/117d7581012d355f33664b0b8c8ad287df273a8f b/fuzz/corpora/cmp/117d7581012d355f33664b0b8c8ad287df273a8f new file mode 100644 index 00000000..c810db3f Binary files /dev/null and b/fuzz/corpora/cmp/117d7581012d355f33664b0b8c8ad287df273a8f differ diff --git a/fuzz/corpora/cmp/119ec2f93a75f89f61ac161cc702ce1f84bf5894 b/fuzz/corpora/cmp/119ec2f93a75f89f61ac161cc702ce1f84bf5894 new file mode 100644 index 00000000..a4d2088a Binary files /dev/null and b/fuzz/corpora/cmp/119ec2f93a75f89f61ac161cc702ce1f84bf5894 differ diff --git a/fuzz/corpora/cmp/119ef1d41ba13919f251c0cdd8d68207ff653efe b/fuzz/corpora/cmp/119ef1d41ba13919f251c0cdd8d68207ff653efe new file mode 100644 index 00000000..a3079493 Binary files /dev/null and b/fuzz/corpora/cmp/119ef1d41ba13919f251c0cdd8d68207ff653efe differ diff --git a/fuzz/corpora/cmp/119f0cbc77cacfb37744128e8bfa7e227ecdf9a5 b/fuzz/corpora/cmp/119f0cbc77cacfb37744128e8bfa7e227ecdf9a5 new file mode 100644 index 00000000..abb12a31 Binary files /dev/null and b/fuzz/corpora/cmp/119f0cbc77cacfb37744128e8bfa7e227ecdf9a5 differ diff --git a/fuzz/corpora/cmp/119fe218ccd501c4f7c296e2155dd78d0623ef3a b/fuzz/corpora/cmp/119fe218ccd501c4f7c296e2155dd78d0623ef3a new file mode 100644 index 00000000..f47f2bd8 Binary files /dev/null and b/fuzz/corpora/cmp/119fe218ccd501c4f7c296e2155dd78d0623ef3a differ diff --git a/fuzz/corpora/cmp/11a2df91100aa84c7ff12495af9c90b1d7fe7579 b/fuzz/corpora/cmp/11a2df91100aa84c7ff12495af9c90b1d7fe7579 new file mode 100644 index 00000000..88d07c23 Binary files /dev/null and b/fuzz/corpora/cmp/11a2df91100aa84c7ff12495af9c90b1d7fe7579 differ diff --git a/fuzz/corpora/cmp/11a82372f4b364f2673f6017668794943517523f b/fuzz/corpora/cmp/11a82372f4b364f2673f6017668794943517523f new file mode 100644 index 00000000..55d0120a Binary files /dev/null and b/fuzz/corpora/cmp/11a82372f4b364f2673f6017668794943517523f differ diff --git a/fuzz/corpora/cmp/11a8d0c1b19792eb0b08535710d2cfe53d119754 b/fuzz/corpora/cmp/11a8d0c1b19792eb0b08535710d2cfe53d119754 new file mode 100644 index 00000000..02a1b0e8 Binary files /dev/null and b/fuzz/corpora/cmp/11a8d0c1b19792eb0b08535710d2cfe53d119754 differ diff --git a/fuzz/corpora/cmp/11b989ec1f543978ec49ada870270c15d210a764 b/fuzz/corpora/cmp/11b989ec1f543978ec49ada870270c15d210a764 new file mode 100644 index 00000000..9dcfdb19 Binary files /dev/null and b/fuzz/corpora/cmp/11b989ec1f543978ec49ada870270c15d210a764 differ diff --git a/fuzz/corpora/cmp/11ba5c101c30b622adc593b85aab2d87eb240874 b/fuzz/corpora/cmp/11ba5c101c30b622adc593b85aab2d87eb240874 new file mode 100644 index 00000000..852f1195 Binary files /dev/null and b/fuzz/corpora/cmp/11ba5c101c30b622adc593b85aab2d87eb240874 differ diff --git a/fuzz/corpora/cmp/11c79421dcb57aca31aad38520c3c3321d7a638e b/fuzz/corpora/cmp/11c79421dcb57aca31aad38520c3c3321d7a638e new file mode 100644 index 00000000..a274b72f Binary files /dev/null and b/fuzz/corpora/cmp/11c79421dcb57aca31aad38520c3c3321d7a638e differ diff --git a/fuzz/corpora/cmp/11dec6dd94f84157e34076101a9be47c32729357 b/fuzz/corpora/cmp/11dec6dd94f84157e34076101a9be47c32729357 new file mode 100644 index 00000000..e2647852 Binary files /dev/null and b/fuzz/corpora/cmp/11dec6dd94f84157e34076101a9be47c32729357 differ diff --git a/fuzz/corpora/cmp/11f3d8483d294470365d7427f40bfebe0e7264b9 b/fuzz/corpora/cmp/11f3d8483d294470365d7427f40bfebe0e7264b9 new file mode 100644 index 00000000..eb447164 Binary files /dev/null and b/fuzz/corpora/cmp/11f3d8483d294470365d7427f40bfebe0e7264b9 differ diff --git a/fuzz/corpora/cmp/1207234fcbba28df7a151c3332f794ad95fb7567 b/fuzz/corpora/cmp/1207234fcbba28df7a151c3332f794ad95fb7567 new file mode 100644 index 00000000..b3492fd5 Binary files /dev/null and b/fuzz/corpora/cmp/1207234fcbba28df7a151c3332f794ad95fb7567 differ diff --git a/fuzz/corpora/cmp/12189527f31a7b762b0388cbd606613375ecec08 b/fuzz/corpora/cmp/12189527f31a7b762b0388cbd606613375ecec08 new file mode 100644 index 00000000..37514fd3 Binary files /dev/null and b/fuzz/corpora/cmp/12189527f31a7b762b0388cbd606613375ecec08 differ diff --git a/fuzz/corpora/cmp/121b9ca1e1e38c9339d4bddabf1d179cb01bb250 b/fuzz/corpora/cmp/121b9ca1e1e38c9339d4bddabf1d179cb01bb250 new file mode 100644 index 00000000..4c7d8c24 Binary files /dev/null and b/fuzz/corpora/cmp/121b9ca1e1e38c9339d4bddabf1d179cb01bb250 differ diff --git a/fuzz/corpora/cmp/122c4bf29c23eee0b72ba0212773ab96986f4d77 b/fuzz/corpora/cmp/122c4bf29c23eee0b72ba0212773ab96986f4d77 new file mode 100644 index 00000000..b495bf7a Binary files /dev/null and b/fuzz/corpora/cmp/122c4bf29c23eee0b72ba0212773ab96986f4d77 differ diff --git a/fuzz/corpora/cmp/122ced5f42a2c8a0cfbf0ea02bad393be8106d54 b/fuzz/corpora/cmp/122ced5f42a2c8a0cfbf0ea02bad393be8106d54 new file mode 100644 index 00000000..f41e528a Binary files /dev/null and b/fuzz/corpora/cmp/122ced5f42a2c8a0cfbf0ea02bad393be8106d54 differ diff --git a/fuzz/corpora/cmp/1253fcec9bc4d4eed8cac208f9797b30a3071aa0 b/fuzz/corpora/cmp/1253fcec9bc4d4eed8cac208f9797b30a3071aa0 new file mode 100644 index 00000000..d83e9a81 Binary files /dev/null and b/fuzz/corpora/cmp/1253fcec9bc4d4eed8cac208f9797b30a3071aa0 differ diff --git a/fuzz/corpora/cmp/1254ded04e28d43b4c2434b0a1b3ba21137207ba b/fuzz/corpora/cmp/1254ded04e28d43b4c2434b0a1b3ba21137207ba new file mode 100644 index 00000000..62c93598 Binary files /dev/null and b/fuzz/corpora/cmp/1254ded04e28d43b4c2434b0a1b3ba21137207ba differ diff --git a/fuzz/corpora/cmp/125dff27008c146076a9a0fbe25c58af6fd1820a b/fuzz/corpora/cmp/125dff27008c146076a9a0fbe25c58af6fd1820a new file mode 100644 index 00000000..cf41f4ab Binary files /dev/null and b/fuzz/corpora/cmp/125dff27008c146076a9a0fbe25c58af6fd1820a differ diff --git a/fuzz/corpora/cmp/126dac0d3f77723f437e49e9132d95deedc72a57 b/fuzz/corpora/cmp/126dac0d3f77723f437e49e9132d95deedc72a57 new file mode 100644 index 00000000..fed895a6 Binary files /dev/null and b/fuzz/corpora/cmp/126dac0d3f77723f437e49e9132d95deedc72a57 differ diff --git a/fuzz/corpora/cmp/12763b8953e334f3bd80979ab01f7883509c9149 b/fuzz/corpora/cmp/12763b8953e334f3bd80979ab01f7883509c9149 new file mode 100644 index 00000000..51d23e75 Binary files /dev/null and b/fuzz/corpora/cmp/12763b8953e334f3bd80979ab01f7883509c9149 differ diff --git a/fuzz/corpora/cmp/127bf8584a5e7f72a30dba5ee82701ce54722cb6 b/fuzz/corpora/cmp/127bf8584a5e7f72a30dba5ee82701ce54722cb6 new file mode 100644 index 00000000..bee42a08 Binary files /dev/null and b/fuzz/corpora/cmp/127bf8584a5e7f72a30dba5ee82701ce54722cb6 differ diff --git a/fuzz/corpora/cmp/127c9f9a089f43777bb2d73bda58d07dd450ecdf b/fuzz/corpora/cmp/127c9f9a089f43777bb2d73bda58d07dd450ecdf new file mode 100644 index 00000000..f00d526d Binary files /dev/null and b/fuzz/corpora/cmp/127c9f9a089f43777bb2d73bda58d07dd450ecdf differ diff --git a/fuzz/corpora/cmp/128e0013ce7c88f77fd04b0032b37a55171986e5 b/fuzz/corpora/cmp/128e0013ce7c88f77fd04b0032b37a55171986e5 new file mode 100644 index 00000000..ab71a258 Binary files /dev/null and b/fuzz/corpora/cmp/128e0013ce7c88f77fd04b0032b37a55171986e5 differ diff --git a/fuzz/corpora/cmp/12a55de9388655089f68ceec1b370b79ded88af6 b/fuzz/corpora/cmp/12a55de9388655089f68ceec1b370b79ded88af6 new file mode 100644 index 00000000..be7d9f39 Binary files /dev/null and b/fuzz/corpora/cmp/12a55de9388655089f68ceec1b370b79ded88af6 differ diff --git a/fuzz/corpora/cmp/12a5880eb9ae64587bf4c1f3c5365fde6f687a76 b/fuzz/corpora/cmp/12a5880eb9ae64587bf4c1f3c5365fde6f687a76 new file mode 100644 index 00000000..b3090d09 Binary files /dev/null and b/fuzz/corpora/cmp/12a5880eb9ae64587bf4c1f3c5365fde6f687a76 differ diff --git a/fuzz/corpora/cmp/12bd614948664a2737db868d1bfba4be72e19a4b b/fuzz/corpora/cmp/12bd614948664a2737db868d1bfba4be72e19a4b new file mode 100644 index 00000000..a9afba8a Binary files /dev/null and b/fuzz/corpora/cmp/12bd614948664a2737db868d1bfba4be72e19a4b differ diff --git a/fuzz/corpora/cmp/12c058fb1aaf9ae7cd433618de3fd64e97da8869 b/fuzz/corpora/cmp/12c058fb1aaf9ae7cd433618de3fd64e97da8869 new file mode 100644 index 00000000..c679eb3c Binary files /dev/null and b/fuzz/corpora/cmp/12c058fb1aaf9ae7cd433618de3fd64e97da8869 differ diff --git a/fuzz/corpora/cmp/12c8095d1a80d000dc5531c6283f5553eb212599 b/fuzz/corpora/cmp/12c8095d1a80d000dc5531c6283f5553eb212599 new file mode 100644 index 00000000..e036afec Binary files /dev/null and b/fuzz/corpora/cmp/12c8095d1a80d000dc5531c6283f5553eb212599 differ diff --git a/fuzz/corpora/cmp/12ce2dd2a14b7fdeae734eaea98d59d4722112c8 b/fuzz/corpora/cmp/12ce2dd2a14b7fdeae734eaea98d59d4722112c8 new file mode 100644 index 00000000..7efbb5e9 Binary files /dev/null and b/fuzz/corpora/cmp/12ce2dd2a14b7fdeae734eaea98d59d4722112c8 differ diff --git a/fuzz/corpora/cmp/12d927e017f0d6083cd9eb4a28e9cd5ff903c105 b/fuzz/corpora/cmp/12d927e017f0d6083cd9eb4a28e9cd5ff903c105 new file mode 100644 index 00000000..388853b1 Binary files /dev/null and b/fuzz/corpora/cmp/12d927e017f0d6083cd9eb4a28e9cd5ff903c105 differ diff --git a/fuzz/corpora/cmp/12df5547dd6935ac3fa3b5a2f938d2d634524f44 b/fuzz/corpora/cmp/12df5547dd6935ac3fa3b5a2f938d2d634524f44 new file mode 100644 index 00000000..df5cd2ad Binary files /dev/null and b/fuzz/corpora/cmp/12df5547dd6935ac3fa3b5a2f938d2d634524f44 differ diff --git a/fuzz/corpora/cmp/12e6e12da0b9d480cac4a0123abc319591dd7dc4 b/fuzz/corpora/cmp/12e6e12da0b9d480cac4a0123abc319591dd7dc4 new file mode 100644 index 00000000..6a47ff34 Binary files /dev/null and b/fuzz/corpora/cmp/12e6e12da0b9d480cac4a0123abc319591dd7dc4 differ diff --git a/fuzz/corpora/cmp/12eaaa5da1e4fb660957e128b42b370f8d1d1767 b/fuzz/corpora/cmp/12eaaa5da1e4fb660957e128b42b370f8d1d1767 new file mode 100644 index 00000000..2513bfbc Binary files /dev/null and b/fuzz/corpora/cmp/12eaaa5da1e4fb660957e128b42b370f8d1d1767 differ diff --git a/fuzz/corpora/cmp/12ebd6938cebad2e1a33703bec9730010ef74ba3 b/fuzz/corpora/cmp/12ebd6938cebad2e1a33703bec9730010ef74ba3 new file mode 100644 index 00000000..a63f085a Binary files /dev/null and b/fuzz/corpora/cmp/12ebd6938cebad2e1a33703bec9730010ef74ba3 differ diff --git a/fuzz/corpora/cmp/12fbf57649a4fd88f78b490d60e4303d40a0331a b/fuzz/corpora/cmp/12fbf57649a4fd88f78b490d60e4303d40a0331a new file mode 100644 index 00000000..ba577a47 Binary files /dev/null and b/fuzz/corpora/cmp/12fbf57649a4fd88f78b490d60e4303d40a0331a differ diff --git a/fuzz/corpora/cmp/130ca5866982d2797b9ef02e5077f3c821d69936 b/fuzz/corpora/cmp/130ca5866982d2797b9ef02e5077f3c821d69936 new file mode 100644 index 00000000..a89c1194 Binary files /dev/null and b/fuzz/corpora/cmp/130ca5866982d2797b9ef02e5077f3c821d69936 differ diff --git a/fuzz/corpora/cmp/132efb64531eda2fe6315eb7526650d86c45e0c2 b/fuzz/corpora/cmp/132efb64531eda2fe6315eb7526650d86c45e0c2 new file mode 100644 index 00000000..32cde0c4 Binary files /dev/null and b/fuzz/corpora/cmp/132efb64531eda2fe6315eb7526650d86c45e0c2 differ diff --git a/fuzz/corpora/cmp/1331cbee94a5b2a0be28875e32b599f2148c2603 b/fuzz/corpora/cmp/1331cbee94a5b2a0be28875e32b599f2148c2603 new file mode 100644 index 00000000..0a499d02 Binary files /dev/null and b/fuzz/corpora/cmp/1331cbee94a5b2a0be28875e32b599f2148c2603 differ diff --git a/fuzz/corpora/cmp/1335ca6a5c161a065eca86677671a40549b9ebeb b/fuzz/corpora/cmp/1335ca6a5c161a065eca86677671a40549b9ebeb new file mode 100644 index 00000000..a27042ca Binary files /dev/null and b/fuzz/corpora/cmp/1335ca6a5c161a065eca86677671a40549b9ebeb differ diff --git a/fuzz/corpora/cmp/1340bab04f9dac3feeb3612660ec155421e91813 b/fuzz/corpora/cmp/1340bab04f9dac3feeb3612660ec155421e91813 new file mode 100644 index 00000000..dd95ff17 Binary files /dev/null and b/fuzz/corpora/cmp/1340bab04f9dac3feeb3612660ec155421e91813 differ diff --git a/fuzz/corpora/cmp/13450ebf7b4a27f70055ebf38fb6a4e73c98588e b/fuzz/corpora/cmp/13450ebf7b4a27f70055ebf38fb6a4e73c98588e new file mode 100644 index 00000000..5dae7a5a Binary files /dev/null and b/fuzz/corpora/cmp/13450ebf7b4a27f70055ebf38fb6a4e73c98588e differ diff --git a/fuzz/corpora/cmp/1352442d67bc8f76cd2da608ab6a54769fb2b732 b/fuzz/corpora/cmp/1352442d67bc8f76cd2da608ab6a54769fb2b732 new file mode 100644 index 00000000..40a6c68c Binary files /dev/null and b/fuzz/corpora/cmp/1352442d67bc8f76cd2da608ab6a54769fb2b732 differ diff --git a/fuzz/corpora/cmp/136727f6aea7da01a04b5e1bc47323f77f852dbd b/fuzz/corpora/cmp/136727f6aea7da01a04b5e1bc47323f77f852dbd new file mode 100644 index 00000000..d4c63e40 Binary files /dev/null and b/fuzz/corpora/cmp/136727f6aea7da01a04b5e1bc47323f77f852dbd differ diff --git a/fuzz/corpora/cmp/13683fd2be5cf5436313eaff8ac9899c1329cbb0 b/fuzz/corpora/cmp/13683fd2be5cf5436313eaff8ac9899c1329cbb0 new file mode 100644 index 00000000..9731b0a6 Binary files /dev/null and b/fuzz/corpora/cmp/13683fd2be5cf5436313eaff8ac9899c1329cbb0 differ diff --git a/fuzz/corpora/cmp/136a60ac8acbb844b942406ea3f3c263d489571a b/fuzz/corpora/cmp/136a60ac8acbb844b942406ea3f3c263d489571a new file mode 100644 index 00000000..0bf2dbda Binary files /dev/null and b/fuzz/corpora/cmp/136a60ac8acbb844b942406ea3f3c263d489571a differ diff --git a/fuzz/corpora/cmp/136d5c226fe45ba99fff1061f89663a5dbebcfdc b/fuzz/corpora/cmp/136d5c226fe45ba99fff1061f89663a5dbebcfdc new file mode 100644 index 00000000..f4b910a4 Binary files /dev/null and b/fuzz/corpora/cmp/136d5c226fe45ba99fff1061f89663a5dbebcfdc differ diff --git a/fuzz/corpora/cmp/137a8ca4230af0383d3fd492039c7486e0c3ee45 b/fuzz/corpora/cmp/137a8ca4230af0383d3fd492039c7486e0c3ee45 new file mode 100644 index 00000000..c1b9720d Binary files /dev/null and b/fuzz/corpora/cmp/137a8ca4230af0383d3fd492039c7486e0c3ee45 differ diff --git a/fuzz/corpora/cmp/137f4f1b288412b6030f85024bc21ab3c5a621be b/fuzz/corpora/cmp/137f4f1b288412b6030f85024bc21ab3c5a621be new file mode 100644 index 00000000..7348ad8c Binary files /dev/null and b/fuzz/corpora/cmp/137f4f1b288412b6030f85024bc21ab3c5a621be differ diff --git a/fuzz/corpora/cmp/1381f0f411f8aaa858abc2d8ff56347da65a9fd6 b/fuzz/corpora/cmp/1381f0f411f8aaa858abc2d8ff56347da65a9fd6 new file mode 100644 index 00000000..9b4417d1 Binary files /dev/null and b/fuzz/corpora/cmp/1381f0f411f8aaa858abc2d8ff56347da65a9fd6 differ diff --git a/fuzz/corpora/cmp/13853079d07f10698d942fa5d6bbf729010ec99a b/fuzz/corpora/cmp/13853079d07f10698d942fa5d6bbf729010ec99a new file mode 100644 index 00000000..fa88a81e Binary files /dev/null and b/fuzz/corpora/cmp/13853079d07f10698d942fa5d6bbf729010ec99a differ diff --git a/fuzz/corpora/cmp/139e4d88d43a4d632d905394d1ca388bd1ad8342 b/fuzz/corpora/cmp/139e4d88d43a4d632d905394d1ca388bd1ad8342 new file mode 100644 index 00000000..86bd27d7 Binary files /dev/null and b/fuzz/corpora/cmp/139e4d88d43a4d632d905394d1ca388bd1ad8342 differ diff --git a/fuzz/corpora/cmp/139efc73e3d8b688b709576ea31b6b5f81e3b653 b/fuzz/corpora/cmp/139efc73e3d8b688b709576ea31b6b5f81e3b653 new file mode 100644 index 00000000..27e5abb5 Binary files /dev/null and b/fuzz/corpora/cmp/139efc73e3d8b688b709576ea31b6b5f81e3b653 differ diff --git a/fuzz/corpora/cmp/13a5034d204431fdc6661ffc412158d07edb2483 b/fuzz/corpora/cmp/13a5034d204431fdc6661ffc412158d07edb2483 new file mode 100644 index 00000000..cd3d3b56 Binary files /dev/null and b/fuzz/corpora/cmp/13a5034d204431fdc6661ffc412158d07edb2483 differ diff --git a/fuzz/corpora/cmp/13ba622676e1f9f6d53a99fc1ab1e87a38818a25 b/fuzz/corpora/cmp/13ba622676e1f9f6d53a99fc1ab1e87a38818a25 new file mode 100644 index 00000000..bf94a4a3 Binary files /dev/null and b/fuzz/corpora/cmp/13ba622676e1f9f6d53a99fc1ab1e87a38818a25 differ diff --git a/fuzz/corpora/cmp/13c9e3f7da98cdf899ac838f10a771ef6ba79ba6 b/fuzz/corpora/cmp/13c9e3f7da98cdf899ac838f10a771ef6ba79ba6 new file mode 100644 index 00000000..11e53252 Binary files /dev/null and b/fuzz/corpora/cmp/13c9e3f7da98cdf899ac838f10a771ef6ba79ba6 differ diff --git a/fuzz/corpora/cmp/13d386382804eddce704f7ae67ac7edf892947f3 b/fuzz/corpora/cmp/13d386382804eddce704f7ae67ac7edf892947f3 new file mode 100644 index 00000000..37ea8fd7 Binary files /dev/null and b/fuzz/corpora/cmp/13d386382804eddce704f7ae67ac7edf892947f3 differ diff --git a/fuzz/corpora/cmp/13f99ec5abe7fe87bae9c1a72391fba11db10445 b/fuzz/corpora/cmp/13f99ec5abe7fe87bae9c1a72391fba11db10445 new file mode 100644 index 00000000..b74fddc3 Binary files /dev/null and b/fuzz/corpora/cmp/13f99ec5abe7fe87bae9c1a72391fba11db10445 differ diff --git a/fuzz/corpora/cmp/14050b2f96f4696cc420f622212985a2ca92bf10 b/fuzz/corpora/cmp/14050b2f96f4696cc420f622212985a2ca92bf10 new file mode 100644 index 00000000..1cfdac01 Binary files /dev/null and b/fuzz/corpora/cmp/14050b2f96f4696cc420f622212985a2ca92bf10 differ diff --git a/fuzz/corpora/cmp/1406e955c80124089e73cd87d39123951a0faf1b b/fuzz/corpora/cmp/1406e955c80124089e73cd87d39123951a0faf1b new file mode 100644 index 00000000..6d585d74 Binary files /dev/null and b/fuzz/corpora/cmp/1406e955c80124089e73cd87d39123951a0faf1b differ diff --git a/fuzz/corpora/cmp/140ec0fbc98d4fc65dfe4dc6b3b74b57ee160d89 b/fuzz/corpora/cmp/140ec0fbc98d4fc65dfe4dc6b3b74b57ee160d89 new file mode 100644 index 00000000..65e02ab7 Binary files /dev/null and b/fuzz/corpora/cmp/140ec0fbc98d4fc65dfe4dc6b3b74b57ee160d89 differ diff --git a/fuzz/corpora/cmp/141b59d677f28a49c201af37c7ca32981965c0aa b/fuzz/corpora/cmp/141b59d677f28a49c201af37c7ca32981965c0aa new file mode 100644 index 00000000..812457bf Binary files /dev/null and b/fuzz/corpora/cmp/141b59d677f28a49c201af37c7ca32981965c0aa differ diff --git a/fuzz/corpora/cmp/1428ec5ffdc000d302a83b55fda38e7e0d7b8916 b/fuzz/corpora/cmp/1428ec5ffdc000d302a83b55fda38e7e0d7b8916 new file mode 100644 index 00000000..d569b506 Binary files /dev/null and b/fuzz/corpora/cmp/1428ec5ffdc000d302a83b55fda38e7e0d7b8916 differ diff --git a/fuzz/corpora/cmp/14394d1db35811f482507d2a19916e67348b4632 b/fuzz/corpora/cmp/14394d1db35811f482507d2a19916e67348b4632 new file mode 100644 index 00000000..41a64969 Binary files /dev/null and b/fuzz/corpora/cmp/14394d1db35811f482507d2a19916e67348b4632 differ diff --git a/fuzz/corpora/cmp/144ffcaa4b0f81bf776025932242abdb1f233fb2 b/fuzz/corpora/cmp/144ffcaa4b0f81bf776025932242abdb1f233fb2 new file mode 100644 index 00000000..3ece03d2 Binary files /dev/null and b/fuzz/corpora/cmp/144ffcaa4b0f81bf776025932242abdb1f233fb2 differ diff --git a/fuzz/corpora/cmp/14615d9487a4e207e8efd4ae8d9dfb123b135cce b/fuzz/corpora/cmp/14615d9487a4e207e8efd4ae8d9dfb123b135cce new file mode 100644 index 00000000..7f96cce1 Binary files /dev/null and b/fuzz/corpora/cmp/14615d9487a4e207e8efd4ae8d9dfb123b135cce differ diff --git a/fuzz/corpora/cmp/1463bf045100cae08576a6bda0483a7db153c9e6 b/fuzz/corpora/cmp/1463bf045100cae08576a6bda0483a7db153c9e6 new file mode 100644 index 00000000..f721a9f9 Binary files /dev/null and b/fuzz/corpora/cmp/1463bf045100cae08576a6bda0483a7db153c9e6 differ diff --git a/fuzz/corpora/cmp/149fee3dc5b1aaac7bff10f9d6fae65e7e1a2a52 b/fuzz/corpora/cmp/149fee3dc5b1aaac7bff10f9d6fae65e7e1a2a52 new file mode 100644 index 00000000..ca75305c Binary files /dev/null and b/fuzz/corpora/cmp/149fee3dc5b1aaac7bff10f9d6fae65e7e1a2a52 differ diff --git a/fuzz/corpora/cmp/14abc779e53c8cae492bb724ae5f7a82d2d36a18 b/fuzz/corpora/cmp/14abc779e53c8cae492bb724ae5f7a82d2d36a18 new file mode 100644 index 00000000..0a178acd Binary files /dev/null and b/fuzz/corpora/cmp/14abc779e53c8cae492bb724ae5f7a82d2d36a18 differ diff --git a/fuzz/corpora/cmp/14b0f2d1fa8c447839b697134408c6ecff6f9028 b/fuzz/corpora/cmp/14b0f2d1fa8c447839b697134408c6ecff6f9028 new file mode 100644 index 00000000..3cea0f23 Binary files /dev/null and b/fuzz/corpora/cmp/14b0f2d1fa8c447839b697134408c6ecff6f9028 differ diff --git a/fuzz/corpora/cmp/14cb6f800576c66d0356cf594976a01097c698e7 b/fuzz/corpora/cmp/14cb6f800576c66d0356cf594976a01097c698e7 new file mode 100644 index 00000000..637bdcbf Binary files /dev/null and b/fuzz/corpora/cmp/14cb6f800576c66d0356cf594976a01097c698e7 differ diff --git a/fuzz/corpora/cmp/14cd1a3c223ec5a828cb76b48aa7516bb60ee9c1 b/fuzz/corpora/cmp/14cd1a3c223ec5a828cb76b48aa7516bb60ee9c1 new file mode 100644 index 00000000..bf43f1dd Binary files /dev/null and b/fuzz/corpora/cmp/14cd1a3c223ec5a828cb76b48aa7516bb60ee9c1 differ diff --git a/fuzz/corpora/cmp/14d62d482ed725d654069af1d9555898d2869a46 b/fuzz/corpora/cmp/14d62d482ed725d654069af1d9555898d2869a46 new file mode 100644 index 00000000..0d6e4f85 Binary files /dev/null and b/fuzz/corpora/cmp/14d62d482ed725d654069af1d9555898d2869a46 differ diff --git a/fuzz/corpora/cmp/14df669d0d47dc2a6f9922ab7234331185697e39 b/fuzz/corpora/cmp/14df669d0d47dc2a6f9922ab7234331185697e39 new file mode 100644 index 00000000..783aa7fd Binary files /dev/null and b/fuzz/corpora/cmp/14df669d0d47dc2a6f9922ab7234331185697e39 differ diff --git a/fuzz/corpora/cmp/14dfb7eda66c09d2be09c731ab3bfb0b26de53a0 b/fuzz/corpora/cmp/14dfb7eda66c09d2be09c731ab3bfb0b26de53a0 new file mode 100644 index 00000000..92673bc0 Binary files /dev/null and b/fuzz/corpora/cmp/14dfb7eda66c09d2be09c731ab3bfb0b26de53a0 differ diff --git a/fuzz/corpora/cmp/14ee426983aff904f90fc214b89e361ff17b4341 b/fuzz/corpora/cmp/14ee426983aff904f90fc214b89e361ff17b4341 new file mode 100644 index 00000000..526564a9 Binary files /dev/null and b/fuzz/corpora/cmp/14ee426983aff904f90fc214b89e361ff17b4341 differ diff --git a/fuzz/corpora/cmp/150916db8c00bcb561cd781ae75ef981a9c897d9 b/fuzz/corpora/cmp/150916db8c00bcb561cd781ae75ef981a9c897d9 new file mode 100644 index 00000000..e36d2b47 Binary files /dev/null and b/fuzz/corpora/cmp/150916db8c00bcb561cd781ae75ef981a9c897d9 differ diff --git a/fuzz/corpora/cmp/151f8865d3ae8537bce24129be47aae301c9fb29 b/fuzz/corpora/cmp/151f8865d3ae8537bce24129be47aae301c9fb29 new file mode 100644 index 00000000..1d8a0b59 Binary files /dev/null and b/fuzz/corpora/cmp/151f8865d3ae8537bce24129be47aae301c9fb29 differ diff --git a/fuzz/corpora/cmp/152464dee2c963ee926d3b6a0ec7f4c851893db4 b/fuzz/corpora/cmp/152464dee2c963ee926d3b6a0ec7f4c851893db4 new file mode 100644 index 00000000..a2852464 Binary files /dev/null and b/fuzz/corpora/cmp/152464dee2c963ee926d3b6a0ec7f4c851893db4 differ diff --git a/fuzz/corpora/cmp/153e00f04a25a36ef770bb8797f31b0a5e893eb0 b/fuzz/corpora/cmp/153e00f04a25a36ef770bb8797f31b0a5e893eb0 new file mode 100644 index 00000000..32d12063 Binary files /dev/null and b/fuzz/corpora/cmp/153e00f04a25a36ef770bb8797f31b0a5e893eb0 differ diff --git a/fuzz/corpora/cmp/1548537b0c1a179dbb8e753c50829ee48d1ca068 b/fuzz/corpora/cmp/1548537b0c1a179dbb8e753c50829ee48d1ca068 new file mode 100644 index 00000000..8e922d59 Binary files /dev/null and b/fuzz/corpora/cmp/1548537b0c1a179dbb8e753c50829ee48d1ca068 differ diff --git a/fuzz/corpora/cmp/154f8af1c6e56fff81dbd7295216843bc6967f3f b/fuzz/corpora/cmp/154f8af1c6e56fff81dbd7295216843bc6967f3f new file mode 100644 index 00000000..c0e63ef4 Binary files /dev/null and b/fuzz/corpora/cmp/154f8af1c6e56fff81dbd7295216843bc6967f3f differ diff --git a/fuzz/corpora/cmp/1571612d883812f74f843a2ffda38a71477d8f82 b/fuzz/corpora/cmp/1571612d883812f74f843a2ffda38a71477d8f82 new file mode 100644 index 00000000..2852e052 Binary files /dev/null and b/fuzz/corpora/cmp/1571612d883812f74f843a2ffda38a71477d8f82 differ diff --git a/fuzz/corpora/cmp/1575fa046e52a484312fb10452efa4c5ac202e78 b/fuzz/corpora/cmp/1575fa046e52a484312fb10452efa4c5ac202e78 new file mode 100644 index 00000000..cd3d9fca Binary files /dev/null and b/fuzz/corpora/cmp/1575fa046e52a484312fb10452efa4c5ac202e78 differ diff --git a/fuzz/corpora/cmp/158c7314eaa749078628928926dee1d0d5860fc0 b/fuzz/corpora/cmp/158c7314eaa749078628928926dee1d0d5860fc0 new file mode 100644 index 00000000..a09048b5 Binary files /dev/null and b/fuzz/corpora/cmp/158c7314eaa749078628928926dee1d0d5860fc0 differ diff --git a/fuzz/corpora/cmp/15901221d1c1bfbc1dbec376ed5e6a0fdbf0035a b/fuzz/corpora/cmp/15901221d1c1bfbc1dbec376ed5e6a0fdbf0035a new file mode 100644 index 00000000..bdc5d04f Binary files /dev/null and b/fuzz/corpora/cmp/15901221d1c1bfbc1dbec376ed5e6a0fdbf0035a differ diff --git a/fuzz/corpora/cmp/159b25951ef67858037a72bde3a6a60514975a6d b/fuzz/corpora/cmp/159b25951ef67858037a72bde3a6a60514975a6d new file mode 100644 index 00000000..8258e44c Binary files /dev/null and b/fuzz/corpora/cmp/159b25951ef67858037a72bde3a6a60514975a6d differ diff --git a/fuzz/corpora/cmp/15ac0a354d4c7fe98eb6921c1b87b93ae7c51de0 b/fuzz/corpora/cmp/15ac0a354d4c7fe98eb6921c1b87b93ae7c51de0 new file mode 100644 index 00000000..f36675ea Binary files /dev/null and b/fuzz/corpora/cmp/15ac0a354d4c7fe98eb6921c1b87b93ae7c51de0 differ diff --git a/fuzz/corpora/cmp/15d238cdc68f0cbe7cf44a13dac9fe547dd9c215 b/fuzz/corpora/cmp/15d238cdc68f0cbe7cf44a13dac9fe547dd9c215 new file mode 100644 index 00000000..aeb0a719 Binary files /dev/null and b/fuzz/corpora/cmp/15d238cdc68f0cbe7cf44a13dac9fe547dd9c215 differ diff --git a/fuzz/corpora/cmp/15dd9b982dab5c59877ab422aafccc8f93a067b1 b/fuzz/corpora/cmp/15dd9b982dab5c59877ab422aafccc8f93a067b1 new file mode 100644 index 00000000..09eb98b3 Binary files /dev/null and b/fuzz/corpora/cmp/15dd9b982dab5c59877ab422aafccc8f93a067b1 differ diff --git a/fuzz/corpora/cmp/15edd027896466d55b84139dd2b0205bc3319901 b/fuzz/corpora/cmp/15edd027896466d55b84139dd2b0205bc3319901 new file mode 100644 index 00000000..72488824 Binary files /dev/null and b/fuzz/corpora/cmp/15edd027896466d55b84139dd2b0205bc3319901 differ diff --git a/fuzz/corpora/cmp/15f5ef6c6a2c2d598a6555292c52ce215845eb67 b/fuzz/corpora/cmp/15f5ef6c6a2c2d598a6555292c52ce215845eb67 new file mode 100644 index 00000000..53001831 Binary files /dev/null and b/fuzz/corpora/cmp/15f5ef6c6a2c2d598a6555292c52ce215845eb67 differ diff --git a/fuzz/corpora/cmp/15f6f3c6dbdb8e4ad14e7e59be23d459fb0eb672 b/fuzz/corpora/cmp/15f6f3c6dbdb8e4ad14e7e59be23d459fb0eb672 new file mode 100644 index 00000000..024f7ebd Binary files /dev/null and b/fuzz/corpora/cmp/15f6f3c6dbdb8e4ad14e7e59be23d459fb0eb672 differ diff --git a/fuzz/corpora/cmp/15fcf503fe80f6816353b5b28193fda5348447ce b/fuzz/corpora/cmp/15fcf503fe80f6816353b5b28193fda5348447ce new file mode 100644 index 00000000..19cfabf0 Binary files /dev/null and b/fuzz/corpora/cmp/15fcf503fe80f6816353b5b28193fda5348447ce differ diff --git a/fuzz/corpora/cmp/1602b1ee4445012a06eec61d3f36a84844efa7e4 b/fuzz/corpora/cmp/1602b1ee4445012a06eec61d3f36a84844efa7e4 new file mode 100644 index 00000000..0ed6dc9f Binary files /dev/null and b/fuzz/corpora/cmp/1602b1ee4445012a06eec61d3f36a84844efa7e4 differ diff --git a/fuzz/corpora/cmp/1616e0aaa69be91ec559c8d0414be5a750576b61 b/fuzz/corpora/cmp/1616e0aaa69be91ec559c8d0414be5a750576b61 new file mode 100644 index 00000000..f527027b Binary files /dev/null and b/fuzz/corpora/cmp/1616e0aaa69be91ec559c8d0414be5a750576b61 differ diff --git a/fuzz/corpora/cmp/161af97d4b6255040924d36d39bfed02fb8cef0e b/fuzz/corpora/cmp/161af97d4b6255040924d36d39bfed02fb8cef0e new file mode 100644 index 00000000..5896289b Binary files /dev/null and b/fuzz/corpora/cmp/161af97d4b6255040924d36d39bfed02fb8cef0e differ diff --git a/fuzz/corpora/cmp/162c6edb995f5cec1cdd9449556817df765079ee b/fuzz/corpora/cmp/162c6edb995f5cec1cdd9449556817df765079ee new file mode 100644 index 00000000..7d4dbe98 Binary files /dev/null and b/fuzz/corpora/cmp/162c6edb995f5cec1cdd9449556817df765079ee differ diff --git a/fuzz/corpora/cmp/16397d58d0ff2865143687ee4f2646336ef4f14e b/fuzz/corpora/cmp/16397d58d0ff2865143687ee4f2646336ef4f14e new file mode 100644 index 00000000..883683ea Binary files /dev/null and b/fuzz/corpora/cmp/16397d58d0ff2865143687ee4f2646336ef4f14e differ diff --git a/fuzz/corpora/cmp/16543e8de0508d623b7a0e5c9498db16e7a34aa0 b/fuzz/corpora/cmp/16543e8de0508d623b7a0e5c9498db16e7a34aa0 new file mode 100644 index 00000000..4d27ca23 Binary files /dev/null and b/fuzz/corpora/cmp/16543e8de0508d623b7a0e5c9498db16e7a34aa0 differ diff --git a/fuzz/corpora/cmp/1662a322721114035159db75e3d910cd907e9c94 b/fuzz/corpora/cmp/1662a322721114035159db75e3d910cd907e9c94 new file mode 100644 index 00000000..4f71b004 Binary files /dev/null and b/fuzz/corpora/cmp/1662a322721114035159db75e3d910cd907e9c94 differ diff --git a/fuzz/corpora/cmp/166c38bb396c5be785e84b3bb4c783e2911bb226 b/fuzz/corpora/cmp/166c38bb396c5be785e84b3bb4c783e2911bb226 new file mode 100644 index 00000000..2104263f Binary files /dev/null and b/fuzz/corpora/cmp/166c38bb396c5be785e84b3bb4c783e2911bb226 differ diff --git a/fuzz/corpora/cmp/1671e19252b79977ac5b632bd425758d56805059 b/fuzz/corpora/cmp/1671e19252b79977ac5b632bd425758d56805059 new file mode 100644 index 00000000..68618216 Binary files /dev/null and b/fuzz/corpora/cmp/1671e19252b79977ac5b632bd425758d56805059 differ diff --git a/fuzz/corpora/cmp/1677b961a0225175d7651dee19b558ad15d2756d b/fuzz/corpora/cmp/1677b961a0225175d7651dee19b558ad15d2756d new file mode 100644 index 00000000..ee8a5e79 Binary files /dev/null and b/fuzz/corpora/cmp/1677b961a0225175d7651dee19b558ad15d2756d differ diff --git a/fuzz/corpora/cmp/169b0c071b165e951072488603a96c4f60c970a8 b/fuzz/corpora/cmp/169b0c071b165e951072488603a96c4f60c970a8 new file mode 100644 index 00000000..dc162c2d Binary files /dev/null and b/fuzz/corpora/cmp/169b0c071b165e951072488603a96c4f60c970a8 differ diff --git a/fuzz/corpora/cmp/16b3a44ea64989defec45b435096a588d01b0f65 b/fuzz/corpora/cmp/16b3a44ea64989defec45b435096a588d01b0f65 new file mode 100644 index 00000000..f42f0488 Binary files /dev/null and b/fuzz/corpora/cmp/16b3a44ea64989defec45b435096a588d01b0f65 differ diff --git a/fuzz/corpora/cmp/16c55fc897499c4a02de3c7b72f1e44d1fcc64d9 b/fuzz/corpora/cmp/16c55fc897499c4a02de3c7b72f1e44d1fcc64d9 new file mode 100644 index 00000000..80379f09 Binary files /dev/null and b/fuzz/corpora/cmp/16c55fc897499c4a02de3c7b72f1e44d1fcc64d9 differ diff --git a/fuzz/corpora/cmp/16c97be85cc72de83b128443447f4b6a870c41a6 b/fuzz/corpora/cmp/16c97be85cc72de83b128443447f4b6a870c41a6 new file mode 100644 index 00000000..17303fd1 Binary files /dev/null and b/fuzz/corpora/cmp/16c97be85cc72de83b128443447f4b6a870c41a6 differ diff --git a/fuzz/corpora/cmp/16d2fcf27a79a9b8ad5ca88263681b7117800e73 b/fuzz/corpora/cmp/16d2fcf27a79a9b8ad5ca88263681b7117800e73 new file mode 100644 index 00000000..5462bcf6 Binary files /dev/null and b/fuzz/corpora/cmp/16d2fcf27a79a9b8ad5ca88263681b7117800e73 differ diff --git a/fuzz/corpora/cmp/16d327a3e08dcc8b971c9882d81c2c79bfd5d586 b/fuzz/corpora/cmp/16d327a3e08dcc8b971c9882d81c2c79bfd5d586 new file mode 100644 index 00000000..35979c00 Binary files /dev/null and b/fuzz/corpora/cmp/16d327a3e08dcc8b971c9882d81c2c79bfd5d586 differ diff --git a/fuzz/corpora/cmp/16d5e5faee1b3d9e0ec6c1026dc952b00561db72 b/fuzz/corpora/cmp/16d5e5faee1b3d9e0ec6c1026dc952b00561db72 new file mode 100644 index 00000000..e395f193 Binary files /dev/null and b/fuzz/corpora/cmp/16d5e5faee1b3d9e0ec6c1026dc952b00561db72 differ diff --git a/fuzz/corpora/cmp/16eaec4c0a0429e907a11eefa370b744aae7d6e2 b/fuzz/corpora/cmp/16eaec4c0a0429e907a11eefa370b744aae7d6e2 new file mode 100644 index 00000000..84c2c47f Binary files /dev/null and b/fuzz/corpora/cmp/16eaec4c0a0429e907a11eefa370b744aae7d6e2 differ diff --git a/fuzz/corpora/cmp/16f25ffce81a84b3edb87be1bcaf8d437fff8d96 b/fuzz/corpora/cmp/16f25ffce81a84b3edb87be1bcaf8d437fff8d96 new file mode 100644 index 00000000..23959325 Binary files /dev/null and b/fuzz/corpora/cmp/16f25ffce81a84b3edb87be1bcaf8d437fff8d96 differ diff --git a/fuzz/corpora/cmp/174bb4dece5f023771a6585fbbfa495d12795972 b/fuzz/corpora/cmp/174bb4dece5f023771a6585fbbfa495d12795972 new file mode 100644 index 00000000..633ec495 Binary files /dev/null and b/fuzz/corpora/cmp/174bb4dece5f023771a6585fbbfa495d12795972 differ diff --git a/fuzz/corpora/cmp/17a143aa8c52e846aa28a9033553c06f148b74a3 b/fuzz/corpora/cmp/17a143aa8c52e846aa28a9033553c06f148b74a3 new file mode 100644 index 00000000..cea30d8a Binary files /dev/null and b/fuzz/corpora/cmp/17a143aa8c52e846aa28a9033553c06f148b74a3 differ diff --git a/fuzz/corpora/cmp/17abe5feb6458eb1b6304054a958c1a1c020da2c b/fuzz/corpora/cmp/17abe5feb6458eb1b6304054a958c1a1c020da2c new file mode 100644 index 00000000..72893bd2 Binary files /dev/null and b/fuzz/corpora/cmp/17abe5feb6458eb1b6304054a958c1a1c020da2c differ diff --git a/fuzz/corpora/cmp/17ce71d07371daf3665c9e23e11fbcc044cdbaf4 b/fuzz/corpora/cmp/17ce71d07371daf3665c9e23e11fbcc044cdbaf4 new file mode 100644 index 00000000..187ab192 Binary files /dev/null and b/fuzz/corpora/cmp/17ce71d07371daf3665c9e23e11fbcc044cdbaf4 differ diff --git a/fuzz/corpora/cmp/17d1ef0fe01634ace609994d79d080715f5900ba b/fuzz/corpora/cmp/17d1ef0fe01634ace609994d79d080715f5900ba new file mode 100644 index 00000000..4e47727d Binary files /dev/null and b/fuzz/corpora/cmp/17d1ef0fe01634ace609994d79d080715f5900ba differ diff --git a/fuzz/corpora/cmp/17d29476946f0c81ec1d7e9b5652af01a90c7b82 b/fuzz/corpora/cmp/17d29476946f0c81ec1d7e9b5652af01a90c7b82 new file mode 100644 index 00000000..21ad8d04 Binary files /dev/null and b/fuzz/corpora/cmp/17d29476946f0c81ec1d7e9b5652af01a90c7b82 differ diff --git a/fuzz/corpora/cmp/17d6c7b1fa705b023deaadb15606573ee24ad46e b/fuzz/corpora/cmp/17d6c7b1fa705b023deaadb15606573ee24ad46e new file mode 100644 index 00000000..2efc13a1 Binary files /dev/null and b/fuzz/corpora/cmp/17d6c7b1fa705b023deaadb15606573ee24ad46e differ diff --git a/fuzz/corpora/cmp/17e13c5224bb2470656510f9e7e12fcc5a764996 b/fuzz/corpora/cmp/17e13c5224bb2470656510f9e7e12fcc5a764996 new file mode 100644 index 00000000..ca086ec9 Binary files /dev/null and b/fuzz/corpora/cmp/17e13c5224bb2470656510f9e7e12fcc5a764996 differ diff --git a/fuzz/corpora/cmp/17e1c5eb49e62512154cf32bf7e041052b84c827 b/fuzz/corpora/cmp/17e1c5eb49e62512154cf32bf7e041052b84c827 new file mode 100644 index 00000000..c23b0ebe Binary files /dev/null and b/fuzz/corpora/cmp/17e1c5eb49e62512154cf32bf7e041052b84c827 differ diff --git a/fuzz/corpora/cmp/17edc4c3609f7b368219a8079bf06128f0c399a1 b/fuzz/corpora/cmp/17edc4c3609f7b368219a8079bf06128f0c399a1 new file mode 100644 index 00000000..a4b00891 Binary files /dev/null and b/fuzz/corpora/cmp/17edc4c3609f7b368219a8079bf06128f0c399a1 differ diff --git a/fuzz/corpora/cmp/1808b6c496cb4c34bc915fe5a2b81efbd29984ab b/fuzz/corpora/cmp/1808b6c496cb4c34bc915fe5a2b81efbd29984ab new file mode 100644 index 00000000..178a735f Binary files /dev/null and b/fuzz/corpora/cmp/1808b6c496cb4c34bc915fe5a2b81efbd29984ab differ diff --git a/fuzz/corpora/cmp/1810cd369e7844cf8e309830923e9a08cb138926 b/fuzz/corpora/cmp/1810cd369e7844cf8e309830923e9a08cb138926 new file mode 100644 index 00000000..f0c73c46 Binary files /dev/null and b/fuzz/corpora/cmp/1810cd369e7844cf8e309830923e9a08cb138926 differ diff --git a/fuzz/corpora/cmp/181b457b413220ed2317851b36ba70b4d4fa4b74 b/fuzz/corpora/cmp/181b457b413220ed2317851b36ba70b4d4fa4b74 new file mode 100644 index 00000000..08351d64 Binary files /dev/null and b/fuzz/corpora/cmp/181b457b413220ed2317851b36ba70b4d4fa4b74 differ diff --git a/fuzz/corpora/cmp/1822b535b7bd6121f4e2129fe44c95b091db0778 b/fuzz/corpora/cmp/1822b535b7bd6121f4e2129fe44c95b091db0778 new file mode 100644 index 00000000..f4220b1f Binary files /dev/null and b/fuzz/corpora/cmp/1822b535b7bd6121f4e2129fe44c95b091db0778 differ diff --git a/fuzz/corpora/cmp/18290cb2aaeaffaacb4594a3ae78c0c9228b86e1 b/fuzz/corpora/cmp/18290cb2aaeaffaacb4594a3ae78c0c9228b86e1 new file mode 100644 index 00000000..a090a13f Binary files /dev/null and b/fuzz/corpora/cmp/18290cb2aaeaffaacb4594a3ae78c0c9228b86e1 differ diff --git a/fuzz/corpora/cmp/1831d97e1b3c7a0cc2ae09acd530ffa3ed6342dd b/fuzz/corpora/cmp/1831d97e1b3c7a0cc2ae09acd530ffa3ed6342dd new file mode 100644 index 00000000..ca479d76 Binary files /dev/null and b/fuzz/corpora/cmp/1831d97e1b3c7a0cc2ae09acd530ffa3ed6342dd differ diff --git a/fuzz/corpora/cmp/185d7ffa6872732d19f692014c653a4934851357 b/fuzz/corpora/cmp/185d7ffa6872732d19f692014c653a4934851357 new file mode 100644 index 00000000..05e8a580 Binary files /dev/null and b/fuzz/corpora/cmp/185d7ffa6872732d19f692014c653a4934851357 differ diff --git a/fuzz/corpora/cmp/18638d4276ccdb8ab0687593a10e3c20be305a8c b/fuzz/corpora/cmp/18638d4276ccdb8ab0687593a10e3c20be305a8c new file mode 100644 index 00000000..59409c4a Binary files /dev/null and b/fuzz/corpora/cmp/18638d4276ccdb8ab0687593a10e3c20be305a8c differ diff --git a/fuzz/corpora/cmp/1870fc4945c774fe76156425043c73fe9c82e1a3 b/fuzz/corpora/cmp/1870fc4945c774fe76156425043c73fe9c82e1a3 new file mode 100644 index 00000000..33847ae4 Binary files /dev/null and b/fuzz/corpora/cmp/1870fc4945c774fe76156425043c73fe9c82e1a3 differ diff --git a/fuzz/corpora/cmp/18732177a579561490a77dd4417f25a17fdcf51f b/fuzz/corpora/cmp/18732177a579561490a77dd4417f25a17fdcf51f new file mode 100644 index 00000000..81fa8dea Binary files /dev/null and b/fuzz/corpora/cmp/18732177a579561490a77dd4417f25a17fdcf51f differ diff --git a/fuzz/corpora/cmp/187f61989fbe6187c0e444a67371c7ccb5c72e32 b/fuzz/corpora/cmp/187f61989fbe6187c0e444a67371c7ccb5c72e32 new file mode 100644 index 00000000..1d29226c Binary files /dev/null and b/fuzz/corpora/cmp/187f61989fbe6187c0e444a67371c7ccb5c72e32 differ diff --git a/fuzz/corpora/cmp/188422589ba8853ddbee8f374555729901510d7b b/fuzz/corpora/cmp/188422589ba8853ddbee8f374555729901510d7b new file mode 100644 index 00000000..c05ace4c Binary files /dev/null and b/fuzz/corpora/cmp/188422589ba8853ddbee8f374555729901510d7b differ diff --git a/fuzz/corpora/cmp/18ad91a3ad5cbbe98e6c275bd2f38a64f267f659 b/fuzz/corpora/cmp/18ad91a3ad5cbbe98e6c275bd2f38a64f267f659 new file mode 100644 index 00000000..c212fd57 Binary files /dev/null and b/fuzz/corpora/cmp/18ad91a3ad5cbbe98e6c275bd2f38a64f267f659 differ diff --git a/fuzz/corpora/cmp/18b3b52dd7a4a95896ec5a6c35c00338cf511f30 b/fuzz/corpora/cmp/18b3b52dd7a4a95896ec5a6c35c00338cf511f30 new file mode 100644 index 00000000..35c3a53f Binary files /dev/null and b/fuzz/corpora/cmp/18b3b52dd7a4a95896ec5a6c35c00338cf511f30 differ diff --git a/fuzz/corpora/cmp/190b98c2ae6d19e98669d372c5f6dd246892c735 b/fuzz/corpora/cmp/190b98c2ae6d19e98669d372c5f6dd246892c735 new file mode 100644 index 00000000..c433edfe Binary files /dev/null and b/fuzz/corpora/cmp/190b98c2ae6d19e98669d372c5f6dd246892c735 differ diff --git a/fuzz/corpora/cmp/193120a72f59f2b440bcfbc3f5e7af2239c2c60a b/fuzz/corpora/cmp/193120a72f59f2b440bcfbc3f5e7af2239c2c60a new file mode 100644 index 00000000..50d55121 Binary files /dev/null and b/fuzz/corpora/cmp/193120a72f59f2b440bcfbc3f5e7af2239c2c60a differ diff --git a/fuzz/corpora/cmp/1947084824762ab11b1c17480d9494562f4ecd1f b/fuzz/corpora/cmp/1947084824762ab11b1c17480d9494562f4ecd1f new file mode 100644 index 00000000..df8ff4ba Binary files /dev/null and b/fuzz/corpora/cmp/1947084824762ab11b1c17480d9494562f4ecd1f differ diff --git a/fuzz/corpora/cmp/19636ee4960d35cfce787a4fd36a4cc77493b799 b/fuzz/corpora/cmp/19636ee4960d35cfce787a4fd36a4cc77493b799 new file mode 100644 index 00000000..efb65579 Binary files /dev/null and b/fuzz/corpora/cmp/19636ee4960d35cfce787a4fd36a4cc77493b799 differ diff --git a/fuzz/corpora/cmp/19690bf725fed84dc803d743c06b51af257b436e b/fuzz/corpora/cmp/19690bf725fed84dc803d743c06b51af257b436e new file mode 100644 index 00000000..03f10eeb Binary files /dev/null and b/fuzz/corpora/cmp/19690bf725fed84dc803d743c06b51af257b436e differ diff --git a/fuzz/corpora/cmp/19a2293b6b5d9794f17b1493edd132b69eca1997 b/fuzz/corpora/cmp/19a2293b6b5d9794f17b1493edd132b69eca1997 new file mode 100644 index 00000000..22503e6f Binary files /dev/null and b/fuzz/corpora/cmp/19a2293b6b5d9794f17b1493edd132b69eca1997 differ diff --git a/fuzz/corpora/cmp/19b13ddb78088c8015880677499fa70dbbc1cde5 b/fuzz/corpora/cmp/19b13ddb78088c8015880677499fa70dbbc1cde5 new file mode 100644 index 00000000..ee3dd601 Binary files /dev/null and b/fuzz/corpora/cmp/19b13ddb78088c8015880677499fa70dbbc1cde5 differ diff --git a/fuzz/corpora/cmp/19d989502ebfdb65ee3d2a5856d90b811d241c12 b/fuzz/corpora/cmp/19d989502ebfdb65ee3d2a5856d90b811d241c12 new file mode 100644 index 00000000..aeb8aeae Binary files /dev/null and b/fuzz/corpora/cmp/19d989502ebfdb65ee3d2a5856d90b811d241c12 differ diff --git a/fuzz/corpora/cmp/19e767f8404d07c77bf79bf933b8b5138be585b6 b/fuzz/corpora/cmp/19e767f8404d07c77bf79bf933b8b5138be585b6 new file mode 100644 index 00000000..fec36c6f Binary files /dev/null and b/fuzz/corpora/cmp/19e767f8404d07c77bf79bf933b8b5138be585b6 differ diff --git a/fuzz/corpora/cmp/19f7cd65d2689e26c36bb64b67f5f47d5d25ac5e b/fuzz/corpora/cmp/19f7cd65d2689e26c36bb64b67f5f47d5d25ac5e new file mode 100644 index 00000000..d62e0b39 Binary files /dev/null and b/fuzz/corpora/cmp/19f7cd65d2689e26c36bb64b67f5f47d5d25ac5e differ diff --git a/fuzz/corpora/cmp/19ff2d0bd629a41d2deb1f483ba570b030c5e1ca b/fuzz/corpora/cmp/19ff2d0bd629a41d2deb1f483ba570b030c5e1ca new file mode 100644 index 00000000..345241c0 Binary files /dev/null and b/fuzz/corpora/cmp/19ff2d0bd629a41d2deb1f483ba570b030c5e1ca differ diff --git a/fuzz/corpora/cmp/1a03ce86f8cb4e832feab107dfcc905306946ae2 b/fuzz/corpora/cmp/1a03ce86f8cb4e832feab107dfcc905306946ae2 new file mode 100644 index 00000000..a29e46d8 Binary files /dev/null and b/fuzz/corpora/cmp/1a03ce86f8cb4e832feab107dfcc905306946ae2 differ diff --git a/fuzz/corpora/cmp/1a0575eea8eadf72eebce88da3d726a59cb20da2 b/fuzz/corpora/cmp/1a0575eea8eadf72eebce88da3d726a59cb20da2 new file mode 100644 index 00000000..c4e49bbc Binary files /dev/null and b/fuzz/corpora/cmp/1a0575eea8eadf72eebce88da3d726a59cb20da2 differ diff --git a/fuzz/corpora/cmp/1a066f2ac11c8c29efb283499939e817d2bce04a b/fuzz/corpora/cmp/1a066f2ac11c8c29efb283499939e817d2bce04a new file mode 100644 index 00000000..7b2ca005 Binary files /dev/null and b/fuzz/corpora/cmp/1a066f2ac11c8c29efb283499939e817d2bce04a differ diff --git a/fuzz/corpora/cmp/1a187985f446a56f632c1b3127cd17d2178a5b5f b/fuzz/corpora/cmp/1a187985f446a56f632c1b3127cd17d2178a5b5f new file mode 100644 index 00000000..c49d52f4 Binary files /dev/null and b/fuzz/corpora/cmp/1a187985f446a56f632c1b3127cd17d2178a5b5f differ diff --git a/fuzz/corpora/cmp/1a23637c0098b76c2f32640ed6ee4c597e30a26a b/fuzz/corpora/cmp/1a23637c0098b76c2f32640ed6ee4c597e30a26a new file mode 100644 index 00000000..1cfc4791 Binary files /dev/null and b/fuzz/corpora/cmp/1a23637c0098b76c2f32640ed6ee4c597e30a26a differ diff --git a/fuzz/corpora/cmp/1a24b6e85127665c3ad11dc6e8b00b8f77ffaf46 b/fuzz/corpora/cmp/1a24b6e85127665c3ad11dc6e8b00b8f77ffaf46 new file mode 100644 index 00000000..a4dcf2f3 Binary files /dev/null and b/fuzz/corpora/cmp/1a24b6e85127665c3ad11dc6e8b00b8f77ffaf46 differ diff --git a/fuzz/corpora/cmp/1a25cb1658b5680e6006488ae03f3a246ecb641f b/fuzz/corpora/cmp/1a25cb1658b5680e6006488ae03f3a246ecb641f new file mode 100644 index 00000000..267d290f Binary files /dev/null and b/fuzz/corpora/cmp/1a25cb1658b5680e6006488ae03f3a246ecb641f differ diff --git a/fuzz/corpora/cmp/1a2c34cb9133886fcae22329160887f887038e3f b/fuzz/corpora/cmp/1a2c34cb9133886fcae22329160887f887038e3f new file mode 100644 index 00000000..39b71f05 Binary files /dev/null and b/fuzz/corpora/cmp/1a2c34cb9133886fcae22329160887f887038e3f differ diff --git a/fuzz/corpora/cmp/1a2e0a93b9bdb3973e62f46320655deba87c0a12 b/fuzz/corpora/cmp/1a2e0a93b9bdb3973e62f46320655deba87c0a12 new file mode 100644 index 00000000..431d38ac Binary files /dev/null and b/fuzz/corpora/cmp/1a2e0a93b9bdb3973e62f46320655deba87c0a12 differ diff --git a/fuzz/corpora/cmp/1a5b13fa9f4f6bea9a737a75f6f2117339e3a921 b/fuzz/corpora/cmp/1a5b13fa9f4f6bea9a737a75f6f2117339e3a921 new file mode 100644 index 00000000..2bde5406 Binary files /dev/null and b/fuzz/corpora/cmp/1a5b13fa9f4f6bea9a737a75f6f2117339e3a921 differ diff --git a/fuzz/corpora/cmp/1a5b63cb84a358830ace80c3d6bfa58c64c17d77 b/fuzz/corpora/cmp/1a5b63cb84a358830ace80c3d6bfa58c64c17d77 new file mode 100644 index 00000000..33b0cbec Binary files /dev/null and b/fuzz/corpora/cmp/1a5b63cb84a358830ace80c3d6bfa58c64c17d77 differ diff --git a/fuzz/corpora/cmp/1a62d16e4b2944f9e8f1e8a7ab1b8788b49aa58c b/fuzz/corpora/cmp/1a62d16e4b2944f9e8f1e8a7ab1b8788b49aa58c new file mode 100644 index 00000000..665cdde1 Binary files /dev/null and b/fuzz/corpora/cmp/1a62d16e4b2944f9e8f1e8a7ab1b8788b49aa58c differ diff --git a/fuzz/corpora/cmp/1a6aab17428d6131bdd74d613b6af5691ed4ba56 b/fuzz/corpora/cmp/1a6aab17428d6131bdd74d613b6af5691ed4ba56 new file mode 100644 index 00000000..d377b9ac Binary files /dev/null and b/fuzz/corpora/cmp/1a6aab17428d6131bdd74d613b6af5691ed4ba56 differ diff --git a/fuzz/corpora/cmp/1a9239e6f7094b9caaac3bdead790261d7129652 b/fuzz/corpora/cmp/1a9239e6f7094b9caaac3bdead790261d7129652 new file mode 100644 index 00000000..fe7c021c Binary files /dev/null and b/fuzz/corpora/cmp/1a9239e6f7094b9caaac3bdead790261d7129652 differ diff --git a/fuzz/corpora/cmp/1a95f4da7e6898c6880224958e0618661596a82b b/fuzz/corpora/cmp/1a95f4da7e6898c6880224958e0618661596a82b new file mode 100644 index 00000000..bc8d4006 Binary files /dev/null and b/fuzz/corpora/cmp/1a95f4da7e6898c6880224958e0618661596a82b differ diff --git a/fuzz/corpora/cmp/1aa4e2790fe09f51a0d0098b9be6b2e961287398 b/fuzz/corpora/cmp/1aa4e2790fe09f51a0d0098b9be6b2e961287398 new file mode 100644 index 00000000..c8fd9d81 Binary files /dev/null and b/fuzz/corpora/cmp/1aa4e2790fe09f51a0d0098b9be6b2e961287398 differ diff --git a/fuzz/corpora/cmp/1aa5b57de33aa36d391d1064660a96ffbf9ee405 b/fuzz/corpora/cmp/1aa5b57de33aa36d391d1064660a96ffbf9ee405 new file mode 100644 index 00000000..3d79db37 Binary files /dev/null and b/fuzz/corpora/cmp/1aa5b57de33aa36d391d1064660a96ffbf9ee405 differ diff --git a/fuzz/corpora/cmp/1ac1c0a2740452b8474f9bf831cf67f257dc3d91 b/fuzz/corpora/cmp/1ac1c0a2740452b8474f9bf831cf67f257dc3d91 new file mode 100644 index 00000000..92c53129 Binary files /dev/null and b/fuzz/corpora/cmp/1ac1c0a2740452b8474f9bf831cf67f257dc3d91 differ diff --git a/fuzz/corpora/cmp/1ad9740bde74e1bcb2a52e70f02a3a0c56e0c0cd b/fuzz/corpora/cmp/1ad9740bde74e1bcb2a52e70f02a3a0c56e0c0cd new file mode 100644 index 00000000..9422a8eb Binary files /dev/null and b/fuzz/corpora/cmp/1ad9740bde74e1bcb2a52e70f02a3a0c56e0c0cd differ diff --git a/fuzz/corpora/cmp/1ae1b2f67beb4a86301257a91dac2f6346088d72 b/fuzz/corpora/cmp/1ae1b2f67beb4a86301257a91dac2f6346088d72 new file mode 100644 index 00000000..e67bda6f Binary files /dev/null and b/fuzz/corpora/cmp/1ae1b2f67beb4a86301257a91dac2f6346088d72 differ diff --git a/fuzz/corpora/cmp/1afff27f3b87582722b579ac30eaf42ca91ce7c4 b/fuzz/corpora/cmp/1afff27f3b87582722b579ac30eaf42ca91ce7c4 new file mode 100644 index 00000000..4397cc47 Binary files /dev/null and b/fuzz/corpora/cmp/1afff27f3b87582722b579ac30eaf42ca91ce7c4 differ diff --git a/fuzz/corpora/cmp/1b00b3f5a56f49d775fa21e3f3766554ab55c786 b/fuzz/corpora/cmp/1b00b3f5a56f49d775fa21e3f3766554ab55c786 new file mode 100644 index 00000000..10025322 Binary files /dev/null and b/fuzz/corpora/cmp/1b00b3f5a56f49d775fa21e3f3766554ab55c786 differ diff --git a/fuzz/corpora/cmp/1b27621f180ca43e2485c2ab879bfb57e2b5e03f b/fuzz/corpora/cmp/1b27621f180ca43e2485c2ab879bfb57e2b5e03f new file mode 100644 index 00000000..703a5ddb Binary files /dev/null and b/fuzz/corpora/cmp/1b27621f180ca43e2485c2ab879bfb57e2b5e03f differ diff --git a/fuzz/corpora/cmp/1b289f049c417eecfb476fd312740cf35e5bb215 b/fuzz/corpora/cmp/1b289f049c417eecfb476fd312740cf35e5bb215 new file mode 100644 index 00000000..c84ee47b Binary files /dev/null and b/fuzz/corpora/cmp/1b289f049c417eecfb476fd312740cf35e5bb215 differ diff --git a/fuzz/corpora/cmp/1b4198584b46f91ce7ce2d9ff656fb3a3ed5e7a8 b/fuzz/corpora/cmp/1b4198584b46f91ce7ce2d9ff656fb3a3ed5e7a8 new file mode 100644 index 00000000..f7e68feb Binary files /dev/null and b/fuzz/corpora/cmp/1b4198584b46f91ce7ce2d9ff656fb3a3ed5e7a8 differ diff --git a/fuzz/corpora/cmp/1b571c345cacb3d4d0e376565170fcae0d6a037c b/fuzz/corpora/cmp/1b571c345cacb3d4d0e376565170fcae0d6a037c new file mode 100644 index 00000000..641abc9d Binary files /dev/null and b/fuzz/corpora/cmp/1b571c345cacb3d4d0e376565170fcae0d6a037c differ diff --git a/fuzz/corpora/cmp/1b61245dfae6bc0d1a1eee9a38f43624cb31b6d0 b/fuzz/corpora/cmp/1b61245dfae6bc0d1a1eee9a38f43624cb31b6d0 new file mode 100644 index 00000000..200fa0a2 Binary files /dev/null and b/fuzz/corpora/cmp/1b61245dfae6bc0d1a1eee9a38f43624cb31b6d0 differ diff --git a/fuzz/corpora/cmp/1b74a1bde54f472c6880319b756a078483b286cb b/fuzz/corpora/cmp/1b74a1bde54f472c6880319b756a078483b286cb new file mode 100644 index 00000000..6ec317be Binary files /dev/null and b/fuzz/corpora/cmp/1b74a1bde54f472c6880319b756a078483b286cb differ diff --git a/fuzz/corpora/cmp/1b7576cd781510b96d76ba37edc0374cbea96edf b/fuzz/corpora/cmp/1b7576cd781510b96d76ba37edc0374cbea96edf new file mode 100644 index 00000000..5cb5ecc5 Binary files /dev/null and b/fuzz/corpora/cmp/1b7576cd781510b96d76ba37edc0374cbea96edf differ diff --git a/fuzz/corpora/cmp/1b984c5d95a6da9d50b0534b9df515c330943130 b/fuzz/corpora/cmp/1b984c5d95a6da9d50b0534b9df515c330943130 new file mode 100644 index 00000000..4607e312 Binary files /dev/null and b/fuzz/corpora/cmp/1b984c5d95a6da9d50b0534b9df515c330943130 differ diff --git a/fuzz/corpora/cmp/1ba4fb6581819950b284595e0c0bfaeb0e384e18 b/fuzz/corpora/cmp/1ba4fb6581819950b284595e0c0bfaeb0e384e18 new file mode 100644 index 00000000..f0ed6acf Binary files /dev/null and b/fuzz/corpora/cmp/1ba4fb6581819950b284595e0c0bfaeb0e384e18 differ diff --git a/fuzz/corpora/cmp/1ba589c7cabac4f509838bd24457f689d26380bb b/fuzz/corpora/cmp/1ba589c7cabac4f509838bd24457f689d26380bb new file mode 100644 index 00000000..9f1238e4 Binary files /dev/null and b/fuzz/corpora/cmp/1ba589c7cabac4f509838bd24457f689d26380bb differ diff --git a/fuzz/corpora/cmp/1bb314ad84a6f7d4ce14badcad27659dd5ce9ec9 b/fuzz/corpora/cmp/1bb314ad84a6f7d4ce14badcad27659dd5ce9ec9 new file mode 100644 index 00000000..8fe7ce39 Binary files /dev/null and b/fuzz/corpora/cmp/1bb314ad84a6f7d4ce14badcad27659dd5ce9ec9 differ diff --git a/fuzz/corpora/cmp/1bbc893dcbb373564bfee71f589d55f90172e2db b/fuzz/corpora/cmp/1bbc893dcbb373564bfee71f589d55f90172e2db new file mode 100644 index 00000000..d2726aab Binary files /dev/null and b/fuzz/corpora/cmp/1bbc893dcbb373564bfee71f589d55f90172e2db differ diff --git a/fuzz/corpora/cmp/1bcad6e9d8c0c1cfb00c14f822e275111926a5fd b/fuzz/corpora/cmp/1bcad6e9d8c0c1cfb00c14f822e275111926a5fd new file mode 100644 index 00000000..981fc527 Binary files /dev/null and b/fuzz/corpora/cmp/1bcad6e9d8c0c1cfb00c14f822e275111926a5fd differ diff --git a/fuzz/corpora/cmp/1be1a296f47833177cfaa427524553333c67c649 b/fuzz/corpora/cmp/1be1a296f47833177cfaa427524553333c67c649 new file mode 100644 index 00000000..3c82bea7 Binary files /dev/null and b/fuzz/corpora/cmp/1be1a296f47833177cfaa427524553333c67c649 differ diff --git a/fuzz/corpora/cmp/1bec638f1de839d26e49d12f51153be79c2bae7a b/fuzz/corpora/cmp/1bec638f1de839d26e49d12f51153be79c2bae7a new file mode 100644 index 00000000..a76a33f6 Binary files /dev/null and b/fuzz/corpora/cmp/1bec638f1de839d26e49d12f51153be79c2bae7a differ diff --git a/fuzz/corpora/cmp/1bf867fe32610bb5212a5198f6f8c15a0009e6be b/fuzz/corpora/cmp/1bf867fe32610bb5212a5198f6f8c15a0009e6be new file mode 100644 index 00000000..cef01293 Binary files /dev/null and b/fuzz/corpora/cmp/1bf867fe32610bb5212a5198f6f8c15a0009e6be differ diff --git a/fuzz/corpora/cmp/1c0467ea61ada9128613a23a9af4d9a96376a22a b/fuzz/corpora/cmp/1c0467ea61ada9128613a23a9af4d9a96376a22a new file mode 100644 index 00000000..af903841 Binary files /dev/null and b/fuzz/corpora/cmp/1c0467ea61ada9128613a23a9af4d9a96376a22a differ diff --git a/fuzz/corpora/cmp/1c11308cdc79bdd9268761dcd6de43887e02353d b/fuzz/corpora/cmp/1c11308cdc79bdd9268761dcd6de43887e02353d new file mode 100644 index 00000000..ca8e2754 Binary files /dev/null and b/fuzz/corpora/cmp/1c11308cdc79bdd9268761dcd6de43887e02353d differ diff --git a/fuzz/corpora/cmp/1c29fbb808503f328437fa69fd660d20f94a5484 b/fuzz/corpora/cmp/1c29fbb808503f328437fa69fd660d20f94a5484 new file mode 100644 index 00000000..00aefafe Binary files /dev/null and b/fuzz/corpora/cmp/1c29fbb808503f328437fa69fd660d20f94a5484 differ diff --git a/fuzz/corpora/cmp/1c6c8192193090bdc64eead29603ffe13d94fbe2 b/fuzz/corpora/cmp/1c6c8192193090bdc64eead29603ffe13d94fbe2 new file mode 100644 index 00000000..3577e65a Binary files /dev/null and b/fuzz/corpora/cmp/1c6c8192193090bdc64eead29603ffe13d94fbe2 differ diff --git a/fuzz/corpora/cmp/1c6e94ee7b393ba767f96d58f28acc7b5ccd4fd1 b/fuzz/corpora/cmp/1c6e94ee7b393ba767f96d58f28acc7b5ccd4fd1 new file mode 100644 index 00000000..767c9595 Binary files /dev/null and b/fuzz/corpora/cmp/1c6e94ee7b393ba767f96d58f28acc7b5ccd4fd1 differ diff --git a/fuzz/corpora/cmp/1c775b13e8edecea4e0370bd33e11077c268d16b b/fuzz/corpora/cmp/1c775b13e8edecea4e0370bd33e11077c268d16b new file mode 100644 index 00000000..454f74ba Binary files /dev/null and b/fuzz/corpora/cmp/1c775b13e8edecea4e0370bd33e11077c268d16b differ diff --git a/fuzz/corpora/cmp/1c8b96b93c9e2002cbc0bb99a798c49ce8d302c3 b/fuzz/corpora/cmp/1c8b96b93c9e2002cbc0bb99a798c49ce8d302c3 new file mode 100644 index 00000000..461f33fa Binary files /dev/null and b/fuzz/corpora/cmp/1c8b96b93c9e2002cbc0bb99a798c49ce8d302c3 differ diff --git a/fuzz/corpora/cmp/1caaa6240b6ff2717182c3a6e8aeb45f6e0112c7 b/fuzz/corpora/cmp/1caaa6240b6ff2717182c3a6e8aeb45f6e0112c7 new file mode 100644 index 00000000..e2074ead Binary files /dev/null and b/fuzz/corpora/cmp/1caaa6240b6ff2717182c3a6e8aeb45f6e0112c7 differ diff --git a/fuzz/corpora/cmp/1cae969529d3a620456ad97140604992d52b64fd b/fuzz/corpora/cmp/1cae969529d3a620456ad97140604992d52b64fd new file mode 100644 index 00000000..fd9d3755 Binary files /dev/null and b/fuzz/corpora/cmp/1cae969529d3a620456ad97140604992d52b64fd differ diff --git a/fuzz/corpora/cmp/1cb333be6628fe8fe42787aaf7c5b5d2bf2ab77e b/fuzz/corpora/cmp/1cb333be6628fe8fe42787aaf7c5b5d2bf2ab77e new file mode 100644 index 00000000..0e72d8de Binary files /dev/null and b/fuzz/corpora/cmp/1cb333be6628fe8fe42787aaf7c5b5d2bf2ab77e differ diff --git a/fuzz/corpora/cmp/1cb4650c6ed6796734397cbebcace4c33865903f b/fuzz/corpora/cmp/1cb4650c6ed6796734397cbebcace4c33865903f new file mode 100644 index 00000000..eda5e772 Binary files /dev/null and b/fuzz/corpora/cmp/1cb4650c6ed6796734397cbebcace4c33865903f differ diff --git a/fuzz/corpora/cmp/1cc7b3d16b08951c02273b9e1474afa92fba01af b/fuzz/corpora/cmp/1cc7b3d16b08951c02273b9e1474afa92fba01af new file mode 100644 index 00000000..00510eed Binary files /dev/null and b/fuzz/corpora/cmp/1cc7b3d16b08951c02273b9e1474afa92fba01af differ diff --git a/fuzz/corpora/cmp/1cc913414c18811f7a608d3c1b66887d29a5d6e5 b/fuzz/corpora/cmp/1cc913414c18811f7a608d3c1b66887d29a5d6e5 new file mode 100644 index 00000000..1cd9b0c5 Binary files /dev/null and b/fuzz/corpora/cmp/1cc913414c18811f7a608d3c1b66887d29a5d6e5 differ diff --git a/fuzz/corpora/cmp/1cdcca70095cf6eccaabf15761c2c26184d4103f b/fuzz/corpora/cmp/1cdcca70095cf6eccaabf15761c2c26184d4103f new file mode 100644 index 00000000..73771402 Binary files /dev/null and b/fuzz/corpora/cmp/1cdcca70095cf6eccaabf15761c2c26184d4103f differ diff --git a/fuzz/corpora/cmp/1d0486c31e3f12a9086403e4d213b0fba58a91bb b/fuzz/corpora/cmp/1d0486c31e3f12a9086403e4d213b0fba58a91bb new file mode 100644 index 00000000..05dd5bad Binary files /dev/null and b/fuzz/corpora/cmp/1d0486c31e3f12a9086403e4d213b0fba58a91bb differ diff --git a/fuzz/corpora/cmp/1d0a85905362868a4a9fe4d6f95caf657063a573 b/fuzz/corpora/cmp/1d0a85905362868a4a9fe4d6f95caf657063a573 new file mode 100644 index 00000000..b4439c3f Binary files /dev/null and b/fuzz/corpora/cmp/1d0a85905362868a4a9fe4d6f95caf657063a573 differ diff --git a/fuzz/corpora/cmp/1d151730922b1b13cab4816bde717d7901e48e05 b/fuzz/corpora/cmp/1d151730922b1b13cab4816bde717d7901e48e05 new file mode 100644 index 00000000..c090ef82 Binary files /dev/null and b/fuzz/corpora/cmp/1d151730922b1b13cab4816bde717d7901e48e05 differ diff --git a/fuzz/corpora/cmp/1d1c18da8a2d492fc8f86ec48dc2b9e4ba609290 b/fuzz/corpora/cmp/1d1c18da8a2d492fc8f86ec48dc2b9e4ba609290 new file mode 100644 index 00000000..4f276b3c Binary files /dev/null and b/fuzz/corpora/cmp/1d1c18da8a2d492fc8f86ec48dc2b9e4ba609290 differ diff --git a/fuzz/corpora/cmp/1d2086b7b1d25821d3417df9190a2291e0ca1c39 b/fuzz/corpora/cmp/1d2086b7b1d25821d3417df9190a2291e0ca1c39 new file mode 100644 index 00000000..22705bc2 Binary files /dev/null and b/fuzz/corpora/cmp/1d2086b7b1d25821d3417df9190a2291e0ca1c39 differ diff --git a/fuzz/corpora/cmp/1d38429f7d1b0954f524cd43aa3ca6b6190542a6 b/fuzz/corpora/cmp/1d38429f7d1b0954f524cd43aa3ca6b6190542a6 new file mode 100644 index 00000000..2d551586 Binary files /dev/null and b/fuzz/corpora/cmp/1d38429f7d1b0954f524cd43aa3ca6b6190542a6 differ diff --git a/fuzz/corpora/cmp/1d3e26f1b9bbeaf48949a386163c7629949df187 b/fuzz/corpora/cmp/1d3e26f1b9bbeaf48949a386163c7629949df187 new file mode 100644 index 00000000..45814219 Binary files /dev/null and b/fuzz/corpora/cmp/1d3e26f1b9bbeaf48949a386163c7629949df187 differ diff --git a/fuzz/corpora/cmp/1d3f33c6b6d093bebe084036f0f9656e5ba55a9b b/fuzz/corpora/cmp/1d3f33c6b6d093bebe084036f0f9656e5ba55a9b new file mode 100644 index 00000000..3e4037c9 Binary files /dev/null and b/fuzz/corpora/cmp/1d3f33c6b6d093bebe084036f0f9656e5ba55a9b differ diff --git a/fuzz/corpora/cmp/1d3fadbb94dae318a4ce8d4c422ceeef2e665c86 b/fuzz/corpora/cmp/1d3fadbb94dae318a4ce8d4c422ceeef2e665c86 new file mode 100644 index 00000000..2fe63806 Binary files /dev/null and b/fuzz/corpora/cmp/1d3fadbb94dae318a4ce8d4c422ceeef2e665c86 differ diff --git a/fuzz/corpora/cmp/1d71063fa47653422bc68640f767d2ab6b429ca8 b/fuzz/corpora/cmp/1d71063fa47653422bc68640f767d2ab6b429ca8 new file mode 100644 index 00000000..847a19dc Binary files /dev/null and b/fuzz/corpora/cmp/1d71063fa47653422bc68640f767d2ab6b429ca8 differ diff --git a/fuzz/corpora/cmp/1d7acf10cc334a4ffa21635d04f6d20ff2adb078 b/fuzz/corpora/cmp/1d7acf10cc334a4ffa21635d04f6d20ff2adb078 new file mode 100644 index 00000000..1d706631 Binary files /dev/null and b/fuzz/corpora/cmp/1d7acf10cc334a4ffa21635d04f6d20ff2adb078 differ diff --git a/fuzz/corpora/cmp/1d83deef9812cc75fdfb1e998d9d300a3503a794 b/fuzz/corpora/cmp/1d83deef9812cc75fdfb1e998d9d300a3503a794 new file mode 100644 index 00000000..7e075226 Binary files /dev/null and b/fuzz/corpora/cmp/1d83deef9812cc75fdfb1e998d9d300a3503a794 differ diff --git a/fuzz/corpora/cmp/1d87474f37308e8e4468f45bc8b9fa161a629c4f b/fuzz/corpora/cmp/1d87474f37308e8e4468f45bc8b9fa161a629c4f new file mode 100644 index 00000000..afe55859 Binary files /dev/null and b/fuzz/corpora/cmp/1d87474f37308e8e4468f45bc8b9fa161a629c4f differ diff --git a/fuzz/corpora/cmp/1da00ea5eff2ebcb9be88efcc7d3ad6ecf4dc4df b/fuzz/corpora/cmp/1da00ea5eff2ebcb9be88efcc7d3ad6ecf4dc4df new file mode 100644 index 00000000..8b70cf85 Binary files /dev/null and b/fuzz/corpora/cmp/1da00ea5eff2ebcb9be88efcc7d3ad6ecf4dc4df differ diff --git a/fuzz/corpora/cmp/1daf3843d9fa16f1177146484cb6b5656cc6f301 b/fuzz/corpora/cmp/1daf3843d9fa16f1177146484cb6b5656cc6f301 new file mode 100644 index 00000000..12db27b0 Binary files /dev/null and b/fuzz/corpora/cmp/1daf3843d9fa16f1177146484cb6b5656cc6f301 differ diff --git a/fuzz/corpora/cmp/1db7ae232e09eaa500038b5fc8c139cefbb49ac3 b/fuzz/corpora/cmp/1db7ae232e09eaa500038b5fc8c139cefbb49ac3 new file mode 100644 index 00000000..0125d6eb Binary files /dev/null and b/fuzz/corpora/cmp/1db7ae232e09eaa500038b5fc8c139cefbb49ac3 differ diff --git a/fuzz/corpora/cmp/1dc17fd16f1728b6e766e0ec82c9f5b4f2850377 b/fuzz/corpora/cmp/1dc17fd16f1728b6e766e0ec82c9f5b4f2850377 new file mode 100644 index 00000000..fe20cf53 Binary files /dev/null and b/fuzz/corpora/cmp/1dc17fd16f1728b6e766e0ec82c9f5b4f2850377 differ diff --git a/fuzz/corpora/cmp/1dd29a25c4e51f29a29ea4323ec97180eea6a921 b/fuzz/corpora/cmp/1dd29a25c4e51f29a29ea4323ec97180eea6a921 new file mode 100644 index 00000000..9e9aaea7 Binary files /dev/null and b/fuzz/corpora/cmp/1dd29a25c4e51f29a29ea4323ec97180eea6a921 differ diff --git a/fuzz/corpora/cmp/1de5c262bf7d5ac0a22ba3e55748bc7a0c515773 b/fuzz/corpora/cmp/1de5c262bf7d5ac0a22ba3e55748bc7a0c515773 new file mode 100644 index 00000000..06f1b863 Binary files /dev/null and b/fuzz/corpora/cmp/1de5c262bf7d5ac0a22ba3e55748bc7a0c515773 differ diff --git a/fuzz/corpora/cmp/1de9ba118f36858a76ce74fbb676d5db26728844 b/fuzz/corpora/cmp/1de9ba118f36858a76ce74fbb676d5db26728844 new file mode 100644 index 00000000..71fa89c3 Binary files /dev/null and b/fuzz/corpora/cmp/1de9ba118f36858a76ce74fbb676d5db26728844 differ diff --git a/fuzz/corpora/cmp/1df1e02626e454329f25cc695e1fb466bd2c1dc8 b/fuzz/corpora/cmp/1df1e02626e454329f25cc695e1fb466bd2c1dc8 new file mode 100644 index 00000000..65661164 Binary files /dev/null and b/fuzz/corpora/cmp/1df1e02626e454329f25cc695e1fb466bd2c1dc8 differ diff --git a/fuzz/corpora/cmp/1e060af9474864a1b63c13b41550989f3d9298d7 b/fuzz/corpora/cmp/1e060af9474864a1b63c13b41550989f3d9298d7 new file mode 100644 index 00000000..bf02bcfc Binary files /dev/null and b/fuzz/corpora/cmp/1e060af9474864a1b63c13b41550989f3d9298d7 differ diff --git a/fuzz/corpora/cmp/1e0cf6f2fcf85f07c377eba552afa898bab5b97e b/fuzz/corpora/cmp/1e0cf6f2fcf85f07c377eba552afa898bab5b97e new file mode 100644 index 00000000..e54483b3 Binary files /dev/null and b/fuzz/corpora/cmp/1e0cf6f2fcf85f07c377eba552afa898bab5b97e differ diff --git a/fuzz/corpora/cmp/1e13b55bba445984c73d47c065fbe4efa28e7747 b/fuzz/corpora/cmp/1e13b55bba445984c73d47c065fbe4efa28e7747 new file mode 100644 index 00000000..de7fdd5f Binary files /dev/null and b/fuzz/corpora/cmp/1e13b55bba445984c73d47c065fbe4efa28e7747 differ diff --git a/fuzz/corpora/cmp/1e2d3747d9c73f93514bcc250adea721794ecbc6 b/fuzz/corpora/cmp/1e2d3747d9c73f93514bcc250adea721794ecbc6 new file mode 100644 index 00000000..ca3bdb34 Binary files /dev/null and b/fuzz/corpora/cmp/1e2d3747d9c73f93514bcc250adea721794ecbc6 differ diff --git a/fuzz/corpora/cmp/1e348eef20dd23bbc5aa1e00f886feeb3449989f b/fuzz/corpora/cmp/1e348eef20dd23bbc5aa1e00f886feeb3449989f new file mode 100644 index 00000000..77f6f426 Binary files /dev/null and b/fuzz/corpora/cmp/1e348eef20dd23bbc5aa1e00f886feeb3449989f differ diff --git a/fuzz/corpora/cmp/1e3cad8fd62dc922c46b910566fffdffc920ee87 b/fuzz/corpora/cmp/1e3cad8fd62dc922c46b910566fffdffc920ee87 new file mode 100644 index 00000000..051596b9 Binary files /dev/null and b/fuzz/corpora/cmp/1e3cad8fd62dc922c46b910566fffdffc920ee87 differ diff --git a/fuzz/corpora/cmp/1e460e5309c82e119d433194d7558260d424e64e b/fuzz/corpora/cmp/1e460e5309c82e119d433194d7558260d424e64e new file mode 100644 index 00000000..d4d0ab76 Binary files /dev/null and b/fuzz/corpora/cmp/1e460e5309c82e119d433194d7558260d424e64e differ diff --git a/fuzz/corpora/cmp/1e6c933b368371ef5ea0807176c4bcfb71236880 b/fuzz/corpora/cmp/1e6c933b368371ef5ea0807176c4bcfb71236880 new file mode 100644 index 00000000..8f1d08d5 Binary files /dev/null and b/fuzz/corpora/cmp/1e6c933b368371ef5ea0807176c4bcfb71236880 differ diff --git a/fuzz/corpora/cmp/1e8148173d51e19169de2b72e51465f37a14cf4e b/fuzz/corpora/cmp/1e8148173d51e19169de2b72e51465f37a14cf4e new file mode 100644 index 00000000..59a52990 Binary files /dev/null and b/fuzz/corpora/cmp/1e8148173d51e19169de2b72e51465f37a14cf4e differ diff --git a/fuzz/corpora/cmp/1e9c3b0f13053246a2f6297bbcf8017b0c42c2c0 b/fuzz/corpora/cmp/1e9c3b0f13053246a2f6297bbcf8017b0c42c2c0 new file mode 100644 index 00000000..26b4dfff Binary files /dev/null and b/fuzz/corpora/cmp/1e9c3b0f13053246a2f6297bbcf8017b0c42c2c0 differ diff --git a/fuzz/corpora/cmp/1ea6a9a035c012b32f4c158c794337402843c256 b/fuzz/corpora/cmp/1ea6a9a035c012b32f4c158c794337402843c256 new file mode 100644 index 00000000..de92dc71 Binary files /dev/null and b/fuzz/corpora/cmp/1ea6a9a035c012b32f4c158c794337402843c256 differ diff --git a/fuzz/corpora/cmp/1eb9c0885131a47e55b4fac9cbad5f25748c7354 b/fuzz/corpora/cmp/1eb9c0885131a47e55b4fac9cbad5f25748c7354 new file mode 100644 index 00000000..4b3d4139 Binary files /dev/null and b/fuzz/corpora/cmp/1eb9c0885131a47e55b4fac9cbad5f25748c7354 differ diff --git a/fuzz/corpora/cmp/1ec44186dfee53efbd0d04a15c3405323104b460 b/fuzz/corpora/cmp/1ec44186dfee53efbd0d04a15c3405323104b460 new file mode 100644 index 00000000..884a1ffb Binary files /dev/null and b/fuzz/corpora/cmp/1ec44186dfee53efbd0d04a15c3405323104b460 differ diff --git a/fuzz/corpora/cmp/1ec843ca7cbccf2154f75e0ddb6e6facb9f405eb b/fuzz/corpora/cmp/1ec843ca7cbccf2154f75e0ddb6e6facb9f405eb new file mode 100644 index 00000000..fbb97b58 Binary files /dev/null and b/fuzz/corpora/cmp/1ec843ca7cbccf2154f75e0ddb6e6facb9f405eb differ diff --git a/fuzz/corpora/cmp/1ecb1116f71176a73c742b70f393f0cd263ee8f0 b/fuzz/corpora/cmp/1ecb1116f71176a73c742b70f393f0cd263ee8f0 new file mode 100644 index 00000000..928afcd9 Binary files /dev/null and b/fuzz/corpora/cmp/1ecb1116f71176a73c742b70f393f0cd263ee8f0 differ diff --git a/fuzz/corpora/cmp/1ee93a91e79b7aace73592d57342b6afa72d6eb4 b/fuzz/corpora/cmp/1ee93a91e79b7aace73592d57342b6afa72d6eb4 new file mode 100644 index 00000000..fa365cee Binary files /dev/null and b/fuzz/corpora/cmp/1ee93a91e79b7aace73592d57342b6afa72d6eb4 differ diff --git a/fuzz/corpora/cmp/1ee9feb9aee125e822a6882878995037c40c95a9 b/fuzz/corpora/cmp/1ee9feb9aee125e822a6882878995037c40c95a9 new file mode 100644 index 00000000..e4c298f2 Binary files /dev/null and b/fuzz/corpora/cmp/1ee9feb9aee125e822a6882878995037c40c95a9 differ diff --git a/fuzz/corpora/cmp/1eedad32bdc3f1a2c3e643d226045c90df903cd2 b/fuzz/corpora/cmp/1eedad32bdc3f1a2c3e643d226045c90df903cd2 new file mode 100644 index 00000000..f2a26ec1 Binary files /dev/null and b/fuzz/corpora/cmp/1eedad32bdc3f1a2c3e643d226045c90df903cd2 differ diff --git a/fuzz/corpora/cmp/1ef1acf7d0bd6f6ebd3332f597f1fdb16ce755ec b/fuzz/corpora/cmp/1ef1acf7d0bd6f6ebd3332f597f1fdb16ce755ec new file mode 100644 index 00000000..b45bb5a7 Binary files /dev/null and b/fuzz/corpora/cmp/1ef1acf7d0bd6f6ebd3332f597f1fdb16ce755ec differ diff --git a/fuzz/corpora/cmp/1ef4e3d49f532e7d146286e5a59426b43db3ab58 b/fuzz/corpora/cmp/1ef4e3d49f532e7d146286e5a59426b43db3ab58 new file mode 100644 index 00000000..9ef317c4 Binary files /dev/null and b/fuzz/corpora/cmp/1ef4e3d49f532e7d146286e5a59426b43db3ab58 differ diff --git a/fuzz/corpora/cmp/1f1554589160649ccd4f7bf9507e254cd39b4f43 b/fuzz/corpora/cmp/1f1554589160649ccd4f7bf9507e254cd39b4f43 new file mode 100644 index 00000000..2ba027e4 Binary files /dev/null and b/fuzz/corpora/cmp/1f1554589160649ccd4f7bf9507e254cd39b4f43 differ diff --git a/fuzz/corpora/cmp/1f25b991876d3fe495c65f62c32bd5e93dfe21aa b/fuzz/corpora/cmp/1f25b991876d3fe495c65f62c32bd5e93dfe21aa new file mode 100644 index 00000000..92d2ea06 Binary files /dev/null and b/fuzz/corpora/cmp/1f25b991876d3fe495c65f62c32bd5e93dfe21aa differ diff --git a/fuzz/corpora/cmp/1f533ef38b5ced851836737b399025b22264f8a6 b/fuzz/corpora/cmp/1f533ef38b5ced851836737b399025b22264f8a6 new file mode 100644 index 00000000..10fc0e30 Binary files /dev/null and b/fuzz/corpora/cmp/1f533ef38b5ced851836737b399025b22264f8a6 differ diff --git a/fuzz/corpora/cmp/1f56203b8b133a0e26aa73382346fd8a2bb47516 b/fuzz/corpora/cmp/1f56203b8b133a0e26aa73382346fd8a2bb47516 new file mode 100644 index 00000000..a595c940 Binary files /dev/null and b/fuzz/corpora/cmp/1f56203b8b133a0e26aa73382346fd8a2bb47516 differ diff --git a/fuzz/corpora/cmp/1f6587f6adfc94ae7ef781c7ec58f245c09efcd6 b/fuzz/corpora/cmp/1f6587f6adfc94ae7ef781c7ec58f245c09efcd6 new file mode 100644 index 00000000..5aad436f Binary files /dev/null and b/fuzz/corpora/cmp/1f6587f6adfc94ae7ef781c7ec58f245c09efcd6 differ diff --git a/fuzz/corpora/cmp/1f686cf21b5fe87e624c593d972ae125d8578824 b/fuzz/corpora/cmp/1f686cf21b5fe87e624c593d972ae125d8578824 new file mode 100644 index 00000000..f865ad6a Binary files /dev/null and b/fuzz/corpora/cmp/1f686cf21b5fe87e624c593d972ae125d8578824 differ diff --git a/fuzz/corpora/cmp/1f9482cda695c1f5ba910ab918dab5a50f97ad2f b/fuzz/corpora/cmp/1f9482cda695c1f5ba910ab918dab5a50f97ad2f new file mode 100644 index 00000000..6140f937 Binary files /dev/null and b/fuzz/corpora/cmp/1f9482cda695c1f5ba910ab918dab5a50f97ad2f differ diff --git a/fuzz/corpora/cmp/1fa85c2420e3fcd604a40f67bb43a12997eb8073 b/fuzz/corpora/cmp/1fa85c2420e3fcd604a40f67bb43a12997eb8073 new file mode 100644 index 00000000..427e7e6d Binary files /dev/null and b/fuzz/corpora/cmp/1fa85c2420e3fcd604a40f67bb43a12997eb8073 differ diff --git a/fuzz/corpora/cmp/1fb1dbfc1aff7ee48be39da6ece6b9b13f17ed2a b/fuzz/corpora/cmp/1fb1dbfc1aff7ee48be39da6ece6b9b13f17ed2a new file mode 100644 index 00000000..1d086eea Binary files /dev/null and b/fuzz/corpora/cmp/1fb1dbfc1aff7ee48be39da6ece6b9b13f17ed2a differ diff --git a/fuzz/corpora/cmp/1fba84ce46403788f5c12986a721be2ab7a27998 b/fuzz/corpora/cmp/1fba84ce46403788f5c12986a721be2ab7a27998 new file mode 100644 index 00000000..db74e4e8 Binary files /dev/null and b/fuzz/corpora/cmp/1fba84ce46403788f5c12986a721be2ab7a27998 differ diff --git a/fuzz/corpora/cmp/1fc7b5e061ee34f402b236812e44821debe471a7 b/fuzz/corpora/cmp/1fc7b5e061ee34f402b236812e44821debe471a7 new file mode 100644 index 00000000..747248d2 Binary files /dev/null and b/fuzz/corpora/cmp/1fc7b5e061ee34f402b236812e44821debe471a7 differ diff --git a/fuzz/corpora/cmp/2010b0e728a0808e144ffc4228382328b4fdf8cf b/fuzz/corpora/cmp/2010b0e728a0808e144ffc4228382328b4fdf8cf new file mode 100644 index 00000000..e7fa48cc Binary files /dev/null and b/fuzz/corpora/cmp/2010b0e728a0808e144ffc4228382328b4fdf8cf differ diff --git a/fuzz/corpora/cmp/2019644a878f611309dcbad95745931791998974 b/fuzz/corpora/cmp/2019644a878f611309dcbad95745931791998974 new file mode 100644 index 00000000..5fc0f550 Binary files /dev/null and b/fuzz/corpora/cmp/2019644a878f611309dcbad95745931791998974 differ diff --git a/fuzz/corpora/cmp/2027e14396b3da0252f6501ec8a8b789cb33efa7 b/fuzz/corpora/cmp/2027e14396b3da0252f6501ec8a8b789cb33efa7 new file mode 100644 index 00000000..e492768d Binary files /dev/null and b/fuzz/corpora/cmp/2027e14396b3da0252f6501ec8a8b789cb33efa7 differ diff --git a/fuzz/corpora/cmp/202ec44a5984ea7bdb94582a0093fe3ea440d72f b/fuzz/corpora/cmp/202ec44a5984ea7bdb94582a0093fe3ea440d72f new file mode 100644 index 00000000..d21d2dc1 Binary files /dev/null and b/fuzz/corpora/cmp/202ec44a5984ea7bdb94582a0093fe3ea440d72f differ diff --git a/fuzz/corpora/cmp/203f1712c14b16c5973083462c6b2f013cb3af78 b/fuzz/corpora/cmp/203f1712c14b16c5973083462c6b2f013cb3af78 new file mode 100644 index 00000000..eff03f36 Binary files /dev/null and b/fuzz/corpora/cmp/203f1712c14b16c5973083462c6b2f013cb3af78 differ diff --git a/fuzz/corpora/cmp/20561c7837bb64c443b0610ce1624656e85a4a84 b/fuzz/corpora/cmp/20561c7837bb64c443b0610ce1624656e85a4a84 new file mode 100644 index 00000000..366efe27 Binary files /dev/null and b/fuzz/corpora/cmp/20561c7837bb64c443b0610ce1624656e85a4a84 differ diff --git a/fuzz/corpora/cmp/2080461ef51427bd953b006ca0edbde9af70152e b/fuzz/corpora/cmp/2080461ef51427bd953b006ca0edbde9af70152e new file mode 100644 index 00000000..b68b9640 Binary files /dev/null and b/fuzz/corpora/cmp/2080461ef51427bd953b006ca0edbde9af70152e differ diff --git a/fuzz/corpora/cmp/209b4b697eeea6a337d098591fb531fab4bda505 b/fuzz/corpora/cmp/209b4b697eeea6a337d098591fb531fab4bda505 new file mode 100644 index 00000000..41ca6668 Binary files /dev/null and b/fuzz/corpora/cmp/209b4b697eeea6a337d098591fb531fab4bda505 differ diff --git a/fuzz/corpora/cmp/20a688817ee91466b7f2473a6715e4fdd3d86347 b/fuzz/corpora/cmp/20a688817ee91466b7f2473a6715e4fdd3d86347 new file mode 100644 index 00000000..747828ce Binary files /dev/null and b/fuzz/corpora/cmp/20a688817ee91466b7f2473a6715e4fdd3d86347 differ diff --git a/fuzz/corpora/cmp/20ac57ca81ee576fd0f788d80a617c66ea1fbd6f b/fuzz/corpora/cmp/20ac57ca81ee576fd0f788d80a617c66ea1fbd6f new file mode 100644 index 00000000..44f86ca6 Binary files /dev/null and b/fuzz/corpora/cmp/20ac57ca81ee576fd0f788d80a617c66ea1fbd6f differ diff --git a/fuzz/corpora/cmp/20b2eda924a894e54501ea4a8d7999549efc3eb5 b/fuzz/corpora/cmp/20b2eda924a894e54501ea4a8d7999549efc3eb5 new file mode 100644 index 00000000..f50b332d Binary files /dev/null and b/fuzz/corpora/cmp/20b2eda924a894e54501ea4a8d7999549efc3eb5 differ diff --git a/fuzz/corpora/cmp/20d7aa3ec419f95228dd5e70e595dc83f96275b0 b/fuzz/corpora/cmp/20d7aa3ec419f95228dd5e70e595dc83f96275b0 new file mode 100644 index 00000000..b2254df8 Binary files /dev/null and b/fuzz/corpora/cmp/20d7aa3ec419f95228dd5e70e595dc83f96275b0 differ diff --git a/fuzz/corpora/cmp/20e8e0e3753dacc2eeb5be39d12cffe5ef1de914 b/fuzz/corpora/cmp/20e8e0e3753dacc2eeb5be39d12cffe5ef1de914 new file mode 100644 index 00000000..dcaaa787 Binary files /dev/null and b/fuzz/corpora/cmp/20e8e0e3753dacc2eeb5be39d12cffe5ef1de914 differ diff --git a/fuzz/corpora/cmp/20f500a5d660a9d7a5f45cea6446341d696c5b83 b/fuzz/corpora/cmp/20f500a5d660a9d7a5f45cea6446341d696c5b83 new file mode 100644 index 00000000..ad097e62 Binary files /dev/null and b/fuzz/corpora/cmp/20f500a5d660a9d7a5f45cea6446341d696c5b83 differ diff --git a/fuzz/corpora/cmp/21133dd37500b6c17ad84cd02fb6c72cad79672b b/fuzz/corpora/cmp/21133dd37500b6c17ad84cd02fb6c72cad79672b new file mode 100644 index 00000000..399c2914 Binary files /dev/null and b/fuzz/corpora/cmp/21133dd37500b6c17ad84cd02fb6c72cad79672b differ diff --git a/fuzz/corpora/cmp/211cd8cde748a9cd082b20425714bdadfa0bd73d b/fuzz/corpora/cmp/211cd8cde748a9cd082b20425714bdadfa0bd73d new file mode 100644 index 00000000..3745ffad Binary files /dev/null and b/fuzz/corpora/cmp/211cd8cde748a9cd082b20425714bdadfa0bd73d differ diff --git a/fuzz/corpora/cmp/2127d13f2205af6654d568597081ede21f68123c b/fuzz/corpora/cmp/2127d13f2205af6654d568597081ede21f68123c new file mode 100644 index 00000000..91fb7f3e Binary files /dev/null and b/fuzz/corpora/cmp/2127d13f2205af6654d568597081ede21f68123c differ diff --git a/fuzz/corpora/cmp/212b008b3dbd0c47c60f064d634e91fc4630814b b/fuzz/corpora/cmp/212b008b3dbd0c47c60f064d634e91fc4630814b new file mode 100644 index 00000000..9addbe78 Binary files /dev/null and b/fuzz/corpora/cmp/212b008b3dbd0c47c60f064d634e91fc4630814b differ diff --git a/fuzz/corpora/cmp/214c971775e0d3611163acd68c44ffd0203f32bd b/fuzz/corpora/cmp/214c971775e0d3611163acd68c44ffd0203f32bd new file mode 100644 index 00000000..a9bf37ec Binary files /dev/null and b/fuzz/corpora/cmp/214c971775e0d3611163acd68c44ffd0203f32bd differ diff --git a/fuzz/corpora/cmp/2155d58b800a5907b334d7e47c415264207b8869 b/fuzz/corpora/cmp/2155d58b800a5907b334d7e47c415264207b8869 new file mode 100644 index 00000000..13c923d7 Binary files /dev/null and b/fuzz/corpora/cmp/2155d58b800a5907b334d7e47c415264207b8869 differ diff --git a/fuzz/corpora/cmp/215ce2f3716ac1d2607cab0a8c2acd3902a64941 b/fuzz/corpora/cmp/215ce2f3716ac1d2607cab0a8c2acd3902a64941 new file mode 100644 index 00000000..cecf5419 Binary files /dev/null and b/fuzz/corpora/cmp/215ce2f3716ac1d2607cab0a8c2acd3902a64941 differ diff --git a/fuzz/corpora/cmp/2163be0b7275144471bf3d61439ff21459555041 b/fuzz/corpora/cmp/2163be0b7275144471bf3d61439ff21459555041 new file mode 100644 index 00000000..b6168316 Binary files /dev/null and b/fuzz/corpora/cmp/2163be0b7275144471bf3d61439ff21459555041 differ diff --git a/fuzz/corpora/cmp/21644ce446f94f409b48bb86afde329da85e7120 b/fuzz/corpora/cmp/21644ce446f94f409b48bb86afde329da85e7120 new file mode 100644 index 00000000..0f25ccee Binary files /dev/null and b/fuzz/corpora/cmp/21644ce446f94f409b48bb86afde329da85e7120 differ diff --git a/fuzz/corpora/cmp/2165c849d776b0165aaec70c94b581de39873bb0 b/fuzz/corpora/cmp/2165c849d776b0165aaec70c94b581de39873bb0 new file mode 100644 index 00000000..d681e3c0 Binary files /dev/null and b/fuzz/corpora/cmp/2165c849d776b0165aaec70c94b581de39873bb0 differ diff --git a/fuzz/corpora/cmp/2166e859ed7b73ad561af200bc75d2bcd7adee97 b/fuzz/corpora/cmp/2166e859ed7b73ad561af200bc75d2bcd7adee97 new file mode 100644 index 00000000..b668c776 Binary files /dev/null and b/fuzz/corpora/cmp/2166e859ed7b73ad561af200bc75d2bcd7adee97 differ diff --git a/fuzz/corpora/cmp/217a96994c0e095938090295688f13fa28a1aeb0 b/fuzz/corpora/cmp/217a96994c0e095938090295688f13fa28a1aeb0 new file mode 100644 index 00000000..5042d2cc Binary files /dev/null and b/fuzz/corpora/cmp/217a96994c0e095938090295688f13fa28a1aeb0 differ diff --git a/fuzz/corpora/cmp/2189a0d9a5e04dbc834f5577002a2900fee04ed0 b/fuzz/corpora/cmp/2189a0d9a5e04dbc834f5577002a2900fee04ed0 new file mode 100644 index 00000000..a92199a6 Binary files /dev/null and b/fuzz/corpora/cmp/2189a0d9a5e04dbc834f5577002a2900fee04ed0 differ diff --git a/fuzz/corpora/cmp/2190205aa51909ed128979045fdfb13f64dd1448 b/fuzz/corpora/cmp/2190205aa51909ed128979045fdfb13f64dd1448 new file mode 100644 index 00000000..e1ac3003 Binary files /dev/null and b/fuzz/corpora/cmp/2190205aa51909ed128979045fdfb13f64dd1448 differ diff --git a/fuzz/corpora/cmp/2192ac84a9f296f023d7787abb6653ae3bc214fe b/fuzz/corpora/cmp/2192ac84a9f296f023d7787abb6653ae3bc214fe new file mode 100644 index 00000000..643596ff Binary files /dev/null and b/fuzz/corpora/cmp/2192ac84a9f296f023d7787abb6653ae3bc214fe differ diff --git a/fuzz/corpora/cmp/21a24cf28384ba0de48ac8b69aefbf7f83283d61 b/fuzz/corpora/cmp/21a24cf28384ba0de48ac8b69aefbf7f83283d61 new file mode 100644 index 00000000..23cc0d78 Binary files /dev/null and b/fuzz/corpora/cmp/21a24cf28384ba0de48ac8b69aefbf7f83283d61 differ diff --git a/fuzz/corpora/cmp/21afc3dc14d24a709334eb2b5a7ce5acc00401af b/fuzz/corpora/cmp/21afc3dc14d24a709334eb2b5a7ce5acc00401af new file mode 100644 index 00000000..6e7da765 Binary files /dev/null and b/fuzz/corpora/cmp/21afc3dc14d24a709334eb2b5a7ce5acc00401af differ diff --git a/fuzz/corpora/cmp/21bcca823016a3e66568225678fb96f6c4a4d44d b/fuzz/corpora/cmp/21bcca823016a3e66568225678fb96f6c4a4d44d new file mode 100644 index 00000000..7b4eddd8 Binary files /dev/null and b/fuzz/corpora/cmp/21bcca823016a3e66568225678fb96f6c4a4d44d differ diff --git a/fuzz/corpora/cmp/21be7a8c631054a57339260623be4ebe7a69ad50 b/fuzz/corpora/cmp/21be7a8c631054a57339260623be4ebe7a69ad50 new file mode 100644 index 00000000..aee055d7 Binary files /dev/null and b/fuzz/corpora/cmp/21be7a8c631054a57339260623be4ebe7a69ad50 differ diff --git a/fuzz/corpora/cmp/21ce96efeca042af1fe4f62e81de936017a93551 b/fuzz/corpora/cmp/21ce96efeca042af1fe4f62e81de936017a93551 new file mode 100644 index 00000000..513762ba Binary files /dev/null and b/fuzz/corpora/cmp/21ce96efeca042af1fe4f62e81de936017a93551 differ diff --git a/fuzz/corpora/cmp/21cfe26635d672e6923c23fd36e4ed60570d13a1 b/fuzz/corpora/cmp/21cfe26635d672e6923c23fd36e4ed60570d13a1 new file mode 100644 index 00000000..675b183b Binary files /dev/null and b/fuzz/corpora/cmp/21cfe26635d672e6923c23fd36e4ed60570d13a1 differ diff --git a/fuzz/corpora/cmp/21eb76b59de5fff10892cc5b63494dc7bf7c949c b/fuzz/corpora/cmp/21eb76b59de5fff10892cc5b63494dc7bf7c949c new file mode 100644 index 00000000..541133ba Binary files /dev/null and b/fuzz/corpora/cmp/21eb76b59de5fff10892cc5b63494dc7bf7c949c differ diff --git a/fuzz/corpora/cmp/2200ece3319202417d17e01d2fd4c1f8450f9a07 b/fuzz/corpora/cmp/2200ece3319202417d17e01d2fd4c1f8450f9a07 new file mode 100644 index 00000000..586dfc5d Binary files /dev/null and b/fuzz/corpora/cmp/2200ece3319202417d17e01d2fd4c1f8450f9a07 differ diff --git a/fuzz/corpora/cmp/220864a20665fc646ab5aae37c821205708105a8 b/fuzz/corpora/cmp/220864a20665fc646ab5aae37c821205708105a8 new file mode 100644 index 00000000..a67482b2 Binary files /dev/null and b/fuzz/corpora/cmp/220864a20665fc646ab5aae37c821205708105a8 differ diff --git a/fuzz/corpora/cmp/22288f0377cafb63bcb72a1d93bedd2c16232324 b/fuzz/corpora/cmp/22288f0377cafb63bcb72a1d93bedd2c16232324 new file mode 100644 index 00000000..4cbe6b06 Binary files /dev/null and b/fuzz/corpora/cmp/22288f0377cafb63bcb72a1d93bedd2c16232324 differ diff --git a/fuzz/corpora/cmp/22415098e2127d11553010149d55f04dfb4ffb0b b/fuzz/corpora/cmp/22415098e2127d11553010149d55f04dfb4ffb0b new file mode 100644 index 00000000..e2f13abf Binary files /dev/null and b/fuzz/corpora/cmp/22415098e2127d11553010149d55f04dfb4ffb0b differ diff --git a/fuzz/corpora/cmp/2259eb14a9bc5f6a2ffd90bbd80d779ce72be7a2 b/fuzz/corpora/cmp/2259eb14a9bc5f6a2ffd90bbd80d779ce72be7a2 new file mode 100644 index 00000000..6d695d11 Binary files /dev/null and b/fuzz/corpora/cmp/2259eb14a9bc5f6a2ffd90bbd80d779ce72be7a2 differ diff --git a/fuzz/corpora/cmp/22853f09cfb8ced8408f76aecdfa3346b0e7fd9d b/fuzz/corpora/cmp/22853f09cfb8ced8408f76aecdfa3346b0e7fd9d new file mode 100644 index 00000000..a6b21c4e Binary files /dev/null and b/fuzz/corpora/cmp/22853f09cfb8ced8408f76aecdfa3346b0e7fd9d differ diff --git a/fuzz/corpora/cmp/229f381f8a2ca6dc0f085bf787c5647d91df1ab0 b/fuzz/corpora/cmp/229f381f8a2ca6dc0f085bf787c5647d91df1ab0 new file mode 100644 index 00000000..422a6e08 Binary files /dev/null and b/fuzz/corpora/cmp/229f381f8a2ca6dc0f085bf787c5647d91df1ab0 differ diff --git a/fuzz/corpora/cmp/22af70cb2bb1a8514eb9d186992b003f0c30edfa b/fuzz/corpora/cmp/22af70cb2bb1a8514eb9d186992b003f0c30edfa new file mode 100644 index 00000000..b93016f2 Binary files /dev/null and b/fuzz/corpora/cmp/22af70cb2bb1a8514eb9d186992b003f0c30edfa differ diff --git a/fuzz/corpora/cmp/22cfef47cdd1a282d4f40ec81c8718fa8c84e71a b/fuzz/corpora/cmp/22cfef47cdd1a282d4f40ec81c8718fa8c84e71a new file mode 100644 index 00000000..29718fe4 Binary files /dev/null and b/fuzz/corpora/cmp/22cfef47cdd1a282d4f40ec81c8718fa8c84e71a differ diff --git a/fuzz/corpora/cmp/22d01bd85ec74f11bd60758e3fbf1f895849dd8c b/fuzz/corpora/cmp/22d01bd85ec74f11bd60758e3fbf1f895849dd8c new file mode 100644 index 00000000..4fd8123b Binary files /dev/null and b/fuzz/corpora/cmp/22d01bd85ec74f11bd60758e3fbf1f895849dd8c differ diff --git a/fuzz/corpora/cmp/22e36590de463bf73864ce9fc36ce19152749bc2 b/fuzz/corpora/cmp/22e36590de463bf73864ce9fc36ce19152749bc2 new file mode 100644 index 00000000..7cdc6573 Binary files /dev/null and b/fuzz/corpora/cmp/22e36590de463bf73864ce9fc36ce19152749bc2 differ diff --git a/fuzz/corpora/cmp/230169d45478228613cdb7e3530ba6b71322b80b b/fuzz/corpora/cmp/230169d45478228613cdb7e3530ba6b71322b80b new file mode 100644 index 00000000..c1be2f47 Binary files /dev/null and b/fuzz/corpora/cmp/230169d45478228613cdb7e3530ba6b71322b80b differ diff --git a/fuzz/corpora/cmp/2310366fbb5c5913fbdbcb601b7d508b13b22662 b/fuzz/corpora/cmp/2310366fbb5c5913fbdbcb601b7d508b13b22662 new file mode 100644 index 00000000..9f20fdc1 Binary files /dev/null and b/fuzz/corpora/cmp/2310366fbb5c5913fbdbcb601b7d508b13b22662 differ diff --git a/fuzz/corpora/cmp/2331ef4ca2e3da6045bfe1251f796306cd61cdb0 b/fuzz/corpora/cmp/2331ef4ca2e3da6045bfe1251f796306cd61cdb0 new file mode 100644 index 00000000..e48e409e Binary files /dev/null and b/fuzz/corpora/cmp/2331ef4ca2e3da6045bfe1251f796306cd61cdb0 differ diff --git a/fuzz/corpora/cmp/233ca136d234400822b8a960bb1716130003bba0 b/fuzz/corpora/cmp/233ca136d234400822b8a960bb1716130003bba0 new file mode 100644 index 00000000..560f71cd Binary files /dev/null and b/fuzz/corpora/cmp/233ca136d234400822b8a960bb1716130003bba0 differ diff --git a/fuzz/corpora/cmp/233e8a166b9536097019ba54d911c46952372af1 b/fuzz/corpora/cmp/233e8a166b9536097019ba54d911c46952372af1 new file mode 100644 index 00000000..396c6618 Binary files /dev/null and b/fuzz/corpora/cmp/233e8a166b9536097019ba54d911c46952372af1 differ diff --git a/fuzz/corpora/cmp/2370b42e33c6115d5986f4010c824dcc58eb3b26 b/fuzz/corpora/cmp/2370b42e33c6115d5986f4010c824dcc58eb3b26 new file mode 100644 index 00000000..b5a4a979 Binary files /dev/null and b/fuzz/corpora/cmp/2370b42e33c6115d5986f4010c824dcc58eb3b26 differ diff --git a/fuzz/corpora/cmp/237bb0dd9610da210fd6d4980f667810699118f4 b/fuzz/corpora/cmp/237bb0dd9610da210fd6d4980f667810699118f4 new file mode 100644 index 00000000..d4fcd78c Binary files /dev/null and b/fuzz/corpora/cmp/237bb0dd9610da210fd6d4980f667810699118f4 differ diff --git a/fuzz/corpora/cmp/237f6628dd627191038408f8af83d3a65859a162 b/fuzz/corpora/cmp/237f6628dd627191038408f8af83d3a65859a162 new file mode 100644 index 00000000..a7f9ee27 Binary files /dev/null and b/fuzz/corpora/cmp/237f6628dd627191038408f8af83d3a65859a162 differ diff --git a/fuzz/corpora/cmp/238fbad733d4ff187afe75366a3f3e4f1c7a27a6 b/fuzz/corpora/cmp/238fbad733d4ff187afe75366a3f3e4f1c7a27a6 new file mode 100644 index 00000000..0b1f656f Binary files /dev/null and b/fuzz/corpora/cmp/238fbad733d4ff187afe75366a3f3e4f1c7a27a6 differ diff --git a/fuzz/corpora/cmp/239da19259b75f060ecc653a630d508da4754943 b/fuzz/corpora/cmp/239da19259b75f060ecc653a630d508da4754943 new file mode 100644 index 00000000..ba15067b Binary files /dev/null and b/fuzz/corpora/cmp/239da19259b75f060ecc653a630d508da4754943 differ diff --git a/fuzz/corpora/cmp/23b3ae44c892f26d583fed21445368cc1e67f8f4 b/fuzz/corpora/cmp/23b3ae44c892f26d583fed21445368cc1e67f8f4 new file mode 100644 index 00000000..ba115b87 Binary files /dev/null and b/fuzz/corpora/cmp/23b3ae44c892f26d583fed21445368cc1e67f8f4 differ diff --git a/fuzz/corpora/cmp/23cbee63cbeb326e30a0700bae059c45d6c0c0e3 b/fuzz/corpora/cmp/23cbee63cbeb326e30a0700bae059c45d6c0c0e3 new file mode 100644 index 00000000..df5f7b09 Binary files /dev/null and b/fuzz/corpora/cmp/23cbee63cbeb326e30a0700bae059c45d6c0c0e3 differ diff --git a/fuzz/corpora/cmp/23dbaa4d4fbeb84c40d2f08316d6d35eaa154eb6 b/fuzz/corpora/cmp/23dbaa4d4fbeb84c40d2f08316d6d35eaa154eb6 new file mode 100644 index 00000000..4ec43d0b Binary files /dev/null and b/fuzz/corpora/cmp/23dbaa4d4fbeb84c40d2f08316d6d35eaa154eb6 differ diff --git a/fuzz/corpora/cmp/23f432863557372ec44d482e8aa7871a03ee1247 b/fuzz/corpora/cmp/23f432863557372ec44d482e8aa7871a03ee1247 new file mode 100644 index 00000000..b07256b8 Binary files /dev/null and b/fuzz/corpora/cmp/23f432863557372ec44d482e8aa7871a03ee1247 differ diff --git a/fuzz/corpora/cmp/2402b12c40101d831ef24cbc8b5d42c47126370c b/fuzz/corpora/cmp/2402b12c40101d831ef24cbc8b5d42c47126370c new file mode 100644 index 00000000..54eb6e38 Binary files /dev/null and b/fuzz/corpora/cmp/2402b12c40101d831ef24cbc8b5d42c47126370c differ diff --git a/fuzz/corpora/cmp/2412ed4c696c9adcd986c070669003a210a9a9ce b/fuzz/corpora/cmp/2412ed4c696c9adcd986c070669003a210a9a9ce new file mode 100644 index 00000000..40e99691 Binary files /dev/null and b/fuzz/corpora/cmp/2412ed4c696c9adcd986c070669003a210a9a9ce differ diff --git a/fuzz/corpora/cmp/243b9f08b92e574c0f5280a3212e22b3cdac2d3d b/fuzz/corpora/cmp/243b9f08b92e574c0f5280a3212e22b3cdac2d3d new file mode 100644 index 00000000..69a5dad9 Binary files /dev/null and b/fuzz/corpora/cmp/243b9f08b92e574c0f5280a3212e22b3cdac2d3d differ diff --git a/fuzz/corpora/cmp/243fb80f064fff1e9490c2698cda5df637fbcacb b/fuzz/corpora/cmp/243fb80f064fff1e9490c2698cda5df637fbcacb new file mode 100644 index 00000000..6c2ba356 Binary files /dev/null and b/fuzz/corpora/cmp/243fb80f064fff1e9490c2698cda5df637fbcacb differ diff --git a/fuzz/corpora/cmp/244dc88d83ba2f9fc9c3fb545ae1424399f82b01 b/fuzz/corpora/cmp/244dc88d83ba2f9fc9c3fb545ae1424399f82b01 new file mode 100644 index 00000000..3e83acec Binary files /dev/null and b/fuzz/corpora/cmp/244dc88d83ba2f9fc9c3fb545ae1424399f82b01 differ diff --git a/fuzz/corpora/cmp/2459f672892ce515d4d6c442f58a4480d4ba31a6 b/fuzz/corpora/cmp/2459f672892ce515d4d6c442f58a4480d4ba31a6 new file mode 100644 index 00000000..ef8647fe Binary files /dev/null and b/fuzz/corpora/cmp/2459f672892ce515d4d6c442f58a4480d4ba31a6 differ diff --git a/fuzz/corpora/cmp/24613f8a12b5cf9a8f5bdcb595a3c9bc531a18a5 b/fuzz/corpora/cmp/24613f8a12b5cf9a8f5bdcb595a3c9bc531a18a5 new file mode 100644 index 00000000..c2382a8f Binary files /dev/null and b/fuzz/corpora/cmp/24613f8a12b5cf9a8f5bdcb595a3c9bc531a18a5 differ diff --git a/fuzz/corpora/cmp/24a8c7701cd6bc5674b2907f8ef36c657211e42c b/fuzz/corpora/cmp/24a8c7701cd6bc5674b2907f8ef36c657211e42c new file mode 100644 index 00000000..f0b43ae7 Binary files /dev/null and b/fuzz/corpora/cmp/24a8c7701cd6bc5674b2907f8ef36c657211e42c differ diff --git a/fuzz/corpora/cmp/24a8ddfea801d1a9465fb9ff907d5dbd8c8e95fb b/fuzz/corpora/cmp/24a8ddfea801d1a9465fb9ff907d5dbd8c8e95fb new file mode 100644 index 00000000..48d45706 Binary files /dev/null and b/fuzz/corpora/cmp/24a8ddfea801d1a9465fb9ff907d5dbd8c8e95fb differ diff --git a/fuzz/corpora/cmp/24a9e93f487a968b5916809204de5c9d44d44fe5 b/fuzz/corpora/cmp/24a9e93f487a968b5916809204de5c9d44d44fe5 new file mode 100644 index 00000000..aca22c91 --- /dev/null +++ b/fuzz/corpora/cmp/24a9e93f487a968b5916809204de5c9d44d44fe5 @@ -0,0 +1 @@ +½€ € övfv, \ No newline at end of file diff --git a/fuzz/corpora/cmp/24c35142d8deeb0d4767eb60db61ed5d67cd84ed b/fuzz/corpora/cmp/24c35142d8deeb0d4767eb60db61ed5d67cd84ed new file mode 100644 index 00000000..b1fa04fd Binary files /dev/null and b/fuzz/corpora/cmp/24c35142d8deeb0d4767eb60db61ed5d67cd84ed differ diff --git a/fuzz/corpora/cmp/24cd898e653d5516ba5645c94789a508337858e4 b/fuzz/corpora/cmp/24cd898e653d5516ba5645c94789a508337858e4 new file mode 100644 index 00000000..ea16571c Binary files /dev/null and b/fuzz/corpora/cmp/24cd898e653d5516ba5645c94789a508337858e4 differ diff --git a/fuzz/corpora/cmp/24f15541b1f95d575a30b9015ea3969841623de5 b/fuzz/corpora/cmp/24f15541b1f95d575a30b9015ea3969841623de5 new file mode 100644 index 00000000..a3453cf0 Binary files /dev/null and b/fuzz/corpora/cmp/24f15541b1f95d575a30b9015ea3969841623de5 differ diff --git a/fuzz/corpora/cmp/24f75d1ac19a711816b1a772d531331c27750eb3 b/fuzz/corpora/cmp/24f75d1ac19a711816b1a772d531331c27750eb3 new file mode 100644 index 00000000..0ea11ede Binary files /dev/null and b/fuzz/corpora/cmp/24f75d1ac19a711816b1a772d531331c27750eb3 differ diff --git a/fuzz/corpora/cmp/24f96693da10736afae2f59c82dfd1bd4a212300 b/fuzz/corpora/cmp/24f96693da10736afae2f59c82dfd1bd4a212300 new file mode 100644 index 00000000..801eae38 Binary files /dev/null and b/fuzz/corpora/cmp/24f96693da10736afae2f59c82dfd1bd4a212300 differ diff --git a/fuzz/corpora/cmp/250047ae4a19d23a676b68268410b9e0daa2bd72 b/fuzz/corpora/cmp/250047ae4a19d23a676b68268410b9e0daa2bd72 new file mode 100644 index 00000000..0a4e1d14 Binary files /dev/null and b/fuzz/corpora/cmp/250047ae4a19d23a676b68268410b9e0daa2bd72 differ diff --git a/fuzz/corpora/cmp/2512721990aef8e61a0b4dd62996415f6d50be5e b/fuzz/corpora/cmp/2512721990aef8e61a0b4dd62996415f6d50be5e new file mode 100644 index 00000000..f52878cc Binary files /dev/null and b/fuzz/corpora/cmp/2512721990aef8e61a0b4dd62996415f6d50be5e differ diff --git a/fuzz/corpora/cmp/254f338fdf5f36f5256d3c4a389bc69ad9a99f81 b/fuzz/corpora/cmp/254f338fdf5f36f5256d3c4a389bc69ad9a99f81 new file mode 100644 index 00000000..25fd3823 Binary files /dev/null and b/fuzz/corpora/cmp/254f338fdf5f36f5256d3c4a389bc69ad9a99f81 differ diff --git a/fuzz/corpora/cmp/2552f3d2e7878a45daa430719d02df1e218ffaba b/fuzz/corpora/cmp/2552f3d2e7878a45daa430719d02df1e218ffaba new file mode 100644 index 00000000..06f33973 Binary files /dev/null and b/fuzz/corpora/cmp/2552f3d2e7878a45daa430719d02df1e218ffaba differ diff --git a/fuzz/corpora/cmp/255438a2334bf6c805fbc6458fdc7c9ae789044a b/fuzz/corpora/cmp/255438a2334bf6c805fbc6458fdc7c9ae789044a new file mode 100644 index 00000000..0c225489 Binary files /dev/null and b/fuzz/corpora/cmp/255438a2334bf6c805fbc6458fdc7c9ae789044a differ diff --git a/fuzz/corpora/cmp/2556b8841eef18fd06fadfa410cdd48875aeb047 b/fuzz/corpora/cmp/2556b8841eef18fd06fadfa410cdd48875aeb047 new file mode 100644 index 00000000..483860fc Binary files /dev/null and b/fuzz/corpora/cmp/2556b8841eef18fd06fadfa410cdd48875aeb047 differ diff --git a/fuzz/corpora/cmp/255c502d64386f74bc8484f06e0bd3697497e05f b/fuzz/corpora/cmp/255c502d64386f74bc8484f06e0bd3697497e05f new file mode 100644 index 00000000..1c35d631 Binary files /dev/null and b/fuzz/corpora/cmp/255c502d64386f74bc8484f06e0bd3697497e05f differ diff --git a/fuzz/corpora/cmp/255e824f8a05c1bfa5fa691c4e20b816158052c7 b/fuzz/corpora/cmp/255e824f8a05c1bfa5fa691c4e20b816158052c7 new file mode 100644 index 00000000..e0f5354d Binary files /dev/null and b/fuzz/corpora/cmp/255e824f8a05c1bfa5fa691c4e20b816158052c7 differ diff --git a/fuzz/corpora/cmp/256d1dd6990214ac798a514e6cf73ba0e47fe4d8 b/fuzz/corpora/cmp/256d1dd6990214ac798a514e6cf73ba0e47fe4d8 new file mode 100644 index 00000000..e85f5d94 --- /dev/null +++ b/fuzz/corpora/cmp/256d1dd6990214ac798a514e6cf73ba0e47fe4d8 @@ -0,0 +1 @@ +?– \ No newline at end of file diff --git a/fuzz/corpora/cmp/258d2a41b3a11696240f40ba96f33592fecb7894 b/fuzz/corpora/cmp/258d2a41b3a11696240f40ba96f33592fecb7894 new file mode 100644 index 00000000..7c0576dc Binary files /dev/null and b/fuzz/corpora/cmp/258d2a41b3a11696240f40ba96f33592fecb7894 differ diff --git a/fuzz/corpora/cmp/259e2ce3ac7dc56b2b97a569531d990bb1a1fa0a b/fuzz/corpora/cmp/259e2ce3ac7dc56b2b97a569531d990bb1a1fa0a new file mode 100644 index 00000000..a091e8c6 Binary files /dev/null and b/fuzz/corpora/cmp/259e2ce3ac7dc56b2b97a569531d990bb1a1fa0a differ diff --git a/fuzz/corpora/cmp/25a3c51d7c8dfbd259517a33271e17efe553f56b b/fuzz/corpora/cmp/25a3c51d7c8dfbd259517a33271e17efe553f56b new file mode 100644 index 00000000..2e892cc5 Binary files /dev/null and b/fuzz/corpora/cmp/25a3c51d7c8dfbd259517a33271e17efe553f56b differ diff --git a/fuzz/corpora/cmp/25be9c4bd221e4f6bd5159150de3702aef81e436 b/fuzz/corpora/cmp/25be9c4bd221e4f6bd5159150de3702aef81e436 new file mode 100644 index 00000000..25bd08b4 Binary files /dev/null and b/fuzz/corpora/cmp/25be9c4bd221e4f6bd5159150de3702aef81e436 differ diff --git a/fuzz/corpora/cmp/25c1b11882acc3661045cf402526140f07dddafe b/fuzz/corpora/cmp/25c1b11882acc3661045cf402526140f07dddafe new file mode 100644 index 00000000..86ff2acb Binary files /dev/null and b/fuzz/corpora/cmp/25c1b11882acc3661045cf402526140f07dddafe differ diff --git a/fuzz/corpora/cmp/25c6fdf3009cab7673a1dba867b3bc7d6dc9781a b/fuzz/corpora/cmp/25c6fdf3009cab7673a1dba867b3bc7d6dc9781a new file mode 100644 index 00000000..90f4eca4 Binary files /dev/null and b/fuzz/corpora/cmp/25c6fdf3009cab7673a1dba867b3bc7d6dc9781a differ diff --git a/fuzz/corpora/cmp/25d74bc981e6316a5e3caeea0baf3c438f5c94da b/fuzz/corpora/cmp/25d74bc981e6316a5e3caeea0baf3c438f5c94da new file mode 100644 index 00000000..19d34981 Binary files /dev/null and b/fuzz/corpora/cmp/25d74bc981e6316a5e3caeea0baf3c438f5c94da differ diff --git a/fuzz/corpora/cmp/25d8fb0edc73fd02218c15a2308201edadacb73c b/fuzz/corpora/cmp/25d8fb0edc73fd02218c15a2308201edadacb73c new file mode 100644 index 00000000..b767c6d0 Binary files /dev/null and b/fuzz/corpora/cmp/25d8fb0edc73fd02218c15a2308201edadacb73c differ diff --git a/fuzz/corpora/cmp/25e05f48556ec5bfa7a782018488c42349a19546 b/fuzz/corpora/cmp/25e05f48556ec5bfa7a782018488c42349a19546 new file mode 100644 index 00000000..437cfcac Binary files /dev/null and b/fuzz/corpora/cmp/25e05f48556ec5bfa7a782018488c42349a19546 differ diff --git a/fuzz/corpora/cmp/25f088abc448d1fac4b252f69a22141f29aac7ee b/fuzz/corpora/cmp/25f088abc448d1fac4b252f69a22141f29aac7ee new file mode 100644 index 00000000..022d7590 Binary files /dev/null and b/fuzz/corpora/cmp/25f088abc448d1fac4b252f69a22141f29aac7ee differ diff --git a/fuzz/corpora/cmp/25f96158e4d751963ee18e8f41673f14f3bdd1c1 b/fuzz/corpora/cmp/25f96158e4d751963ee18e8f41673f14f3bdd1c1 new file mode 100644 index 00000000..706aed21 Binary files /dev/null and b/fuzz/corpora/cmp/25f96158e4d751963ee18e8f41673f14f3bdd1c1 differ diff --git a/fuzz/corpora/cmp/260fb2b1bdffc5e4c149e89112fa416cbd09d537 b/fuzz/corpora/cmp/260fb2b1bdffc5e4c149e89112fa416cbd09d537 new file mode 100644 index 00000000..518e558e Binary files /dev/null and b/fuzz/corpora/cmp/260fb2b1bdffc5e4c149e89112fa416cbd09d537 differ diff --git a/fuzz/corpora/cmp/26139e0bb9d1378299128503b31a6a4cce4f849c b/fuzz/corpora/cmp/26139e0bb9d1378299128503b31a6a4cce4f849c new file mode 100644 index 00000000..ce1e8c4a Binary files /dev/null and b/fuzz/corpora/cmp/26139e0bb9d1378299128503b31a6a4cce4f849c differ diff --git a/fuzz/corpora/cmp/261726c9ec8106b339e1897b271e46a26ce16967 b/fuzz/corpora/cmp/261726c9ec8106b339e1897b271e46a26ce16967 new file mode 100644 index 00000000..b78cac52 Binary files /dev/null and b/fuzz/corpora/cmp/261726c9ec8106b339e1897b271e46a26ce16967 differ diff --git a/fuzz/corpora/cmp/2617390b054c3b7104edb85f4a2bcf6349f13968 b/fuzz/corpora/cmp/2617390b054c3b7104edb85f4a2bcf6349f13968 new file mode 100644 index 00000000..ffb1a321 Binary files /dev/null and b/fuzz/corpora/cmp/2617390b054c3b7104edb85f4a2bcf6349f13968 differ diff --git a/fuzz/corpora/cmp/261d6f8c14395f17efcbc4505830e611bf24ab01 b/fuzz/corpora/cmp/261d6f8c14395f17efcbc4505830e611bf24ab01 new file mode 100644 index 00000000..c3fe7f39 Binary files /dev/null and b/fuzz/corpora/cmp/261d6f8c14395f17efcbc4505830e611bf24ab01 differ diff --git a/fuzz/corpora/cmp/2646d636abc3fb5aff498c97c756f7c6124d2538 b/fuzz/corpora/cmp/2646d636abc3fb5aff498c97c756f7c6124d2538 new file mode 100644 index 00000000..24f1f260 Binary files /dev/null and b/fuzz/corpora/cmp/2646d636abc3fb5aff498c97c756f7c6124d2538 differ diff --git a/fuzz/corpora/cmp/264989d2ca9ec70a44376fb953ff702f8b5752b8 b/fuzz/corpora/cmp/264989d2ca9ec70a44376fb953ff702f8b5752b8 new file mode 100644 index 00000000..d189d8c6 Binary files /dev/null and b/fuzz/corpora/cmp/264989d2ca9ec70a44376fb953ff702f8b5752b8 differ diff --git a/fuzz/corpora/cmp/2674ef412c7e6187c3e3439cd09d008cabbbc2c5 b/fuzz/corpora/cmp/2674ef412c7e6187c3e3439cd09d008cabbbc2c5 new file mode 100644 index 00000000..52f562c0 Binary files /dev/null and b/fuzz/corpora/cmp/2674ef412c7e6187c3e3439cd09d008cabbbc2c5 differ diff --git a/fuzz/corpora/cmp/269f4111fe4bf2a617e7292cc3fc0fd8be845c6e b/fuzz/corpora/cmp/269f4111fe4bf2a617e7292cc3fc0fd8be845c6e new file mode 100644 index 00000000..ee795760 Binary files /dev/null and b/fuzz/corpora/cmp/269f4111fe4bf2a617e7292cc3fc0fd8be845c6e differ diff --git a/fuzz/corpora/cmp/26ab47418045df04a6dd54e1e3816e300c86689d b/fuzz/corpora/cmp/26ab47418045df04a6dd54e1e3816e300c86689d new file mode 100644 index 00000000..8aa58797 Binary files /dev/null and b/fuzz/corpora/cmp/26ab47418045df04a6dd54e1e3816e300c86689d differ diff --git a/fuzz/corpora/cmp/26b6db4a95dc08c9ef4141f5652162f1eecc8886 b/fuzz/corpora/cmp/26b6db4a95dc08c9ef4141f5652162f1eecc8886 new file mode 100644 index 00000000..40b93fe8 Binary files /dev/null and b/fuzz/corpora/cmp/26b6db4a95dc08c9ef4141f5652162f1eecc8886 differ diff --git a/fuzz/corpora/cmp/26bbb6f2823816035418aa7cf44d2ee759ec1e61 b/fuzz/corpora/cmp/26bbb6f2823816035418aa7cf44d2ee759ec1e61 new file mode 100644 index 00000000..05d63664 Binary files /dev/null and b/fuzz/corpora/cmp/26bbb6f2823816035418aa7cf44d2ee759ec1e61 differ diff --git a/fuzz/corpora/cmp/26c745fcd38cba38e67d5702b28aff6ecce220bc b/fuzz/corpora/cmp/26c745fcd38cba38e67d5702b28aff6ecce220bc new file mode 100644 index 00000000..99050407 Binary files /dev/null and b/fuzz/corpora/cmp/26c745fcd38cba38e67d5702b28aff6ecce220bc differ diff --git a/fuzz/corpora/cmp/26c88115ffd00222d24d7f3975085132cd4c8392 b/fuzz/corpora/cmp/26c88115ffd00222d24d7f3975085132cd4c8392 new file mode 100644 index 00000000..9cec6af5 Binary files /dev/null and b/fuzz/corpora/cmp/26c88115ffd00222d24d7f3975085132cd4c8392 differ diff --git a/fuzz/corpora/cmp/26e495f43ec0331121cefb63b2efa89cc24f3f51 b/fuzz/corpora/cmp/26e495f43ec0331121cefb63b2efa89cc24f3f51 new file mode 100644 index 00000000..f8a6d285 Binary files /dev/null and b/fuzz/corpora/cmp/26e495f43ec0331121cefb63b2efa89cc24f3f51 differ diff --git a/fuzz/corpora/cmp/26e696bf8a8446db0accad47bdc6a1c3c1893f0f b/fuzz/corpora/cmp/26e696bf8a8446db0accad47bdc6a1c3c1893f0f new file mode 100644 index 00000000..447c1652 Binary files /dev/null and b/fuzz/corpora/cmp/26e696bf8a8446db0accad47bdc6a1c3c1893f0f differ diff --git a/fuzz/corpora/cmp/26ebb29caf1f5a4c9b683f2aaa345e91398361d5 b/fuzz/corpora/cmp/26ebb29caf1f5a4c9b683f2aaa345e91398361d5 new file mode 100644 index 00000000..4e058d14 Binary files /dev/null and b/fuzz/corpora/cmp/26ebb29caf1f5a4c9b683f2aaa345e91398361d5 differ diff --git a/fuzz/corpora/cmp/27097c02dae306a8622bdb812b610e28eb43dc0c b/fuzz/corpora/cmp/27097c02dae306a8622bdb812b610e28eb43dc0c new file mode 100644 index 00000000..2ac1a5aa Binary files /dev/null and b/fuzz/corpora/cmp/27097c02dae306a8622bdb812b610e28eb43dc0c differ diff --git a/fuzz/corpora/cmp/2711e90a71a73c33069f52da716ce52e9e523098 b/fuzz/corpora/cmp/2711e90a71a73c33069f52da716ce52e9e523098 new file mode 100644 index 00000000..cbb071af Binary files /dev/null and b/fuzz/corpora/cmp/2711e90a71a73c33069f52da716ce52e9e523098 differ diff --git a/fuzz/corpora/cmp/271d3fdeda1c79a06194113c583edd2cb158c0df b/fuzz/corpora/cmp/271d3fdeda1c79a06194113c583edd2cb158c0df new file mode 100644 index 00000000..e13a5be5 Binary files /dev/null and b/fuzz/corpora/cmp/271d3fdeda1c79a06194113c583edd2cb158c0df differ diff --git a/fuzz/corpora/cmp/27306105f9edc89dad3dd4967c1b760bc12aea83 b/fuzz/corpora/cmp/27306105f9edc89dad3dd4967c1b760bc12aea83 new file mode 100644 index 00000000..d6672412 Binary files /dev/null and b/fuzz/corpora/cmp/27306105f9edc89dad3dd4967c1b760bc12aea83 differ diff --git a/fuzz/corpora/cmp/2732d942729a193986eaaaccd99fb63f491ecee6 b/fuzz/corpora/cmp/2732d942729a193986eaaaccd99fb63f491ecee6 new file mode 100644 index 00000000..18f8851b Binary files /dev/null and b/fuzz/corpora/cmp/2732d942729a193986eaaaccd99fb63f491ecee6 differ diff --git a/fuzz/corpora/cmp/27385a6080097715ec36690140fb5a075029c197 b/fuzz/corpora/cmp/27385a6080097715ec36690140fb5a075029c197 new file mode 100644 index 00000000..3523c93c Binary files /dev/null and b/fuzz/corpora/cmp/27385a6080097715ec36690140fb5a075029c197 differ diff --git a/fuzz/corpora/cmp/2739c96a00b1c9f876fec07ce41b6113c8c62433 b/fuzz/corpora/cmp/2739c96a00b1c9f876fec07ce41b6113c8c62433 new file mode 100644 index 00000000..40234ed0 Binary files /dev/null and b/fuzz/corpora/cmp/2739c96a00b1c9f876fec07ce41b6113c8c62433 differ diff --git a/fuzz/corpora/cmp/2758ea82ddaba8c5edc5bf711c0b36b8e0ee89bb b/fuzz/corpora/cmp/2758ea82ddaba8c5edc5bf711c0b36b8e0ee89bb new file mode 100644 index 00000000..06c333d1 Binary files /dev/null and b/fuzz/corpora/cmp/2758ea82ddaba8c5edc5bf711c0b36b8e0ee89bb differ diff --git a/fuzz/corpora/cmp/2769f0899a2a77adde2dbd386e39c0f22dd09ab0 b/fuzz/corpora/cmp/2769f0899a2a77adde2dbd386e39c0f22dd09ab0 new file mode 100644 index 00000000..bf109c72 Binary files /dev/null and b/fuzz/corpora/cmp/2769f0899a2a77adde2dbd386e39c0f22dd09ab0 differ diff --git a/fuzz/corpora/cmp/276c5329dae701d9dec4ffead91612eddfe97d49 b/fuzz/corpora/cmp/276c5329dae701d9dec4ffead91612eddfe97d49 new file mode 100644 index 00000000..a597391a Binary files /dev/null and b/fuzz/corpora/cmp/276c5329dae701d9dec4ffead91612eddfe97d49 differ diff --git a/fuzz/corpora/cmp/2776943ff7507827976797138e24305ec747853a b/fuzz/corpora/cmp/2776943ff7507827976797138e24305ec747853a new file mode 100644 index 00000000..2fe434c0 Binary files /dev/null and b/fuzz/corpora/cmp/2776943ff7507827976797138e24305ec747853a differ diff --git a/fuzz/corpora/cmp/277c263c50ed5c388539b4ef15b1d1b1dff4071d b/fuzz/corpora/cmp/277c263c50ed5c388539b4ef15b1d1b1dff4071d new file mode 100644 index 00000000..c37d5b02 Binary files /dev/null and b/fuzz/corpora/cmp/277c263c50ed5c388539b4ef15b1d1b1dff4071d differ diff --git a/fuzz/corpora/cmp/278e9def7b6ac8aa0148389d3456849e26b1513f b/fuzz/corpora/cmp/278e9def7b6ac8aa0148389d3456849e26b1513f new file mode 100644 index 00000000..977cf024 Binary files /dev/null and b/fuzz/corpora/cmp/278e9def7b6ac8aa0148389d3456849e26b1513f differ diff --git a/fuzz/corpora/cmp/27a6142fc6c734290f3c5514c6ee06fdec18b5ff b/fuzz/corpora/cmp/27a6142fc6c734290f3c5514c6ee06fdec18b5ff new file mode 100644 index 00000000..18b62933 Binary files /dev/null and b/fuzz/corpora/cmp/27a6142fc6c734290f3c5514c6ee06fdec18b5ff differ diff --git a/fuzz/corpora/cmp/27bf5b21c813f1fb06b53e197675da72a03d4dfb b/fuzz/corpora/cmp/27bf5b21c813f1fb06b53e197675da72a03d4dfb new file mode 100644 index 00000000..f9c97d20 Binary files /dev/null and b/fuzz/corpora/cmp/27bf5b21c813f1fb06b53e197675da72a03d4dfb differ diff --git a/fuzz/corpora/cmp/27e612376e528c5a428f5d1d192dbb052fd8eec3 b/fuzz/corpora/cmp/27e612376e528c5a428f5d1d192dbb052fd8eec3 new file mode 100644 index 00000000..9a3ed5c0 Binary files /dev/null and b/fuzz/corpora/cmp/27e612376e528c5a428f5d1d192dbb052fd8eec3 differ diff --git a/fuzz/corpora/cmp/280f933b7f65c48e0f6cb24d49e21044f2f81d57 b/fuzz/corpora/cmp/280f933b7f65c48e0f6cb24d49e21044f2f81d57 new file mode 100644 index 00000000..8d22b499 Binary files /dev/null and b/fuzz/corpora/cmp/280f933b7f65c48e0f6cb24d49e21044f2f81d57 differ diff --git a/fuzz/corpora/cmp/281e8967f6dc3a6ef19a630ee4ad9bc198d0da4a b/fuzz/corpora/cmp/281e8967f6dc3a6ef19a630ee4ad9bc198d0da4a new file mode 100644 index 00000000..128c2658 Binary files /dev/null and b/fuzz/corpora/cmp/281e8967f6dc3a6ef19a630ee4ad9bc198d0da4a differ diff --git a/fuzz/corpora/cmp/28284bed8ef6ef6724e1fec4ea5eb31e371dd39d b/fuzz/corpora/cmp/28284bed8ef6ef6724e1fec4ea5eb31e371dd39d new file mode 100644 index 00000000..99d6f9f8 Binary files /dev/null and b/fuzz/corpora/cmp/28284bed8ef6ef6724e1fec4ea5eb31e371dd39d differ diff --git a/fuzz/corpora/cmp/282d5b3aace091c26288643c86ca5f66cc34d6af b/fuzz/corpora/cmp/282d5b3aace091c26288643c86ca5f66cc34d6af new file mode 100644 index 00000000..9779948a Binary files /dev/null and b/fuzz/corpora/cmp/282d5b3aace091c26288643c86ca5f66cc34d6af differ diff --git a/fuzz/corpora/cmp/28534060039013945a71db1b62779ef319fd14ab b/fuzz/corpora/cmp/28534060039013945a71db1b62779ef319fd14ab new file mode 100644 index 00000000..f68f87ed Binary files /dev/null and b/fuzz/corpora/cmp/28534060039013945a71db1b62779ef319fd14ab differ diff --git a/fuzz/corpora/cmp/285af54b66391c4a587ae6e39051961a08f1c3b0 b/fuzz/corpora/cmp/285af54b66391c4a587ae6e39051961a08f1c3b0 new file mode 100644 index 00000000..c621176d Binary files /dev/null and b/fuzz/corpora/cmp/285af54b66391c4a587ae6e39051961a08f1c3b0 differ diff --git a/fuzz/corpora/cmp/286fedf8dfe72675eb6871ebc13e02211379613e b/fuzz/corpora/cmp/286fedf8dfe72675eb6871ebc13e02211379613e new file mode 100644 index 00000000..730a8ce6 Binary files /dev/null and b/fuzz/corpora/cmp/286fedf8dfe72675eb6871ebc13e02211379613e differ diff --git a/fuzz/corpora/cmp/287a0e724034da82056c8687527bb7a0b3695cda b/fuzz/corpora/cmp/287a0e724034da82056c8687527bb7a0b3695cda new file mode 100644 index 00000000..380ff7e7 Binary files /dev/null and b/fuzz/corpora/cmp/287a0e724034da82056c8687527bb7a0b3695cda differ diff --git a/fuzz/corpora/cmp/287ae61cb6e4d4848dc07616df3c2aa392f9992f b/fuzz/corpora/cmp/287ae61cb6e4d4848dc07616df3c2aa392f9992f new file mode 100644 index 00000000..3e461ca4 Binary files /dev/null and b/fuzz/corpora/cmp/287ae61cb6e4d4848dc07616df3c2aa392f9992f differ diff --git a/fuzz/corpora/cmp/2894926c794159c8cd7974a35403380d1843d80f b/fuzz/corpora/cmp/2894926c794159c8cd7974a35403380d1843d80f new file mode 100644 index 00000000..fc3798ee Binary files /dev/null and b/fuzz/corpora/cmp/2894926c794159c8cd7974a35403380d1843d80f differ diff --git a/fuzz/corpora/cmp/28966701f20ec45387394df56c2204abd18d4fb9 b/fuzz/corpora/cmp/28966701f20ec45387394df56c2204abd18d4fb9 new file mode 100644 index 00000000..29003512 Binary files /dev/null and b/fuzz/corpora/cmp/28966701f20ec45387394df56c2204abd18d4fb9 differ diff --git a/fuzz/corpora/cmp/28a2dadcd669b3bf1796da1e842aa2436003e623 b/fuzz/corpora/cmp/28a2dadcd669b3bf1796da1e842aa2436003e623 new file mode 100644 index 00000000..b6418305 Binary files /dev/null and b/fuzz/corpora/cmp/28a2dadcd669b3bf1796da1e842aa2436003e623 differ diff --git a/fuzz/corpora/cmp/28c50d1b6a48d653bb9394cf7bae344780d1c1ea b/fuzz/corpora/cmp/28c50d1b6a48d653bb9394cf7bae344780d1c1ea new file mode 100644 index 00000000..4e32b3ed Binary files /dev/null and b/fuzz/corpora/cmp/28c50d1b6a48d653bb9394cf7bae344780d1c1ea differ diff --git a/fuzz/corpora/cmp/28c8e93670ced8b8d55a6212d00c9e5185f36be9 b/fuzz/corpora/cmp/28c8e93670ced8b8d55a6212d00c9e5185f36be9 new file mode 100644 index 00000000..969aa889 Binary files /dev/null and b/fuzz/corpora/cmp/28c8e93670ced8b8d55a6212d00c9e5185f36be9 differ diff --git a/fuzz/corpora/cmp/28eb4f8691b9590dc7d3d23238fcc76eaffd361b b/fuzz/corpora/cmp/28eb4f8691b9590dc7d3d23238fcc76eaffd361b new file mode 100644 index 00000000..7930b9f1 Binary files /dev/null and b/fuzz/corpora/cmp/28eb4f8691b9590dc7d3d23238fcc76eaffd361b differ diff --git a/fuzz/corpora/cmp/29028f7e5db7378d37eea84af46ac1c52f8d6441 b/fuzz/corpora/cmp/29028f7e5db7378d37eea84af46ac1c52f8d6441 new file mode 100644 index 00000000..c6898404 Binary files /dev/null and b/fuzz/corpora/cmp/29028f7e5db7378d37eea84af46ac1c52f8d6441 differ diff --git a/fuzz/corpora/cmp/291fc3fb8bbe2dba48d08bd754158e7a26716a5a b/fuzz/corpora/cmp/291fc3fb8bbe2dba48d08bd754158e7a26716a5a new file mode 100644 index 00000000..ef766107 Binary files /dev/null and b/fuzz/corpora/cmp/291fc3fb8bbe2dba48d08bd754158e7a26716a5a differ diff --git a/fuzz/corpora/cmp/2953de0da383f630b4f59e003dabf49d77b5b62e b/fuzz/corpora/cmp/2953de0da383f630b4f59e003dabf49d77b5b62e new file mode 100644 index 00000000..56868b0a Binary files /dev/null and b/fuzz/corpora/cmp/2953de0da383f630b4f59e003dabf49d77b5b62e differ diff --git a/fuzz/corpora/cmp/29605d9e643cbb667a4f2cb0c9f4f7c9ebce368d b/fuzz/corpora/cmp/29605d9e643cbb667a4f2cb0c9f4f7c9ebce368d new file mode 100644 index 00000000..bf31a24b Binary files /dev/null and b/fuzz/corpora/cmp/29605d9e643cbb667a4f2cb0c9f4f7c9ebce368d differ diff --git a/fuzz/corpora/cmp/29679490f1f2a9d9e7032f49a01ac2e935f9f363 b/fuzz/corpora/cmp/29679490f1f2a9d9e7032f49a01ac2e935f9f363 new file mode 100644 index 00000000..f7c61b4e Binary files /dev/null and b/fuzz/corpora/cmp/29679490f1f2a9d9e7032f49a01ac2e935f9f363 differ diff --git a/fuzz/corpora/cmp/2984f77d6a91aa47095210554164fe7a0f9e284a b/fuzz/corpora/cmp/2984f77d6a91aa47095210554164fe7a0f9e284a new file mode 100644 index 00000000..828723a8 Binary files /dev/null and b/fuzz/corpora/cmp/2984f77d6a91aa47095210554164fe7a0f9e284a differ diff --git a/fuzz/corpora/cmp/29a3702c0ec3eb1060dc7fd8eaf7ee80a67f6407 b/fuzz/corpora/cmp/29a3702c0ec3eb1060dc7fd8eaf7ee80a67f6407 new file mode 100644 index 00000000..5aa13dce Binary files /dev/null and b/fuzz/corpora/cmp/29a3702c0ec3eb1060dc7fd8eaf7ee80a67f6407 differ diff --git a/fuzz/corpora/cmp/29aca0ea7263bd115a156214e102071e0344cbbd b/fuzz/corpora/cmp/29aca0ea7263bd115a156214e102071e0344cbbd new file mode 100644 index 00000000..1aee2bfa Binary files /dev/null and b/fuzz/corpora/cmp/29aca0ea7263bd115a156214e102071e0344cbbd differ diff --git a/fuzz/corpora/cmp/29b29cefd8c518eb38d82e5945bf553a025bcb56 b/fuzz/corpora/cmp/29b29cefd8c518eb38d82e5945bf553a025bcb56 new file mode 100644 index 00000000..eaa11eb5 Binary files /dev/null and b/fuzz/corpora/cmp/29b29cefd8c518eb38d82e5945bf553a025bcb56 differ diff --git a/fuzz/corpora/cmp/29bdc946967da76567b4991c17a62c851e423622 b/fuzz/corpora/cmp/29bdc946967da76567b4991c17a62c851e423622 new file mode 100644 index 00000000..5a2d8a97 Binary files /dev/null and b/fuzz/corpora/cmp/29bdc946967da76567b4991c17a62c851e423622 differ diff --git a/fuzz/corpora/cmp/29c11c337189e7b8fb6489eb0350a4ad33f43b81 b/fuzz/corpora/cmp/29c11c337189e7b8fb6489eb0350a4ad33f43b81 new file mode 100644 index 00000000..5509ce58 Binary files /dev/null and b/fuzz/corpora/cmp/29c11c337189e7b8fb6489eb0350a4ad33f43b81 differ diff --git a/fuzz/corpora/cmp/29cfb2ffedeffa75cf0afe18efd763a30a2cbe1e b/fuzz/corpora/cmp/29cfb2ffedeffa75cf0afe18efd763a30a2cbe1e new file mode 100644 index 00000000..59bd7824 Binary files /dev/null and b/fuzz/corpora/cmp/29cfb2ffedeffa75cf0afe18efd763a30a2cbe1e differ diff --git a/fuzz/corpora/cmp/29d28f76e2bdc72c3fdb61eb5d5961ac1aba8e97 b/fuzz/corpora/cmp/29d28f76e2bdc72c3fdb61eb5d5961ac1aba8e97 new file mode 100644 index 00000000..225715af Binary files /dev/null and b/fuzz/corpora/cmp/29d28f76e2bdc72c3fdb61eb5d5961ac1aba8e97 differ diff --git a/fuzz/corpora/cmp/29eabe403bf4f7eb848fa49073cf506e4e30d16f b/fuzz/corpora/cmp/29eabe403bf4f7eb848fa49073cf506e4e30d16f new file mode 100644 index 00000000..c8bd6295 Binary files /dev/null and b/fuzz/corpora/cmp/29eabe403bf4f7eb848fa49073cf506e4e30d16f differ diff --git a/fuzz/corpora/cmp/29ececbaa27b420cec3511610b8da21525d51ba9 b/fuzz/corpora/cmp/29ececbaa27b420cec3511610b8da21525d51ba9 new file mode 100644 index 00000000..216b807a Binary files /dev/null and b/fuzz/corpora/cmp/29ececbaa27b420cec3511610b8da21525d51ba9 differ diff --git a/fuzz/corpora/cmp/2a1eab27b8a0d13c9cc53bdfec2541a3c4d73149 b/fuzz/corpora/cmp/2a1eab27b8a0d13c9cc53bdfec2541a3c4d73149 new file mode 100644 index 00000000..5b5c6b87 Binary files /dev/null and b/fuzz/corpora/cmp/2a1eab27b8a0d13c9cc53bdfec2541a3c4d73149 differ diff --git a/fuzz/corpora/cmp/2a27d8466709c99caa2dbe4617f4c666d3faa930 b/fuzz/corpora/cmp/2a27d8466709c99caa2dbe4617f4c666d3faa930 new file mode 100644 index 00000000..7e624133 Binary files /dev/null and b/fuzz/corpora/cmp/2a27d8466709c99caa2dbe4617f4c666d3faa930 differ diff --git a/fuzz/corpora/cmp/2a4491115dd367b3a505ad8869b4ad4a571012b1 b/fuzz/corpora/cmp/2a4491115dd367b3a505ad8869b4ad4a571012b1 new file mode 100644 index 00000000..19bc2a68 Binary files /dev/null and b/fuzz/corpora/cmp/2a4491115dd367b3a505ad8869b4ad4a571012b1 differ diff --git a/fuzz/corpora/cmp/2a53448b56790f6aa19277b87d73e14a0c04fa0f b/fuzz/corpora/cmp/2a53448b56790f6aa19277b87d73e14a0c04fa0f new file mode 100644 index 00000000..8e47e892 Binary files /dev/null and b/fuzz/corpora/cmp/2a53448b56790f6aa19277b87d73e14a0c04fa0f differ diff --git a/fuzz/corpora/cmp/2a7022eb4289e43b8bd5459ab1b93f4e963eda8b b/fuzz/corpora/cmp/2a7022eb4289e43b8bd5459ab1b93f4e963eda8b new file mode 100644 index 00000000..8a783fc9 Binary files /dev/null and b/fuzz/corpora/cmp/2a7022eb4289e43b8bd5459ab1b93f4e963eda8b differ diff --git a/fuzz/corpora/cmp/2a75385611ddc02ad5caf9ad684815e8c95184b1 b/fuzz/corpora/cmp/2a75385611ddc02ad5caf9ad684815e8c95184b1 new file mode 100644 index 00000000..eb3257b3 Binary files /dev/null and b/fuzz/corpora/cmp/2a75385611ddc02ad5caf9ad684815e8c95184b1 differ diff --git a/fuzz/corpora/cmp/2ab2520f58aeae9b0ab373818a3d45718efb94bc b/fuzz/corpora/cmp/2ab2520f58aeae9b0ab373818a3d45718efb94bc new file mode 100644 index 00000000..881f5ce6 Binary files /dev/null and b/fuzz/corpora/cmp/2ab2520f58aeae9b0ab373818a3d45718efb94bc differ diff --git a/fuzz/corpora/cmp/2ac539b9227bbeb9707ae3d8be893549c057c920 b/fuzz/corpora/cmp/2ac539b9227bbeb9707ae3d8be893549c057c920 new file mode 100644 index 00000000..13e13f5d Binary files /dev/null and b/fuzz/corpora/cmp/2ac539b9227bbeb9707ae3d8be893549c057c920 differ diff --git a/fuzz/corpora/cmp/2adf67cd5845e8b3ae8a1120e471e5c6d687ee09 b/fuzz/corpora/cmp/2adf67cd5845e8b3ae8a1120e471e5c6d687ee09 new file mode 100644 index 00000000..0c02cb1b Binary files /dev/null and b/fuzz/corpora/cmp/2adf67cd5845e8b3ae8a1120e471e5c6d687ee09 differ diff --git a/fuzz/corpora/cmp/2ae155fa4700a327e80273595e393e4d7d538916 b/fuzz/corpora/cmp/2ae155fa4700a327e80273595e393e4d7d538916 new file mode 100644 index 00000000..ced5e757 Binary files /dev/null and b/fuzz/corpora/cmp/2ae155fa4700a327e80273595e393e4d7d538916 differ diff --git a/fuzz/corpora/cmp/2ae2eb81bd3d1a60ccfb2e7333b963be317d3bea b/fuzz/corpora/cmp/2ae2eb81bd3d1a60ccfb2e7333b963be317d3bea new file mode 100644 index 00000000..06e363a8 Binary files /dev/null and b/fuzz/corpora/cmp/2ae2eb81bd3d1a60ccfb2e7333b963be317d3bea differ diff --git a/fuzz/corpora/cmp/2aea77c68be9cd8f828abdf47112ca3e42a904f1 b/fuzz/corpora/cmp/2aea77c68be9cd8f828abdf47112ca3e42a904f1 new file mode 100644 index 00000000..7db493eb Binary files /dev/null and b/fuzz/corpora/cmp/2aea77c68be9cd8f828abdf47112ca3e42a904f1 differ diff --git a/fuzz/corpora/cmp/2af0bf77a1d63c703bbde9059106d1ca5326769e b/fuzz/corpora/cmp/2af0bf77a1d63c703bbde9059106d1ca5326769e new file mode 100644 index 00000000..a7afb11f Binary files /dev/null and b/fuzz/corpora/cmp/2af0bf77a1d63c703bbde9059106d1ca5326769e differ diff --git a/fuzz/corpora/cmp/2af2285da6126456c993d3e059bdd9517d4d95f1 b/fuzz/corpora/cmp/2af2285da6126456c993d3e059bdd9517d4d95f1 new file mode 100644 index 00000000..c0c2da12 Binary files /dev/null and b/fuzz/corpora/cmp/2af2285da6126456c993d3e059bdd9517d4d95f1 differ diff --git a/fuzz/corpora/cmp/2afd03cefa02c8f15ddcea7cb914741d2d98b609 b/fuzz/corpora/cmp/2afd03cefa02c8f15ddcea7cb914741d2d98b609 new file mode 100644 index 00000000..80e549c7 Binary files /dev/null and b/fuzz/corpora/cmp/2afd03cefa02c8f15ddcea7cb914741d2d98b609 differ diff --git a/fuzz/corpora/cmp/2b0bd5b0482dab78d8f8a015a6573277e6e20169 b/fuzz/corpora/cmp/2b0bd5b0482dab78d8f8a015a6573277e6e20169 new file mode 100644 index 00000000..66466596 Binary files /dev/null and b/fuzz/corpora/cmp/2b0bd5b0482dab78d8f8a015a6573277e6e20169 differ diff --git a/fuzz/corpora/cmp/2b2dffcefa48af9e10475dc4cfc7b97d01e3a6d2 b/fuzz/corpora/cmp/2b2dffcefa48af9e10475dc4cfc7b97d01e3a6d2 new file mode 100644 index 00000000..1ee5d7e7 Binary files /dev/null and b/fuzz/corpora/cmp/2b2dffcefa48af9e10475dc4cfc7b97d01e3a6d2 differ diff --git a/fuzz/corpora/cmp/2b4922ed1421e6bf2abf6d8082438a138244f364 b/fuzz/corpora/cmp/2b4922ed1421e6bf2abf6d8082438a138244f364 new file mode 100644 index 00000000..5707a92a Binary files /dev/null and b/fuzz/corpora/cmp/2b4922ed1421e6bf2abf6d8082438a138244f364 differ diff --git a/fuzz/corpora/cmp/2b4a0bef52198b04bed19b61e9435a02a1101e4e b/fuzz/corpora/cmp/2b4a0bef52198b04bed19b61e9435a02a1101e4e new file mode 100644 index 00000000..b6755619 Binary files /dev/null and b/fuzz/corpora/cmp/2b4a0bef52198b04bed19b61e9435a02a1101e4e differ diff --git a/fuzz/corpora/cmp/2b54dbec57df8c3dd1e60ff02a5f89f9c828b8fc b/fuzz/corpora/cmp/2b54dbec57df8c3dd1e60ff02a5f89f9c828b8fc new file mode 100644 index 00000000..1d6df169 Binary files /dev/null and b/fuzz/corpora/cmp/2b54dbec57df8c3dd1e60ff02a5f89f9c828b8fc differ diff --git a/fuzz/corpora/cmp/2b57004340ceb640a42345986cdd10ce406b7a46 b/fuzz/corpora/cmp/2b57004340ceb640a42345986cdd10ce406b7a46 new file mode 100644 index 00000000..bdc9aa80 Binary files /dev/null and b/fuzz/corpora/cmp/2b57004340ceb640a42345986cdd10ce406b7a46 differ diff --git a/fuzz/corpora/cmp/2b69a8c6bddd936f1559b88c4e642f66175def5b b/fuzz/corpora/cmp/2b69a8c6bddd936f1559b88c4e642f66175def5b new file mode 100644 index 00000000..59825d2e Binary files /dev/null and b/fuzz/corpora/cmp/2b69a8c6bddd936f1559b88c4e642f66175def5b differ diff --git a/fuzz/corpora/cmp/2b6c6751c4d8a006f7d1b51147d60bd4c8423f61 b/fuzz/corpora/cmp/2b6c6751c4d8a006f7d1b51147d60bd4c8423f61 new file mode 100644 index 00000000..e5478d7c Binary files /dev/null and b/fuzz/corpora/cmp/2b6c6751c4d8a006f7d1b51147d60bd4c8423f61 differ diff --git a/fuzz/corpora/cmp/2b6e08f15d10b90b517a5462436d69782abec153 b/fuzz/corpora/cmp/2b6e08f15d10b90b517a5462436d69782abec153 new file mode 100644 index 00000000..51df1ae7 Binary files /dev/null and b/fuzz/corpora/cmp/2b6e08f15d10b90b517a5462436d69782abec153 differ diff --git a/fuzz/corpora/cmp/2b77f17a664ba45fb70db8b6b20e308acdb557b7 b/fuzz/corpora/cmp/2b77f17a664ba45fb70db8b6b20e308acdb557b7 new file mode 100644 index 00000000..4cf2521c Binary files /dev/null and b/fuzz/corpora/cmp/2b77f17a664ba45fb70db8b6b20e308acdb557b7 differ diff --git a/fuzz/corpora/cmp/2b7bab0fc1c86632991055ff9cc6eca37abcb24b b/fuzz/corpora/cmp/2b7bab0fc1c86632991055ff9cc6eca37abcb24b new file mode 100644 index 00000000..6e5e347c Binary files /dev/null and b/fuzz/corpora/cmp/2b7bab0fc1c86632991055ff9cc6eca37abcb24b differ diff --git a/fuzz/corpora/cmp/2b8462e1d27c6062d116b62d461a2372c9ee12cd b/fuzz/corpora/cmp/2b8462e1d27c6062d116b62d461a2372c9ee12cd new file mode 100644 index 00000000..c3b8ea59 Binary files /dev/null and b/fuzz/corpora/cmp/2b8462e1d27c6062d116b62d461a2372c9ee12cd differ diff --git a/fuzz/corpora/cmp/2b956b9952d8867dc50e8dd1bb95c517387ef73b b/fuzz/corpora/cmp/2b956b9952d8867dc50e8dd1bb95c517387ef73b new file mode 100644 index 00000000..d1b71ef0 Binary files /dev/null and b/fuzz/corpora/cmp/2b956b9952d8867dc50e8dd1bb95c517387ef73b differ diff --git a/fuzz/corpora/cmp/2ba22e6cb899c9ae2fbede22de008d21c72913df b/fuzz/corpora/cmp/2ba22e6cb899c9ae2fbede22de008d21c72913df new file mode 100644 index 00000000..094f1fd3 Binary files /dev/null and b/fuzz/corpora/cmp/2ba22e6cb899c9ae2fbede22de008d21c72913df differ diff --git a/fuzz/corpora/cmp/2bac3acf83640e3c3ceec904c994b73460a5fee0 b/fuzz/corpora/cmp/2bac3acf83640e3c3ceec904c994b73460a5fee0 new file mode 100644 index 00000000..e43803f6 Binary files /dev/null and b/fuzz/corpora/cmp/2bac3acf83640e3c3ceec904c994b73460a5fee0 differ diff --git a/fuzz/corpora/cmp/2baff545f63eea7530acbf0af215ebac92605d2f b/fuzz/corpora/cmp/2baff545f63eea7530acbf0af215ebac92605d2f new file mode 100644 index 00000000..7ec39acc Binary files /dev/null and b/fuzz/corpora/cmp/2baff545f63eea7530acbf0af215ebac92605d2f differ diff --git a/fuzz/corpora/cmp/2bb9ac86015a4e29ce9334e1fc9274104cd7c697 b/fuzz/corpora/cmp/2bb9ac86015a4e29ce9334e1fc9274104cd7c697 new file mode 100644 index 00000000..32e6bdf5 Binary files /dev/null and b/fuzz/corpora/cmp/2bb9ac86015a4e29ce9334e1fc9274104cd7c697 differ diff --git a/fuzz/corpora/cmp/2bc379aafeaaa062a8d57240296e82e8882fd064 b/fuzz/corpora/cmp/2bc379aafeaaa062a8d57240296e82e8882fd064 new file mode 100644 index 00000000..a306986f Binary files /dev/null and b/fuzz/corpora/cmp/2bc379aafeaaa062a8d57240296e82e8882fd064 differ diff --git a/fuzz/corpora/cmp/2bc4e5e944f0406ce6e03216c9dd7e7869fcfff5 b/fuzz/corpora/cmp/2bc4e5e944f0406ce6e03216c9dd7e7869fcfff5 new file mode 100644 index 00000000..01a64d89 Binary files /dev/null and b/fuzz/corpora/cmp/2bc4e5e944f0406ce6e03216c9dd7e7869fcfff5 differ diff --git a/fuzz/corpora/cmp/2bf1671bb4641361382bf8193ce151dbd88f0df5 b/fuzz/corpora/cmp/2bf1671bb4641361382bf8193ce151dbd88f0df5 new file mode 100644 index 00000000..ecc86ae2 Binary files /dev/null and b/fuzz/corpora/cmp/2bf1671bb4641361382bf8193ce151dbd88f0df5 differ diff --git a/fuzz/corpora/cmp/2bfd5ec60558847349b8cd09bde0800ac1294671 b/fuzz/corpora/cmp/2bfd5ec60558847349b8cd09bde0800ac1294671 new file mode 100644 index 00000000..a2554296 Binary files /dev/null and b/fuzz/corpora/cmp/2bfd5ec60558847349b8cd09bde0800ac1294671 differ diff --git a/fuzz/corpora/cmp/2bfe1f1d85f6c06d02b473f50712dd7291a1be51 b/fuzz/corpora/cmp/2bfe1f1d85f6c06d02b473f50712dd7291a1be51 new file mode 100644 index 00000000..1183200d Binary files /dev/null and b/fuzz/corpora/cmp/2bfe1f1d85f6c06d02b473f50712dd7291a1be51 differ diff --git a/fuzz/corpora/cmp/2c1a3c9cea49a06f4ae1c0dc74b5e7680f33cedf b/fuzz/corpora/cmp/2c1a3c9cea49a06f4ae1c0dc74b5e7680f33cedf new file mode 100644 index 00000000..38c03a8d Binary files /dev/null and b/fuzz/corpora/cmp/2c1a3c9cea49a06f4ae1c0dc74b5e7680f33cedf differ diff --git a/fuzz/corpora/cmp/2c22497bae67ae3b596a545788b335d1f79011cd b/fuzz/corpora/cmp/2c22497bae67ae3b596a545788b335d1f79011cd new file mode 100644 index 00000000..1f01dbf4 Binary files /dev/null and b/fuzz/corpora/cmp/2c22497bae67ae3b596a545788b335d1f79011cd differ diff --git a/fuzz/corpora/cmp/2c2f9cc06d683f3993ce9e047f7b78f6387de6fb b/fuzz/corpora/cmp/2c2f9cc06d683f3993ce9e047f7b78f6387de6fb new file mode 100644 index 00000000..7361e2cd Binary files /dev/null and b/fuzz/corpora/cmp/2c2f9cc06d683f3993ce9e047f7b78f6387de6fb differ diff --git a/fuzz/corpora/cmp/2c41b03ec330e0c506ecf7eaa2875e3c1373d4c7 b/fuzz/corpora/cmp/2c41b03ec330e0c506ecf7eaa2875e3c1373d4c7 new file mode 100644 index 00000000..3224eea7 Binary files /dev/null and b/fuzz/corpora/cmp/2c41b03ec330e0c506ecf7eaa2875e3c1373d4c7 differ diff --git a/fuzz/corpora/cmp/2c8618b5b27dad0f101871724f9e278d79a7c52c b/fuzz/corpora/cmp/2c8618b5b27dad0f101871724f9e278d79a7c52c new file mode 100644 index 00000000..be1dedee Binary files /dev/null and b/fuzz/corpora/cmp/2c8618b5b27dad0f101871724f9e278d79a7c52c differ diff --git a/fuzz/corpora/cmp/2c8f56b00965cb68c238d82e46ce456766a2976d b/fuzz/corpora/cmp/2c8f56b00965cb68c238d82e46ce456766a2976d new file mode 100644 index 00000000..21d3ea61 Binary files /dev/null and b/fuzz/corpora/cmp/2c8f56b00965cb68c238d82e46ce456766a2976d differ diff --git a/fuzz/corpora/cmp/2c9713d7cdec9f49f39b383cdde4286f50319f5b b/fuzz/corpora/cmp/2c9713d7cdec9f49f39b383cdde4286f50319f5b new file mode 100644 index 00000000..8951bc57 Binary files /dev/null and b/fuzz/corpora/cmp/2c9713d7cdec9f49f39b383cdde4286f50319f5b differ diff --git a/fuzz/corpora/cmp/2c9c7014900fc321394dc0ce0d8fd1d9f0a1695a b/fuzz/corpora/cmp/2c9c7014900fc321394dc0ce0d8fd1d9f0a1695a new file mode 100644 index 00000000..a306d61d Binary files /dev/null and b/fuzz/corpora/cmp/2c9c7014900fc321394dc0ce0d8fd1d9f0a1695a differ diff --git a/fuzz/corpora/cmp/2cbb0bf30887a45424ed4cfe4ef69d455a216850 b/fuzz/corpora/cmp/2cbb0bf30887a45424ed4cfe4ef69d455a216850 new file mode 100644 index 00000000..5a45b668 Binary files /dev/null and b/fuzz/corpora/cmp/2cbb0bf30887a45424ed4cfe4ef69d455a216850 differ diff --git a/fuzz/corpora/cmp/2cc02a73e9ecdb4de90a8433f92484a6cc22c0c0 b/fuzz/corpora/cmp/2cc02a73e9ecdb4de90a8433f92484a6cc22c0c0 new file mode 100644 index 00000000..d2b64248 Binary files /dev/null and b/fuzz/corpora/cmp/2cc02a73e9ecdb4de90a8433f92484a6cc22c0c0 differ diff --git a/fuzz/corpora/cmp/2cc79f597412a92739f043e0568b8e0ee85767c4 b/fuzz/corpora/cmp/2cc79f597412a92739f043e0568b8e0ee85767c4 new file mode 100644 index 00000000..116b0daa Binary files /dev/null and b/fuzz/corpora/cmp/2cc79f597412a92739f043e0568b8e0ee85767c4 differ diff --git a/fuzz/corpora/cmp/2cce577678ca8ae77f490f45ee52adaf44c65bbd b/fuzz/corpora/cmp/2cce577678ca8ae77f490f45ee52adaf44c65bbd new file mode 100644 index 00000000..7ae25f9f Binary files /dev/null and b/fuzz/corpora/cmp/2cce577678ca8ae77f490f45ee52adaf44c65bbd differ diff --git a/fuzz/corpora/cmp/2cdadd5bb83ac21c5819c06e38528bae638c2a0a b/fuzz/corpora/cmp/2cdadd5bb83ac21c5819c06e38528bae638c2a0a new file mode 100644 index 00000000..0d96ab0b Binary files /dev/null and b/fuzz/corpora/cmp/2cdadd5bb83ac21c5819c06e38528bae638c2a0a differ diff --git a/fuzz/corpora/cmp/2ce09c46ceba68e0f59822a5661202bac3e08a71 b/fuzz/corpora/cmp/2ce09c46ceba68e0f59822a5661202bac3e08a71 new file mode 100644 index 00000000..fba1bb46 Binary files /dev/null and b/fuzz/corpora/cmp/2ce09c46ceba68e0f59822a5661202bac3e08a71 differ diff --git a/fuzz/corpora/cmp/2cfe24bccafd58026998111e0b327d230d2f9a07 b/fuzz/corpora/cmp/2cfe24bccafd58026998111e0b327d230d2f9a07 new file mode 100644 index 00000000..f80b883d Binary files /dev/null and b/fuzz/corpora/cmp/2cfe24bccafd58026998111e0b327d230d2f9a07 differ diff --git a/fuzz/corpora/cmp/2d02c000d3be3ecbef3b3f786516dc47d6af5b1a b/fuzz/corpora/cmp/2d02c000d3be3ecbef3b3f786516dc47d6af5b1a new file mode 100644 index 00000000..dca8eca3 Binary files /dev/null and b/fuzz/corpora/cmp/2d02c000d3be3ecbef3b3f786516dc47d6af5b1a differ diff --git a/fuzz/corpora/cmp/2d111e7bbcd256e9e1d9e09c1cb80215b2efc266 b/fuzz/corpora/cmp/2d111e7bbcd256e9e1d9e09c1cb80215b2efc266 new file mode 100644 index 00000000..80d90ece Binary files /dev/null and b/fuzz/corpora/cmp/2d111e7bbcd256e9e1d9e09c1cb80215b2efc266 differ diff --git a/fuzz/corpora/cmp/2d33bc99c57f58e0d3f16f4ddde8054e488e8cfd b/fuzz/corpora/cmp/2d33bc99c57f58e0d3f16f4ddde8054e488e8cfd new file mode 100644 index 00000000..810c2024 Binary files /dev/null and b/fuzz/corpora/cmp/2d33bc99c57f58e0d3f16f4ddde8054e488e8cfd differ diff --git a/fuzz/corpora/cmp/2d38cbd353aa085ee36bace33f4d7bcc14f8ce84 b/fuzz/corpora/cmp/2d38cbd353aa085ee36bace33f4d7bcc14f8ce84 new file mode 100644 index 00000000..a963ee27 Binary files /dev/null and b/fuzz/corpora/cmp/2d38cbd353aa085ee36bace33f4d7bcc14f8ce84 differ diff --git a/fuzz/corpora/cmp/2d399ea13a610f4be122114c228e0480084ee51c b/fuzz/corpora/cmp/2d399ea13a610f4be122114c228e0480084ee51c new file mode 100644 index 00000000..0cc1964b Binary files /dev/null and b/fuzz/corpora/cmp/2d399ea13a610f4be122114c228e0480084ee51c differ diff --git a/fuzz/corpora/cmp/2d56223707ea3faea714a932993e921a3d994379 b/fuzz/corpora/cmp/2d56223707ea3faea714a932993e921a3d994379 new file mode 100644 index 00000000..1a09ca90 Binary files /dev/null and b/fuzz/corpora/cmp/2d56223707ea3faea714a932993e921a3d994379 differ diff --git a/fuzz/corpora/cmp/2d5d73fd5392d1224ce051f1d620ee5b3b4edfac b/fuzz/corpora/cmp/2d5d73fd5392d1224ce051f1d620ee5b3b4edfac new file mode 100644 index 00000000..4c8fee0c Binary files /dev/null and b/fuzz/corpora/cmp/2d5d73fd5392d1224ce051f1d620ee5b3b4edfac differ diff --git a/fuzz/corpora/cmp/2d6a0abcace9f8e46ee57ab82ea6dcda53225084 b/fuzz/corpora/cmp/2d6a0abcace9f8e46ee57ab82ea6dcda53225084 new file mode 100644 index 00000000..0700e022 Binary files /dev/null and b/fuzz/corpora/cmp/2d6a0abcace9f8e46ee57ab82ea6dcda53225084 differ diff --git a/fuzz/corpora/cmp/2d7e6055272567241edabdc2edbb32e1cef82259 b/fuzz/corpora/cmp/2d7e6055272567241edabdc2edbb32e1cef82259 new file mode 100644 index 00000000..f9b996f7 Binary files /dev/null and b/fuzz/corpora/cmp/2d7e6055272567241edabdc2edbb32e1cef82259 differ diff --git a/fuzz/corpora/cmp/2d905d46b8fa3dd4aa343885ec6a80fa3d0b959f b/fuzz/corpora/cmp/2d905d46b8fa3dd4aa343885ec6a80fa3d0b959f new file mode 100644 index 00000000..af5fb9e5 Binary files /dev/null and b/fuzz/corpora/cmp/2d905d46b8fa3dd4aa343885ec6a80fa3d0b959f differ diff --git a/fuzz/corpora/cmp/2d9170882cd2e1648beacf430edbf7081849395d b/fuzz/corpora/cmp/2d9170882cd2e1648beacf430edbf7081849395d new file mode 100644 index 00000000..ff380c41 Binary files /dev/null and b/fuzz/corpora/cmp/2d9170882cd2e1648beacf430edbf7081849395d differ diff --git a/fuzz/corpora/cmp/2dafe9128a05eb72a03d3a8fd4d5472dffd5e9c2 b/fuzz/corpora/cmp/2dafe9128a05eb72a03d3a8fd4d5472dffd5e9c2 new file mode 100644 index 00000000..f99b655d Binary files /dev/null and b/fuzz/corpora/cmp/2dafe9128a05eb72a03d3a8fd4d5472dffd5e9c2 differ diff --git a/fuzz/corpora/cmp/2dcb0249285f07db4b56d2a20a5b11afd92ce10d b/fuzz/corpora/cmp/2dcb0249285f07db4b56d2a20a5b11afd92ce10d new file mode 100644 index 00000000..971cc80c Binary files /dev/null and b/fuzz/corpora/cmp/2dcb0249285f07db4b56d2a20a5b11afd92ce10d differ diff --git a/fuzz/corpora/cmp/2df90ac7969d0bd88f3ca0898e1fb5959eee5536 b/fuzz/corpora/cmp/2df90ac7969d0bd88f3ca0898e1fb5959eee5536 new file mode 100644 index 00000000..ef0048ae --- /dev/null +++ b/fuzz/corpora/cmp/2df90ac7969d0bd88f3ca0898e1fb5959eee5536 @@ -0,0 +1 @@ +ÿ(¨ \ No newline at end of file diff --git a/fuzz/corpora/cmp/2e27a34b4a0ea9ce9d8dd10c8e89b300141f1df8 b/fuzz/corpora/cmp/2e27a34b4a0ea9ce9d8dd10c8e89b300141f1df8 new file mode 100644 index 00000000..457a7721 Binary files /dev/null and b/fuzz/corpora/cmp/2e27a34b4a0ea9ce9d8dd10c8e89b300141f1df8 differ diff --git a/fuzz/corpora/cmp/2e2ca274881aaef1112ec2aaed8475d2db4a3aa2 b/fuzz/corpora/cmp/2e2ca274881aaef1112ec2aaed8475d2db4a3aa2 new file mode 100644 index 00000000..0ff874d9 Binary files /dev/null and b/fuzz/corpora/cmp/2e2ca274881aaef1112ec2aaed8475d2db4a3aa2 differ diff --git a/fuzz/corpora/cmp/2e2cf4bac60415ee5f202f02ee03339b5ea53b78 b/fuzz/corpora/cmp/2e2cf4bac60415ee5f202f02ee03339b5ea53b78 new file mode 100644 index 00000000..ad632605 Binary files /dev/null and b/fuzz/corpora/cmp/2e2cf4bac60415ee5f202f02ee03339b5ea53b78 differ diff --git a/fuzz/corpora/cmp/2e30275a614575c4bb17bac8506c85120bc433be b/fuzz/corpora/cmp/2e30275a614575c4bb17bac8506c85120bc433be new file mode 100644 index 00000000..c3fb7a71 Binary files /dev/null and b/fuzz/corpora/cmp/2e30275a614575c4bb17bac8506c85120bc433be differ diff --git a/fuzz/corpora/cmp/2e306e16d6fdd8f9cb06557f975fed0874e94ce2 b/fuzz/corpora/cmp/2e306e16d6fdd8f9cb06557f975fed0874e94ce2 new file mode 100644 index 00000000..d9c3cbf8 Binary files /dev/null and b/fuzz/corpora/cmp/2e306e16d6fdd8f9cb06557f975fed0874e94ce2 differ diff --git a/fuzz/corpora/cmp/2e4e5419bcac85542a584b1a813b8eed06730c48 b/fuzz/corpora/cmp/2e4e5419bcac85542a584b1a813b8eed06730c48 new file mode 100644 index 00000000..2b86e614 Binary files /dev/null and b/fuzz/corpora/cmp/2e4e5419bcac85542a584b1a813b8eed06730c48 differ diff --git a/fuzz/corpora/cmp/2e4fae85f24e1e8b2fd7251d1bc18fb815371474 b/fuzz/corpora/cmp/2e4fae85f24e1e8b2fd7251d1bc18fb815371474 new file mode 100644 index 00000000..fc76a48f Binary files /dev/null and b/fuzz/corpora/cmp/2e4fae85f24e1e8b2fd7251d1bc18fb815371474 differ diff --git a/fuzz/corpora/cmp/2e6ff110672be8556d0df77891ffd7cf471504f8 b/fuzz/corpora/cmp/2e6ff110672be8556d0df77891ffd7cf471504f8 new file mode 100644 index 00000000..3e9f845f Binary files /dev/null and b/fuzz/corpora/cmp/2e6ff110672be8556d0df77891ffd7cf471504f8 differ diff --git a/fuzz/corpora/cmp/2e809875682aa11c516c03316a1603367b490a88 b/fuzz/corpora/cmp/2e809875682aa11c516c03316a1603367b490a88 new file mode 100644 index 00000000..157edb9e Binary files /dev/null and b/fuzz/corpora/cmp/2e809875682aa11c516c03316a1603367b490a88 differ diff --git a/fuzz/corpora/cmp/2e96e9f716610c0c6d64b0a0e308b5f471af24e5 b/fuzz/corpora/cmp/2e96e9f716610c0c6d64b0a0e308b5f471af24e5 new file mode 100644 index 00000000..125dde83 Binary files /dev/null and b/fuzz/corpora/cmp/2e96e9f716610c0c6d64b0a0e308b5f471af24e5 differ diff --git a/fuzz/corpora/cmp/2ea44ae34f9dd8c4d8a7beb6d9fd1eef1567febc b/fuzz/corpora/cmp/2ea44ae34f9dd8c4d8a7beb6d9fd1eef1567febc new file mode 100644 index 00000000..416745ce Binary files /dev/null and b/fuzz/corpora/cmp/2ea44ae34f9dd8c4d8a7beb6d9fd1eef1567febc differ diff --git a/fuzz/corpora/cmp/2eb06ccb3b17e627ac25aadae05e9ee3783eaeef b/fuzz/corpora/cmp/2eb06ccb3b17e627ac25aadae05e9ee3783eaeef new file mode 100644 index 00000000..971dc246 Binary files /dev/null and b/fuzz/corpora/cmp/2eb06ccb3b17e627ac25aadae05e9ee3783eaeef differ diff --git a/fuzz/corpora/cmp/2ec7a041666dbf0401afff70e61bb43dd29e44c8 b/fuzz/corpora/cmp/2ec7a041666dbf0401afff70e61bb43dd29e44c8 new file mode 100644 index 00000000..492ca8fc Binary files /dev/null and b/fuzz/corpora/cmp/2ec7a041666dbf0401afff70e61bb43dd29e44c8 differ diff --git a/fuzz/corpora/cmp/2ec92b45c1c8a869e18cf2214b12065b7734681f b/fuzz/corpora/cmp/2ec92b45c1c8a869e18cf2214b12065b7734681f new file mode 100644 index 00000000..a7e8a804 Binary files /dev/null and b/fuzz/corpora/cmp/2ec92b45c1c8a869e18cf2214b12065b7734681f differ diff --git a/fuzz/corpora/cmp/2ecf67a33a189cbfe6e48ebf9aa02433b4cd5048 b/fuzz/corpora/cmp/2ecf67a33a189cbfe6e48ebf9aa02433b4cd5048 new file mode 100644 index 00000000..3a75fe64 Binary files /dev/null and b/fuzz/corpora/cmp/2ecf67a33a189cbfe6e48ebf9aa02433b4cd5048 differ diff --git a/fuzz/corpora/cmp/2eed17dabf66ec8077daa0e2c2071f7a67735588 b/fuzz/corpora/cmp/2eed17dabf66ec8077daa0e2c2071f7a67735588 new file mode 100644 index 00000000..212c76de Binary files /dev/null and b/fuzz/corpora/cmp/2eed17dabf66ec8077daa0e2c2071f7a67735588 differ diff --git a/fuzz/corpora/cmp/2efe354cf90a51b01c6d3fbca81c4815f872ad1a b/fuzz/corpora/cmp/2efe354cf90a51b01c6d3fbca81c4815f872ad1a new file mode 100644 index 00000000..f575f989 Binary files /dev/null and b/fuzz/corpora/cmp/2efe354cf90a51b01c6d3fbca81c4815f872ad1a differ diff --git a/fuzz/corpora/cmp/2f0000c4de566726309def314633316d11f9187d b/fuzz/corpora/cmp/2f0000c4de566726309def314633316d11f9187d new file mode 100644 index 00000000..cdfcd26c Binary files /dev/null and b/fuzz/corpora/cmp/2f0000c4de566726309def314633316d11f9187d differ diff --git a/fuzz/corpora/cmp/2f1ce591ccbcbf687e18db54172b80c19b44454d b/fuzz/corpora/cmp/2f1ce591ccbcbf687e18db54172b80c19b44454d new file mode 100644 index 00000000..09627dc8 Binary files /dev/null and b/fuzz/corpora/cmp/2f1ce591ccbcbf687e18db54172b80c19b44454d differ diff --git a/fuzz/corpora/cmp/2f3133323521e6a0f8d44f66ddb5f3a80d1666b0 b/fuzz/corpora/cmp/2f3133323521e6a0f8d44f66ddb5f3a80d1666b0 new file mode 100644 index 00000000..d097e2c4 Binary files /dev/null and b/fuzz/corpora/cmp/2f3133323521e6a0f8d44f66ddb5f3a80d1666b0 differ diff --git a/fuzz/corpora/cmp/2f43c783777d58c5daaf32d7c694e4c7375cd1f6 b/fuzz/corpora/cmp/2f43c783777d58c5daaf32d7c694e4c7375cd1f6 new file mode 100644 index 00000000..b672b2e1 Binary files /dev/null and b/fuzz/corpora/cmp/2f43c783777d58c5daaf32d7c694e4c7375cd1f6 differ diff --git a/fuzz/corpora/cmp/2f43fd96cd655b9a59188ad256ece09cbc1b3a27 b/fuzz/corpora/cmp/2f43fd96cd655b9a59188ad256ece09cbc1b3a27 new file mode 100644 index 00000000..0e921200 Binary files /dev/null and b/fuzz/corpora/cmp/2f43fd96cd655b9a59188ad256ece09cbc1b3a27 differ diff --git a/fuzz/corpora/cmp/2f6353ed195b6334e2d8ccf4564d2f9b16f6d04f b/fuzz/corpora/cmp/2f6353ed195b6334e2d8ccf4564d2f9b16f6d04f new file mode 100644 index 00000000..795d4784 Binary files /dev/null and b/fuzz/corpora/cmp/2f6353ed195b6334e2d8ccf4564d2f9b16f6d04f differ diff --git a/fuzz/corpora/cmp/2f6c7d76d9647adcb34c63598434d67eaaea4f66 b/fuzz/corpora/cmp/2f6c7d76d9647adcb34c63598434d67eaaea4f66 new file mode 100644 index 00000000..bba9f38e Binary files /dev/null and b/fuzz/corpora/cmp/2f6c7d76d9647adcb34c63598434d67eaaea4f66 differ diff --git a/fuzz/corpora/cmp/2f93bbdc1688fad2ffebfeef2a8b2289888782cd b/fuzz/corpora/cmp/2f93bbdc1688fad2ffebfeef2a8b2289888782cd new file mode 100644 index 00000000..4a8ed901 Binary files /dev/null and b/fuzz/corpora/cmp/2f93bbdc1688fad2ffebfeef2a8b2289888782cd differ diff --git a/fuzz/corpora/cmp/2fab9aac599d5b83a161dc585efee0b76ab408fa b/fuzz/corpora/cmp/2fab9aac599d5b83a161dc585efee0b76ab408fa new file mode 100644 index 00000000..0d45d82b Binary files /dev/null and b/fuzz/corpora/cmp/2fab9aac599d5b83a161dc585efee0b76ab408fa differ diff --git a/fuzz/corpora/cmp/2fb4501da7542f494818fa62afd71a52bc84f949 b/fuzz/corpora/cmp/2fb4501da7542f494818fa62afd71a52bc84f949 new file mode 100644 index 00000000..2aa8dbc2 Binary files /dev/null and b/fuzz/corpora/cmp/2fb4501da7542f494818fa62afd71a52bc84f949 differ diff --git a/fuzz/corpora/cmp/2fb5bfdc67ecdf7ab0ea0dfbb0307556d193340c b/fuzz/corpora/cmp/2fb5bfdc67ecdf7ab0ea0dfbb0307556d193340c new file mode 100644 index 00000000..676d9721 Binary files /dev/null and b/fuzz/corpora/cmp/2fb5bfdc67ecdf7ab0ea0dfbb0307556d193340c differ diff --git a/fuzz/corpora/cmp/2fbbceab12a75e879d4d9c94a7889633051efb5e b/fuzz/corpora/cmp/2fbbceab12a75e879d4d9c94a7889633051efb5e new file mode 100644 index 00000000..aecd5edd Binary files /dev/null and b/fuzz/corpora/cmp/2fbbceab12a75e879d4d9c94a7889633051efb5e differ diff --git a/fuzz/corpora/cmp/2fbcfdb4edd094e83be1c12fc945291c1b8c5ff5 b/fuzz/corpora/cmp/2fbcfdb4edd094e83be1c12fc945291c1b8c5ff5 new file mode 100644 index 00000000..67ed6884 Binary files /dev/null and b/fuzz/corpora/cmp/2fbcfdb4edd094e83be1c12fc945291c1b8c5ff5 differ diff --git a/fuzz/corpora/cmp/2fc9df23891a5f05def65d165a4b693725dfa402 b/fuzz/corpora/cmp/2fc9df23891a5f05def65d165a4b693725dfa402 new file mode 100644 index 00000000..221fb254 Binary files /dev/null and b/fuzz/corpora/cmp/2fc9df23891a5f05def65d165a4b693725dfa402 differ diff --git a/fuzz/corpora/cmp/2fcd741225d33f882f0d07ceb029b66c43982b90 b/fuzz/corpora/cmp/2fcd741225d33f882f0d07ceb029b66c43982b90 new file mode 100644 index 00000000..e16c1c6a Binary files /dev/null and b/fuzz/corpora/cmp/2fcd741225d33f882f0d07ceb029b66c43982b90 differ diff --git a/fuzz/corpora/cmp/2fdcbf7f9b31157e698ddabed9a76d6eb7e6fb20 b/fuzz/corpora/cmp/2fdcbf7f9b31157e698ddabed9a76d6eb7e6fb20 new file mode 100644 index 00000000..761bcd6f Binary files /dev/null and b/fuzz/corpora/cmp/2fdcbf7f9b31157e698ddabed9a76d6eb7e6fb20 differ diff --git a/fuzz/corpora/cmp/2fe6b03d8dfe805490389f71ce9edf50859277fe b/fuzz/corpora/cmp/2fe6b03d8dfe805490389f71ce9edf50859277fe new file mode 100644 index 00000000..80f415e5 Binary files /dev/null and b/fuzz/corpora/cmp/2fe6b03d8dfe805490389f71ce9edf50859277fe differ diff --git a/fuzz/corpora/cmp/2ff250be9095485a3af3685923ca50f34ae81823 b/fuzz/corpora/cmp/2ff250be9095485a3af3685923ca50f34ae81823 new file mode 100644 index 00000000..0dc5d49b Binary files /dev/null and b/fuzz/corpora/cmp/2ff250be9095485a3af3685923ca50f34ae81823 differ diff --git a/fuzz/corpora/cmp/3002ef6b770c1c46318c6e61a1be91830c7cad9e b/fuzz/corpora/cmp/3002ef6b770c1c46318c6e61a1be91830c7cad9e new file mode 100644 index 00000000..eeb66fd3 Binary files /dev/null and b/fuzz/corpora/cmp/3002ef6b770c1c46318c6e61a1be91830c7cad9e differ diff --git a/fuzz/corpora/cmp/300798f920c6b0840c6e79d5f42660b158fa334d b/fuzz/corpora/cmp/300798f920c6b0840c6e79d5f42660b158fa334d new file mode 100644 index 00000000..46da995d Binary files /dev/null and b/fuzz/corpora/cmp/300798f920c6b0840c6e79d5f42660b158fa334d differ diff --git a/fuzz/corpora/cmp/3018759c7cc9753201b8a9b625651a2b7ef571f0 b/fuzz/corpora/cmp/3018759c7cc9753201b8a9b625651a2b7ef571f0 new file mode 100644 index 00000000..ad981c01 Binary files /dev/null and b/fuzz/corpora/cmp/3018759c7cc9753201b8a9b625651a2b7ef571f0 differ diff --git a/fuzz/corpora/cmp/30257372f4b562656b4bfce45fa58faffeff923f b/fuzz/corpora/cmp/30257372f4b562656b4bfce45fa58faffeff923f new file mode 100644 index 00000000..82e81212 Binary files /dev/null and b/fuzz/corpora/cmp/30257372f4b562656b4bfce45fa58faffeff923f differ diff --git a/fuzz/corpora/cmp/303b9b7099a2f2f66485583a81e70343000d16f2 b/fuzz/corpora/cmp/303b9b7099a2f2f66485583a81e70343000d16f2 new file mode 100644 index 00000000..1bc9d7cd Binary files /dev/null and b/fuzz/corpora/cmp/303b9b7099a2f2f66485583a81e70343000d16f2 differ diff --git a/fuzz/corpora/cmp/3065453bf2cb27023c4847347c72cd13eea5a05d b/fuzz/corpora/cmp/3065453bf2cb27023c4847347c72cd13eea5a05d new file mode 100644 index 00000000..4286b356 Binary files /dev/null and b/fuzz/corpora/cmp/3065453bf2cb27023c4847347c72cd13eea5a05d differ diff --git a/fuzz/corpora/cmp/306c8a0eaf172aa57aeaa8fedd1a3979c36b984f b/fuzz/corpora/cmp/306c8a0eaf172aa57aeaa8fedd1a3979c36b984f new file mode 100644 index 00000000..01cd7814 Binary files /dev/null and b/fuzz/corpora/cmp/306c8a0eaf172aa57aeaa8fedd1a3979c36b984f differ diff --git a/fuzz/corpora/cmp/308d56c9242a3ed7025d359a70ff7e5bc1c8f491 b/fuzz/corpora/cmp/308d56c9242a3ed7025d359a70ff7e5bc1c8f491 new file mode 100644 index 00000000..bec8c846 Binary files /dev/null and b/fuzz/corpora/cmp/308d56c9242a3ed7025d359a70ff7e5bc1c8f491 differ diff --git a/fuzz/corpora/cmp/309c752451e068696e8a43567a02d8552e51aac2 b/fuzz/corpora/cmp/309c752451e068696e8a43567a02d8552e51aac2 new file mode 100644 index 00000000..2e4fcb5f Binary files /dev/null and b/fuzz/corpora/cmp/309c752451e068696e8a43567a02d8552e51aac2 differ diff --git a/fuzz/corpora/cmp/30a231d01ea2fcd04023eacac58ae54f65f2fc63 b/fuzz/corpora/cmp/30a231d01ea2fcd04023eacac58ae54f65f2fc63 new file mode 100644 index 00000000..7e32bf7f Binary files /dev/null and b/fuzz/corpora/cmp/30a231d01ea2fcd04023eacac58ae54f65f2fc63 differ diff --git a/fuzz/corpora/cmp/30aa8f59b761020fa1bb4a40fa1f4e6ebe3068eb b/fuzz/corpora/cmp/30aa8f59b761020fa1bb4a40fa1f4e6ebe3068eb new file mode 100644 index 00000000..5e31de78 Binary files /dev/null and b/fuzz/corpora/cmp/30aa8f59b761020fa1bb4a40fa1f4e6ebe3068eb differ diff --git a/fuzz/corpora/cmp/30b8827580848ebc609a690d94ea3f12e21bd9e1 b/fuzz/corpora/cmp/30b8827580848ebc609a690d94ea3f12e21bd9e1 new file mode 100644 index 00000000..5fa2537a Binary files /dev/null and b/fuzz/corpora/cmp/30b8827580848ebc609a690d94ea3f12e21bd9e1 differ diff --git a/fuzz/corpora/cmp/30be206dab56090acc363c22141d9fc012742edd b/fuzz/corpora/cmp/30be206dab56090acc363c22141d9fc012742edd new file mode 100644 index 00000000..b46060b8 Binary files /dev/null and b/fuzz/corpora/cmp/30be206dab56090acc363c22141d9fc012742edd differ diff --git a/fuzz/corpora/cmp/30d2c0f1906da9121f69105e99b1257fa25b4ceb b/fuzz/corpora/cmp/30d2c0f1906da9121f69105e99b1257fa25b4ceb new file mode 100644 index 00000000..2c7a8c3e Binary files /dev/null and b/fuzz/corpora/cmp/30d2c0f1906da9121f69105e99b1257fa25b4ceb differ diff --git a/fuzz/corpora/cmp/31279c268bb31c5bede29a524eb272d7fe9d0833 b/fuzz/corpora/cmp/31279c268bb31c5bede29a524eb272d7fe9d0833 new file mode 100644 index 00000000..ae3340b4 Binary files /dev/null and b/fuzz/corpora/cmp/31279c268bb31c5bede29a524eb272d7fe9d0833 differ diff --git a/fuzz/corpora/cmp/3137920880366b2a5fe8c3dbaf0e2b9f838badc9 b/fuzz/corpora/cmp/3137920880366b2a5fe8c3dbaf0e2b9f838badc9 new file mode 100644 index 00000000..ba45b814 Binary files /dev/null and b/fuzz/corpora/cmp/3137920880366b2a5fe8c3dbaf0e2b9f838badc9 differ diff --git a/fuzz/corpora/cmp/314b4352f286e1f2291fc9f510f29f15fa4c07de b/fuzz/corpora/cmp/314b4352f286e1f2291fc9f510f29f15fa4c07de new file mode 100644 index 00000000..42490a36 Binary files /dev/null and b/fuzz/corpora/cmp/314b4352f286e1f2291fc9f510f29f15fa4c07de differ diff --git a/fuzz/corpora/cmp/31565ca7f5f0fbd34bcaf93fa4f4b0b7adf4d557 b/fuzz/corpora/cmp/31565ca7f5f0fbd34bcaf93fa4f4b0b7adf4d557 new file mode 100644 index 00000000..1d65ec55 Binary files /dev/null and b/fuzz/corpora/cmp/31565ca7f5f0fbd34bcaf93fa4f4b0b7adf4d557 differ diff --git a/fuzz/corpora/cmp/316d750dfcc702afcd628121c532322c4e76424b b/fuzz/corpora/cmp/316d750dfcc702afcd628121c532322c4e76424b new file mode 100644 index 00000000..6fdaa7f6 Binary files /dev/null and b/fuzz/corpora/cmp/316d750dfcc702afcd628121c532322c4e76424b differ diff --git a/fuzz/corpora/cmp/316f34cc1d1388c55f007cd038fd488d255736e3 b/fuzz/corpora/cmp/316f34cc1d1388c55f007cd038fd488d255736e3 new file mode 100644 index 00000000..390c7d25 Binary files /dev/null and b/fuzz/corpora/cmp/316f34cc1d1388c55f007cd038fd488d255736e3 differ diff --git a/fuzz/corpora/cmp/3173b0e9b9ba1933e0b12465a07ab12416457242 b/fuzz/corpora/cmp/3173b0e9b9ba1933e0b12465a07ab12416457242 new file mode 100644 index 00000000..b2859484 Binary files /dev/null and b/fuzz/corpora/cmp/3173b0e9b9ba1933e0b12465a07ab12416457242 differ diff --git a/fuzz/corpora/cmp/317fc8b0a52bcf1e9d91c5f4e8972c49ff5e52fd b/fuzz/corpora/cmp/317fc8b0a52bcf1e9d91c5f4e8972c49ff5e52fd new file mode 100644 index 00000000..05410e6a Binary files /dev/null and b/fuzz/corpora/cmp/317fc8b0a52bcf1e9d91c5f4e8972c49ff5e52fd differ diff --git a/fuzz/corpora/cmp/31939540f44ad98b06956ee329a4c0d26ab2f774 b/fuzz/corpora/cmp/31939540f44ad98b06956ee329a4c0d26ab2f774 new file mode 100644 index 00000000..09016723 Binary files /dev/null and b/fuzz/corpora/cmp/31939540f44ad98b06956ee329a4c0d26ab2f774 differ diff --git a/fuzz/corpora/cmp/31a77ea5295b68e7dbe7a5b9443f9bd0ede7783c b/fuzz/corpora/cmp/31a77ea5295b68e7dbe7a5b9443f9bd0ede7783c new file mode 100644 index 00000000..7e5df0e9 Binary files /dev/null and b/fuzz/corpora/cmp/31a77ea5295b68e7dbe7a5b9443f9bd0ede7783c differ diff --git a/fuzz/corpora/cmp/31b4347a73e6c160ab44265d7086ddbb1ebaa81b b/fuzz/corpora/cmp/31b4347a73e6c160ab44265d7086ddbb1ebaa81b new file mode 100644 index 00000000..702eef1b Binary files /dev/null and b/fuzz/corpora/cmp/31b4347a73e6c160ab44265d7086ddbb1ebaa81b differ diff --git a/fuzz/corpora/cmp/31d685f0b1038f303818c304d4aa2e3d932537c1 b/fuzz/corpora/cmp/31d685f0b1038f303818c304d4aa2e3d932537c1 new file mode 100644 index 00000000..bd50a1b8 Binary files /dev/null and b/fuzz/corpora/cmp/31d685f0b1038f303818c304d4aa2e3d932537c1 differ diff --git a/fuzz/corpora/cmp/31e2d23c255e4f1b9d4226fcb6b361af27afeac2 b/fuzz/corpora/cmp/31e2d23c255e4f1b9d4226fcb6b361af27afeac2 new file mode 100644 index 00000000..2485fd3b Binary files /dev/null and b/fuzz/corpora/cmp/31e2d23c255e4f1b9d4226fcb6b361af27afeac2 differ diff --git a/fuzz/corpora/cmp/31e556a5ce31db0a91d94c9a7f6ac951aa943c2b b/fuzz/corpora/cmp/31e556a5ce31db0a91d94c9a7f6ac951aa943c2b new file mode 100644 index 00000000..67d586d5 Binary files /dev/null and b/fuzz/corpora/cmp/31e556a5ce31db0a91d94c9a7f6ac951aa943c2b differ diff --git a/fuzz/corpora/cmp/31f29494c195be314777361c57018876555d0d56 b/fuzz/corpora/cmp/31f29494c195be314777361c57018876555d0d56 new file mode 100644 index 00000000..dea426d0 Binary files /dev/null and b/fuzz/corpora/cmp/31f29494c195be314777361c57018876555d0d56 differ diff --git a/fuzz/corpora/cmp/31f7a04fdc49b2c209a04642182f6720b9078509 b/fuzz/corpora/cmp/31f7a04fdc49b2c209a04642182f6720b9078509 new file mode 100644 index 00000000..6c6019e3 Binary files /dev/null and b/fuzz/corpora/cmp/31f7a04fdc49b2c209a04642182f6720b9078509 differ diff --git a/fuzz/corpora/cmp/3200359d60ab9d47e5b3c844f5468cb880e6d611 b/fuzz/corpora/cmp/3200359d60ab9d47e5b3c844f5468cb880e6d611 new file mode 100644 index 00000000..d6044aaf Binary files /dev/null and b/fuzz/corpora/cmp/3200359d60ab9d47e5b3c844f5468cb880e6d611 differ diff --git a/fuzz/corpora/cmp/320e78291b57a87a81fa4add095699c779190585 b/fuzz/corpora/cmp/320e78291b57a87a81fa4add095699c779190585 new file mode 100644 index 00000000..fadb0f3a Binary files /dev/null and b/fuzz/corpora/cmp/320e78291b57a87a81fa4add095699c779190585 differ diff --git a/fuzz/corpora/cmp/321eb23c78c37b7d514632b7470cac9f7b0b5435 b/fuzz/corpora/cmp/321eb23c78c37b7d514632b7470cac9f7b0b5435 new file mode 100644 index 00000000..5ba3e1d5 Binary files /dev/null and b/fuzz/corpora/cmp/321eb23c78c37b7d514632b7470cac9f7b0b5435 differ diff --git a/fuzz/corpora/cmp/32455034a1beddadce4fe997540acc833efbbde3 b/fuzz/corpora/cmp/32455034a1beddadce4fe997540acc833efbbde3 new file mode 100644 index 00000000..06bd16a0 Binary files /dev/null and b/fuzz/corpora/cmp/32455034a1beddadce4fe997540acc833efbbde3 differ diff --git a/fuzz/corpora/cmp/324d9907c50c2b0c355ba32566c7d1ceef261769 b/fuzz/corpora/cmp/324d9907c50c2b0c355ba32566c7d1ceef261769 new file mode 100644 index 00000000..49d7d353 Binary files /dev/null and b/fuzz/corpora/cmp/324d9907c50c2b0c355ba32566c7d1ceef261769 differ diff --git a/fuzz/corpora/cmp/324db5d9a77ff973eabea6052f3092bcc6029be7 b/fuzz/corpora/cmp/324db5d9a77ff973eabea6052f3092bcc6029be7 new file mode 100644 index 00000000..8c1c8884 Binary files /dev/null and b/fuzz/corpora/cmp/324db5d9a77ff973eabea6052f3092bcc6029be7 differ diff --git a/fuzz/corpora/cmp/325e0bdac042457a17b1edcaf31b54a2686ee8b9 b/fuzz/corpora/cmp/325e0bdac042457a17b1edcaf31b54a2686ee8b9 new file mode 100644 index 00000000..dc8b5ac4 Binary files /dev/null and b/fuzz/corpora/cmp/325e0bdac042457a17b1edcaf31b54a2686ee8b9 differ diff --git a/fuzz/corpora/cmp/32634c6d715735d6675c4cc26c452e2577142430 b/fuzz/corpora/cmp/32634c6d715735d6675c4cc26c452e2577142430 new file mode 100644 index 00000000..fb08cc18 Binary files /dev/null and b/fuzz/corpora/cmp/32634c6d715735d6675c4cc26c452e2577142430 differ diff --git a/fuzz/corpora/cmp/3264766cbe520844cfbc903c92f2b27ca1cf1f06 b/fuzz/corpora/cmp/3264766cbe520844cfbc903c92f2b27ca1cf1f06 new file mode 100644 index 00000000..004ff8de Binary files /dev/null and b/fuzz/corpora/cmp/3264766cbe520844cfbc903c92f2b27ca1cf1f06 differ diff --git a/fuzz/corpora/cmp/32669cad5fe74e3cc7cfa25630ce6d7e42f26de3 b/fuzz/corpora/cmp/32669cad5fe74e3cc7cfa25630ce6d7e42f26de3 new file mode 100644 index 00000000..5abc1383 Binary files /dev/null and b/fuzz/corpora/cmp/32669cad5fe74e3cc7cfa25630ce6d7e42f26de3 differ diff --git a/fuzz/corpora/cmp/326b10e0f491236c760d0cbddcb34911080cb3e2 b/fuzz/corpora/cmp/326b10e0f491236c760d0cbddcb34911080cb3e2 new file mode 100644 index 00000000..8d334c59 Binary files /dev/null and b/fuzz/corpora/cmp/326b10e0f491236c760d0cbddcb34911080cb3e2 differ diff --git a/fuzz/corpora/cmp/327cfcd5cc02df01f0e4a1689fd136b49a12c7ca b/fuzz/corpora/cmp/327cfcd5cc02df01f0e4a1689fd136b49a12c7ca new file mode 100644 index 00000000..adb19459 Binary files /dev/null and b/fuzz/corpora/cmp/327cfcd5cc02df01f0e4a1689fd136b49a12c7ca differ diff --git a/fuzz/corpora/cmp/329ed88fed986f149af223dbdd8ac974815420ba b/fuzz/corpora/cmp/329ed88fed986f149af223dbdd8ac974815420ba new file mode 100644 index 00000000..b8e96d80 Binary files /dev/null and b/fuzz/corpora/cmp/329ed88fed986f149af223dbdd8ac974815420ba differ diff --git a/fuzz/corpora/cmp/32b8a351d2632b6905062ba221b24bc2c7a45e94 b/fuzz/corpora/cmp/32b8a351d2632b6905062ba221b24bc2c7a45e94 new file mode 100644 index 00000000..279f8094 Binary files /dev/null and b/fuzz/corpora/cmp/32b8a351d2632b6905062ba221b24bc2c7a45e94 differ diff --git a/fuzz/corpora/cmp/32ba0017557a6c5c3b65ec00d8dc0ad1e79459b6 b/fuzz/corpora/cmp/32ba0017557a6c5c3b65ec00d8dc0ad1e79459b6 new file mode 100644 index 00000000..eca883f0 Binary files /dev/null and b/fuzz/corpora/cmp/32ba0017557a6c5c3b65ec00d8dc0ad1e79459b6 differ diff --git a/fuzz/corpora/cmp/32be1535be9e466b0733e5e431673bc007be8a5f b/fuzz/corpora/cmp/32be1535be9e466b0733e5e431673bc007be8a5f new file mode 100644 index 00000000..d569df67 Binary files /dev/null and b/fuzz/corpora/cmp/32be1535be9e466b0733e5e431673bc007be8a5f differ diff --git a/fuzz/corpora/cmp/32e9293fa2399ab7b5c995419c1f7975e34744b3 b/fuzz/corpora/cmp/32e9293fa2399ab7b5c995419c1f7975e34744b3 new file mode 100644 index 00000000..b7959d52 Binary files /dev/null and b/fuzz/corpora/cmp/32e9293fa2399ab7b5c995419c1f7975e34744b3 differ diff --git a/fuzz/corpora/cmp/330f9d2c6510a95d8c4813e8e1fa09f962c0635d b/fuzz/corpora/cmp/330f9d2c6510a95d8c4813e8e1fa09f962c0635d new file mode 100644 index 00000000..3040cc0e Binary files /dev/null and b/fuzz/corpora/cmp/330f9d2c6510a95d8c4813e8e1fa09f962c0635d differ diff --git a/fuzz/corpora/cmp/33174eeeefb2bd9a484265fbfa5e66e776299f8d b/fuzz/corpora/cmp/33174eeeefb2bd9a484265fbfa5e66e776299f8d new file mode 100644 index 00000000..ad2f66d6 Binary files /dev/null and b/fuzz/corpora/cmp/33174eeeefb2bd9a484265fbfa5e66e776299f8d differ diff --git a/fuzz/corpora/cmp/331aa6f5d7f40a7f43fc81a0e04123ef7f098344 b/fuzz/corpora/cmp/331aa6f5d7f40a7f43fc81a0e04123ef7f098344 new file mode 100644 index 00000000..f850db1f Binary files /dev/null and b/fuzz/corpora/cmp/331aa6f5d7f40a7f43fc81a0e04123ef7f098344 differ diff --git a/fuzz/corpora/cmp/331cefae32f579d2293b4c7f0f22b07782223039 b/fuzz/corpora/cmp/331cefae32f579d2293b4c7f0f22b07782223039 new file mode 100644 index 00000000..7830230f Binary files /dev/null and b/fuzz/corpora/cmp/331cefae32f579d2293b4c7f0f22b07782223039 differ diff --git a/fuzz/corpora/cmp/332409afd58b0c1377c60ec66705db1009c98ea3 b/fuzz/corpora/cmp/332409afd58b0c1377c60ec66705db1009c98ea3 new file mode 100644 index 00000000..77eb2250 Binary files /dev/null and b/fuzz/corpora/cmp/332409afd58b0c1377c60ec66705db1009c98ea3 differ diff --git a/fuzz/corpora/cmp/3329b7e6af4c9efebfc6743e54f9a07762506276 b/fuzz/corpora/cmp/3329b7e6af4c9efebfc6743e54f9a07762506276 new file mode 100644 index 00000000..467beb9c Binary files /dev/null and b/fuzz/corpora/cmp/3329b7e6af4c9efebfc6743e54f9a07762506276 differ diff --git a/fuzz/corpora/cmp/33526d2ca48c068ff3e28fbbb21b2b8c33364e4e b/fuzz/corpora/cmp/33526d2ca48c068ff3e28fbbb21b2b8c33364e4e new file mode 100644 index 00000000..f48fe489 Binary files /dev/null and b/fuzz/corpora/cmp/33526d2ca48c068ff3e28fbbb21b2b8c33364e4e differ diff --git a/fuzz/corpora/cmp/335434ad1b05cfe6431196f5a9309023f7fe557e b/fuzz/corpora/cmp/335434ad1b05cfe6431196f5a9309023f7fe557e new file mode 100644 index 00000000..35da1e7f Binary files /dev/null and b/fuzz/corpora/cmp/335434ad1b05cfe6431196f5a9309023f7fe557e differ diff --git a/fuzz/corpora/cmp/33633709b28a4ebeb6ced8110148b8c1bfd46d6e b/fuzz/corpora/cmp/33633709b28a4ebeb6ced8110148b8c1bfd46d6e new file mode 100644 index 00000000..7e5447a2 Binary files /dev/null and b/fuzz/corpora/cmp/33633709b28a4ebeb6ced8110148b8c1bfd46d6e differ diff --git a/fuzz/corpora/cmp/336dc569588ef873a0531c675a51c524a92ce236 b/fuzz/corpora/cmp/336dc569588ef873a0531c675a51c524a92ce236 new file mode 100644 index 00000000..921fb380 Binary files /dev/null and b/fuzz/corpora/cmp/336dc569588ef873a0531c675a51c524a92ce236 differ diff --git a/fuzz/corpora/cmp/337431b34be6f5f220a757292ff339ad120b14e9 b/fuzz/corpora/cmp/337431b34be6f5f220a757292ff339ad120b14e9 new file mode 100644 index 00000000..64480657 Binary files /dev/null and b/fuzz/corpora/cmp/337431b34be6f5f220a757292ff339ad120b14e9 differ diff --git a/fuzz/corpora/cmp/338c0df28b6429755db1d0276ca109cfb0fcd850 b/fuzz/corpora/cmp/338c0df28b6429755db1d0276ca109cfb0fcd850 new file mode 100644 index 00000000..feb1c862 Binary files /dev/null and b/fuzz/corpora/cmp/338c0df28b6429755db1d0276ca109cfb0fcd850 differ diff --git a/fuzz/corpora/cmp/33951114a854bc158ed0813d1aa9131737ca5e0c b/fuzz/corpora/cmp/33951114a854bc158ed0813d1aa9131737ca5e0c new file mode 100644 index 00000000..18fc57fc Binary files /dev/null and b/fuzz/corpora/cmp/33951114a854bc158ed0813d1aa9131737ca5e0c differ diff --git a/fuzz/corpora/cmp/33a210e8b95f9c102fe2275a79e6753a7e82c3ea b/fuzz/corpora/cmp/33a210e8b95f9c102fe2275a79e6753a7e82c3ea new file mode 100644 index 00000000..154af52b Binary files /dev/null and b/fuzz/corpora/cmp/33a210e8b95f9c102fe2275a79e6753a7e82c3ea differ diff --git a/fuzz/corpora/cmp/33aaeecb522775567e1cf4d8b230dfc198b4224a b/fuzz/corpora/cmp/33aaeecb522775567e1cf4d8b230dfc198b4224a new file mode 100644 index 00000000..79aaba51 Binary files /dev/null and b/fuzz/corpora/cmp/33aaeecb522775567e1cf4d8b230dfc198b4224a differ diff --git a/fuzz/corpora/cmp/33affea71aa4349af29e4a1bd63fbf49f3aa7687 b/fuzz/corpora/cmp/33affea71aa4349af29e4a1bd63fbf49f3aa7687 new file mode 100644 index 00000000..453e541c Binary files /dev/null and b/fuzz/corpora/cmp/33affea71aa4349af29e4a1bd63fbf49f3aa7687 differ diff --git a/fuzz/corpora/cmp/33b2bf9fd70fe70829911ff8684df7495286da51 b/fuzz/corpora/cmp/33b2bf9fd70fe70829911ff8684df7495286da51 new file mode 100644 index 00000000..41a02c1e Binary files /dev/null and b/fuzz/corpora/cmp/33b2bf9fd70fe70829911ff8684df7495286da51 differ diff --git a/fuzz/corpora/cmp/33b9a3ff1e12a4574dfe5e7ee4564f2946af9ac8 b/fuzz/corpora/cmp/33b9a3ff1e12a4574dfe5e7ee4564f2946af9ac8 new file mode 100644 index 00000000..e5941e44 Binary files /dev/null and b/fuzz/corpora/cmp/33b9a3ff1e12a4574dfe5e7ee4564f2946af9ac8 differ diff --git a/fuzz/corpora/cmp/33c2c1b121d09ac8f12a967f0f67580fc88860d0 b/fuzz/corpora/cmp/33c2c1b121d09ac8f12a967f0f67580fc88860d0 new file mode 100644 index 00000000..4e54e114 Binary files /dev/null and b/fuzz/corpora/cmp/33c2c1b121d09ac8f12a967f0f67580fc88860d0 differ diff --git a/fuzz/corpora/cmp/33d27787e370174a89df7be27e76ba2dced2f60b b/fuzz/corpora/cmp/33d27787e370174a89df7be27e76ba2dced2f60b new file mode 100644 index 00000000..df6393b0 Binary files /dev/null and b/fuzz/corpora/cmp/33d27787e370174a89df7be27e76ba2dced2f60b differ diff --git a/fuzz/corpora/cmp/33df6b8434e5235e57a0c952716d38d452a4d914 b/fuzz/corpora/cmp/33df6b8434e5235e57a0c952716d38d452a4d914 new file mode 100644 index 00000000..93576213 Binary files /dev/null and b/fuzz/corpora/cmp/33df6b8434e5235e57a0c952716d38d452a4d914 differ diff --git a/fuzz/corpora/cmp/33e1828f0214c20b0bb0be3eff848cb955dc001f b/fuzz/corpora/cmp/33e1828f0214c20b0bb0be3eff848cb955dc001f new file mode 100644 index 00000000..3bc2f8b4 Binary files /dev/null and b/fuzz/corpora/cmp/33e1828f0214c20b0bb0be3eff848cb955dc001f differ diff --git a/fuzz/corpora/cmp/33f283dfd960b240280d718f1a70da30556709a2 b/fuzz/corpora/cmp/33f283dfd960b240280d718f1a70da30556709a2 new file mode 100644 index 00000000..a7f7bce2 Binary files /dev/null and b/fuzz/corpora/cmp/33f283dfd960b240280d718f1a70da30556709a2 differ diff --git a/fuzz/corpora/cmp/340f888124057b347c404cceafd1330b88a98e0c b/fuzz/corpora/cmp/340f888124057b347c404cceafd1330b88a98e0c new file mode 100644 index 00000000..7e001f3b Binary files /dev/null and b/fuzz/corpora/cmp/340f888124057b347c404cceafd1330b88a98e0c differ diff --git a/fuzz/corpora/cmp/3426735a9e259bc9fb2b7401a890f11657eb9294 b/fuzz/corpora/cmp/3426735a9e259bc9fb2b7401a890f11657eb9294 new file mode 100644 index 00000000..7ad39c95 Binary files /dev/null and b/fuzz/corpora/cmp/3426735a9e259bc9fb2b7401a890f11657eb9294 differ diff --git a/fuzz/corpora/cmp/3439329f9cd96934043ed6ab46babe2baf055c97 b/fuzz/corpora/cmp/3439329f9cd96934043ed6ab46babe2baf055c97 new file mode 100644 index 00000000..c9e3e6cd Binary files /dev/null and b/fuzz/corpora/cmp/3439329f9cd96934043ed6ab46babe2baf055c97 differ diff --git a/fuzz/corpora/cmp/343db6d3b2aef1ea69bb7c356385f10b50e68240 b/fuzz/corpora/cmp/343db6d3b2aef1ea69bb7c356385f10b50e68240 new file mode 100644 index 00000000..8c98f972 Binary files /dev/null and b/fuzz/corpora/cmp/343db6d3b2aef1ea69bb7c356385f10b50e68240 differ diff --git a/fuzz/corpora/cmp/34530f59058c970fda88bab9109c6e81d6fb64c4 b/fuzz/corpora/cmp/34530f59058c970fda88bab9109c6e81d6fb64c4 new file mode 100644 index 00000000..491e8113 Binary files /dev/null and b/fuzz/corpora/cmp/34530f59058c970fda88bab9109c6e81d6fb64c4 differ diff --git a/fuzz/corpora/cmp/34606ac89ed05e4458938430ae27cf45a9413ebd b/fuzz/corpora/cmp/34606ac89ed05e4458938430ae27cf45a9413ebd new file mode 100644 index 00000000..82708354 --- /dev/null +++ b/fuzz/corpora/cmp/34606ac89ed05e4458938430ae27cf45a9413ebd @@ -0,0 +1 @@ +00€ \ No newline at end of file diff --git a/fuzz/corpora/cmp/34670fe8b6f5358b343a24b2900f74510eb77d46 b/fuzz/corpora/cmp/34670fe8b6f5358b343a24b2900f74510eb77d46 new file mode 100644 index 00000000..b0b993af Binary files /dev/null and b/fuzz/corpora/cmp/34670fe8b6f5358b343a24b2900f74510eb77d46 differ diff --git a/fuzz/corpora/cmp/347a5efe01b8f8c73637b3dfdf1c6f33eee9baf2 b/fuzz/corpora/cmp/347a5efe01b8f8c73637b3dfdf1c6f33eee9baf2 new file mode 100644 index 00000000..076f2994 Binary files /dev/null and b/fuzz/corpora/cmp/347a5efe01b8f8c73637b3dfdf1c6f33eee9baf2 differ diff --git a/fuzz/corpora/cmp/3489d362555f94467694a40ed6120972638a5ad1 b/fuzz/corpora/cmp/3489d362555f94467694a40ed6120972638a5ad1 new file mode 100644 index 00000000..5638548e Binary files /dev/null and b/fuzz/corpora/cmp/3489d362555f94467694a40ed6120972638a5ad1 differ diff --git a/fuzz/corpora/cmp/348db8fefcdb99e6d205d9f0e2e066e8e17dc85b b/fuzz/corpora/cmp/348db8fefcdb99e6d205d9f0e2e066e8e17dc85b new file mode 100644 index 00000000..b4963b1e Binary files /dev/null and b/fuzz/corpora/cmp/348db8fefcdb99e6d205d9f0e2e066e8e17dc85b differ diff --git a/fuzz/corpora/cmp/3496f49a563a2af9bb277239c767617a0fd79771 b/fuzz/corpora/cmp/3496f49a563a2af9bb277239c767617a0fd79771 new file mode 100644 index 00000000..b7c49e40 Binary files /dev/null and b/fuzz/corpora/cmp/3496f49a563a2af9bb277239c767617a0fd79771 differ diff --git a/fuzz/corpora/cmp/349c6e832f9ead974bf460c8ca014ac807e6ab86 b/fuzz/corpora/cmp/349c6e832f9ead974bf460c8ca014ac807e6ab86 new file mode 100644 index 00000000..d05d00da Binary files /dev/null and b/fuzz/corpora/cmp/349c6e832f9ead974bf460c8ca014ac807e6ab86 differ diff --git a/fuzz/corpora/cmp/349f6fc313858fc961a986ff7e5c5343f85935c8 b/fuzz/corpora/cmp/349f6fc313858fc961a986ff7e5c5343f85935c8 new file mode 100644 index 00000000..ac16f1a6 Binary files /dev/null and b/fuzz/corpora/cmp/349f6fc313858fc961a986ff7e5c5343f85935c8 differ diff --git a/fuzz/corpora/cmp/34a4c2e54d68767ef7cfa779849a42b0ef13f1a7 b/fuzz/corpora/cmp/34a4c2e54d68767ef7cfa779849a42b0ef13f1a7 new file mode 100644 index 00000000..1b291883 Binary files /dev/null and b/fuzz/corpora/cmp/34a4c2e54d68767ef7cfa779849a42b0ef13f1a7 differ diff --git a/fuzz/corpora/cmp/34b83dcdaa70a66f1a89dbf88266967cf4c8a71f b/fuzz/corpora/cmp/34b83dcdaa70a66f1a89dbf88266967cf4c8a71f new file mode 100644 index 00000000..c2607105 Binary files /dev/null and b/fuzz/corpora/cmp/34b83dcdaa70a66f1a89dbf88266967cf4c8a71f differ diff --git a/fuzz/corpora/cmp/34c2873ba52a8c1ab1183ee8d30e48875e951d67 b/fuzz/corpora/cmp/34c2873ba52a8c1ab1183ee8d30e48875e951d67 new file mode 100644 index 00000000..dc385c25 Binary files /dev/null and b/fuzz/corpora/cmp/34c2873ba52a8c1ab1183ee8d30e48875e951d67 differ diff --git a/fuzz/corpora/cmp/34c815e14737d72cf2b75a773f607b3cd1916240 b/fuzz/corpora/cmp/34c815e14737d72cf2b75a773f607b3cd1916240 new file mode 100644 index 00000000..09428f17 Binary files /dev/null and b/fuzz/corpora/cmp/34c815e14737d72cf2b75a773f607b3cd1916240 differ diff --git a/fuzz/corpora/cmp/34de577605ff3b0733d69c75d4f5b577b0f40331 b/fuzz/corpora/cmp/34de577605ff3b0733d69c75d4f5b577b0f40331 new file mode 100644 index 00000000..1d75afe0 Binary files /dev/null and b/fuzz/corpora/cmp/34de577605ff3b0733d69c75d4f5b577b0f40331 differ diff --git a/fuzz/corpora/cmp/34e4861a2084330f98897c7837067f20dd8c4dc7 b/fuzz/corpora/cmp/34e4861a2084330f98897c7837067f20dd8c4dc7 new file mode 100644 index 00000000..b2eea02f Binary files /dev/null and b/fuzz/corpora/cmp/34e4861a2084330f98897c7837067f20dd8c4dc7 differ diff --git a/fuzz/corpora/cmp/34f2c0c529782dc7804c65f00d7d37c8ae3f7c17 b/fuzz/corpora/cmp/34f2c0c529782dc7804c65f00d7d37c8ae3f7c17 new file mode 100644 index 00000000..bf437ab8 --- /dev/null +++ b/fuzz/corpora/cmp/34f2c0c529782dc7804c65f00d7d37c8ae3f7c17 @@ -0,0 +1 @@ +0¥ \ No newline at end of file diff --git a/fuzz/corpora/cmp/3532a4cb0d50c7107fe175f1f8a1823e90abf333 b/fuzz/corpora/cmp/3532a4cb0d50c7107fe175f1f8a1823e90abf333 new file mode 100644 index 00000000..4d9e180a Binary files /dev/null and b/fuzz/corpora/cmp/3532a4cb0d50c7107fe175f1f8a1823e90abf333 differ diff --git a/fuzz/corpora/cmp/35393ae2e2e1f4bb26337c329556bf90f140042e b/fuzz/corpora/cmp/35393ae2e2e1f4bb26337c329556bf90f140042e new file mode 100644 index 00000000..54fc15c2 Binary files /dev/null and b/fuzz/corpora/cmp/35393ae2e2e1f4bb26337c329556bf90f140042e differ diff --git a/fuzz/corpora/cmp/353a6dfceb2156d371c4def59d50cfeb13e5ee70 b/fuzz/corpora/cmp/353a6dfceb2156d371c4def59d50cfeb13e5ee70 new file mode 100644 index 00000000..4fc883b4 Binary files /dev/null and b/fuzz/corpora/cmp/353a6dfceb2156d371c4def59d50cfeb13e5ee70 differ diff --git a/fuzz/corpora/cmp/3580ca5128b14e410fef8f26f2f906854e4f78d8 b/fuzz/corpora/cmp/3580ca5128b14e410fef8f26f2f906854e4f78d8 new file mode 100644 index 00000000..ce6f3b47 Binary files /dev/null and b/fuzz/corpora/cmp/3580ca5128b14e410fef8f26f2f906854e4f78d8 differ diff --git a/fuzz/corpora/cmp/3581a02fa421cc7c19dd55eda38a1bf6c4852b68 b/fuzz/corpora/cmp/3581a02fa421cc7c19dd55eda38a1bf6c4852b68 new file mode 100644 index 00000000..4b96882f Binary files /dev/null and b/fuzz/corpora/cmp/3581a02fa421cc7c19dd55eda38a1bf6c4852b68 differ diff --git a/fuzz/corpora/cmp/35a5f237dd1fbed681387a16eb03e4dc31d21802 b/fuzz/corpora/cmp/35a5f237dd1fbed681387a16eb03e4dc31d21802 new file mode 100644 index 00000000..6ffd20e7 Binary files /dev/null and b/fuzz/corpora/cmp/35a5f237dd1fbed681387a16eb03e4dc31d21802 differ diff --git a/fuzz/corpora/cmp/35ba0110d95c38be2aa83dc7a76e756f21563e38 b/fuzz/corpora/cmp/35ba0110d95c38be2aa83dc7a76e756f21563e38 new file mode 100644 index 00000000..4862b1e4 Binary files /dev/null and b/fuzz/corpora/cmp/35ba0110d95c38be2aa83dc7a76e756f21563e38 differ diff --git a/fuzz/corpora/cmp/35d83ba66bd9edf6809651b3b5d13578926f56ac b/fuzz/corpora/cmp/35d83ba66bd9edf6809651b3b5d13578926f56ac new file mode 100644 index 00000000..2b902d54 Binary files /dev/null and b/fuzz/corpora/cmp/35d83ba66bd9edf6809651b3b5d13578926f56ac differ diff --git a/fuzz/corpora/cmp/35deed37823c94529608d7e2656140d92a588b1a b/fuzz/corpora/cmp/35deed37823c94529608d7e2656140d92a588b1a new file mode 100644 index 00000000..3af5a5d0 Binary files /dev/null and b/fuzz/corpora/cmp/35deed37823c94529608d7e2656140d92a588b1a differ diff --git a/fuzz/corpora/cmp/35e1bc18bd5a02eba4db87bcf73bbadc0e0d490e b/fuzz/corpora/cmp/35e1bc18bd5a02eba4db87bcf73bbadc0e0d490e new file mode 100644 index 00000000..a264c59c Binary files /dev/null and b/fuzz/corpora/cmp/35e1bc18bd5a02eba4db87bcf73bbadc0e0d490e differ diff --git a/fuzz/corpora/cmp/3601e1eb3cedb5d7c48f22ff45ae31b3ce5677a4 b/fuzz/corpora/cmp/3601e1eb3cedb5d7c48f22ff45ae31b3ce5677a4 new file mode 100644 index 00000000..503de349 Binary files /dev/null and b/fuzz/corpora/cmp/3601e1eb3cedb5d7c48f22ff45ae31b3ce5677a4 differ diff --git a/fuzz/corpora/cmp/36071d6036b95f96c1226ecab28dcddbb5537057 b/fuzz/corpora/cmp/36071d6036b95f96c1226ecab28dcddbb5537057 new file mode 100644 index 00000000..586bba8a Binary files /dev/null and b/fuzz/corpora/cmp/36071d6036b95f96c1226ecab28dcddbb5537057 differ diff --git a/fuzz/corpora/cmp/361702c090403f6eb26b158a8852f731584e4432 b/fuzz/corpora/cmp/361702c090403f6eb26b158a8852f731584e4432 new file mode 100644 index 00000000..692e3edd Binary files /dev/null and b/fuzz/corpora/cmp/361702c090403f6eb26b158a8852f731584e4432 differ diff --git a/fuzz/corpora/cmp/361b3305679f5bc21c64eb2ebea3b330a108665b b/fuzz/corpora/cmp/361b3305679f5bc21c64eb2ebea3b330a108665b new file mode 100644 index 00000000..5da902df Binary files /dev/null and b/fuzz/corpora/cmp/361b3305679f5bc21c64eb2ebea3b330a108665b differ diff --git a/fuzz/corpora/cmp/3626956f776efb8d65fa8b202b94cd64195dd42b b/fuzz/corpora/cmp/3626956f776efb8d65fa8b202b94cd64195dd42b new file mode 100644 index 00000000..1fd57561 Binary files /dev/null and b/fuzz/corpora/cmp/3626956f776efb8d65fa8b202b94cd64195dd42b differ diff --git a/fuzz/corpora/cmp/36276fd395f87445202752b50078117b8ec379a4 b/fuzz/corpora/cmp/36276fd395f87445202752b50078117b8ec379a4 new file mode 100644 index 00000000..ac35db53 Binary files /dev/null and b/fuzz/corpora/cmp/36276fd395f87445202752b50078117b8ec379a4 differ diff --git a/fuzz/corpora/cmp/3629bd67cc8cc0d11603983d8785dc72af78c442 b/fuzz/corpora/cmp/3629bd67cc8cc0d11603983d8785dc72af78c442 new file mode 100644 index 00000000..84d99f3f Binary files /dev/null and b/fuzz/corpora/cmp/3629bd67cc8cc0d11603983d8785dc72af78c442 differ diff --git a/fuzz/corpora/cmp/362ddcad0d2970f3ca67f00fcbdec8cf17f7cede b/fuzz/corpora/cmp/362ddcad0d2970f3ca67f00fcbdec8cf17f7cede new file mode 100644 index 00000000..79cea809 Binary files /dev/null and b/fuzz/corpora/cmp/362ddcad0d2970f3ca67f00fcbdec8cf17f7cede differ diff --git a/fuzz/corpora/cmp/363cff3f3ac2d84fa003bcdf195b9442c2ea7723 b/fuzz/corpora/cmp/363cff3f3ac2d84fa003bcdf195b9442c2ea7723 new file mode 100644 index 00000000..d93b01fc Binary files /dev/null and b/fuzz/corpora/cmp/363cff3f3ac2d84fa003bcdf195b9442c2ea7723 differ diff --git a/fuzz/corpora/cmp/36464cd505be29d9e84307794cc34ff27e08444d b/fuzz/corpora/cmp/36464cd505be29d9e84307794cc34ff27e08444d new file mode 100644 index 00000000..4be31b08 Binary files /dev/null and b/fuzz/corpora/cmp/36464cd505be29d9e84307794cc34ff27e08444d differ diff --git a/fuzz/corpora/cmp/364fe791c3ad27c07ad75a2c6f90e6fc919d3ef2 b/fuzz/corpora/cmp/364fe791c3ad27c07ad75a2c6f90e6fc919d3ef2 new file mode 100644 index 00000000..e2966f73 Binary files /dev/null and b/fuzz/corpora/cmp/364fe791c3ad27c07ad75a2c6f90e6fc919d3ef2 differ diff --git a/fuzz/corpora/cmp/365876f6b33701dffb236837d3c3f604e1a22d15 b/fuzz/corpora/cmp/365876f6b33701dffb236837d3c3f604e1a22d15 new file mode 100644 index 00000000..61679f26 Binary files /dev/null and b/fuzz/corpora/cmp/365876f6b33701dffb236837d3c3f604e1a22d15 differ diff --git a/fuzz/corpora/cmp/3659a5a3a3328dcf03741779b2e9fabdcba8196a b/fuzz/corpora/cmp/3659a5a3a3328dcf03741779b2e9fabdcba8196a new file mode 100644 index 00000000..5e306158 Binary files /dev/null and b/fuzz/corpora/cmp/3659a5a3a3328dcf03741779b2e9fabdcba8196a differ diff --git a/fuzz/corpora/cmp/3667ebd82dede5a63115bda01f1fc55638917455 b/fuzz/corpora/cmp/3667ebd82dede5a63115bda01f1fc55638917455 new file mode 100644 index 00000000..87a64e87 Binary files /dev/null and b/fuzz/corpora/cmp/3667ebd82dede5a63115bda01f1fc55638917455 differ diff --git a/fuzz/corpora/cmp/367416092495d03591f3b69a4688ded9d32afadd b/fuzz/corpora/cmp/367416092495d03591f3b69a4688ded9d32afadd new file mode 100644 index 00000000..35a8f97e Binary files /dev/null and b/fuzz/corpora/cmp/367416092495d03591f3b69a4688ded9d32afadd differ diff --git a/fuzz/corpora/cmp/36782a235a0c992a2b006df36b547293534a08af b/fuzz/corpora/cmp/36782a235a0c992a2b006df36b547293534a08af new file mode 100644 index 00000000..2986624d Binary files /dev/null and b/fuzz/corpora/cmp/36782a235a0c992a2b006df36b547293534a08af differ diff --git a/fuzz/corpora/cmp/368148cfec0267a35c18d7dbd2fc89de5840cdc0 b/fuzz/corpora/cmp/368148cfec0267a35c18d7dbd2fc89de5840cdc0 new file mode 100644 index 00000000..f1f70e37 Binary files /dev/null and b/fuzz/corpora/cmp/368148cfec0267a35c18d7dbd2fc89de5840cdc0 differ diff --git a/fuzz/corpora/cmp/368ba5682879abe1c20281e7cce349311f0fb20d b/fuzz/corpora/cmp/368ba5682879abe1c20281e7cce349311f0fb20d new file mode 100644 index 00000000..e9547714 Binary files /dev/null and b/fuzz/corpora/cmp/368ba5682879abe1c20281e7cce349311f0fb20d differ diff --git a/fuzz/corpora/cmp/36adb613816395276c9d7540aebcbf28901f191d b/fuzz/corpora/cmp/36adb613816395276c9d7540aebcbf28901f191d new file mode 100644 index 00000000..01598aef Binary files /dev/null and b/fuzz/corpora/cmp/36adb613816395276c9d7540aebcbf28901f191d differ diff --git a/fuzz/corpora/cmp/36d063dd689d96cd70566f7e1d7f86d719a8b17c b/fuzz/corpora/cmp/36d063dd689d96cd70566f7e1d7f86d719a8b17c new file mode 100644 index 00000000..6a6f7f42 Binary files /dev/null and b/fuzz/corpora/cmp/36d063dd689d96cd70566f7e1d7f86d719a8b17c differ diff --git a/fuzz/corpora/cmp/36d4446ed9a1ca58f1fded9aeb81b35cce8b3030 b/fuzz/corpora/cmp/36d4446ed9a1ca58f1fded9aeb81b35cce8b3030 new file mode 100644 index 00000000..191fb237 Binary files /dev/null and b/fuzz/corpora/cmp/36d4446ed9a1ca58f1fded9aeb81b35cce8b3030 differ diff --git a/fuzz/corpora/cmp/36d8c2a9a2949891aec10a138b6f206358b99a0e b/fuzz/corpora/cmp/36d8c2a9a2949891aec10a138b6f206358b99a0e new file mode 100644 index 00000000..f5cefe93 Binary files /dev/null and b/fuzz/corpora/cmp/36d8c2a9a2949891aec10a138b6f206358b99a0e differ diff --git a/fuzz/corpora/cmp/36dbf8ce08ed014eb9e9cea283e578c3ec2c8127 b/fuzz/corpora/cmp/36dbf8ce08ed014eb9e9cea283e578c3ec2c8127 new file mode 100644 index 00000000..69649522 Binary files /dev/null and b/fuzz/corpora/cmp/36dbf8ce08ed014eb9e9cea283e578c3ec2c8127 differ diff --git a/fuzz/corpora/cmp/36ebcdbf73d01872092d24c7012f35096b2115b1 b/fuzz/corpora/cmp/36ebcdbf73d01872092d24c7012f35096b2115b1 new file mode 100644 index 00000000..e5e5ba93 Binary files /dev/null and b/fuzz/corpora/cmp/36ebcdbf73d01872092d24c7012f35096b2115b1 differ diff --git a/fuzz/corpora/cmp/36ec9e76def8a06cf6fb0d521c4c83463e9f42ff b/fuzz/corpora/cmp/36ec9e76def8a06cf6fb0d521c4c83463e9f42ff new file mode 100644 index 00000000..a6e43d89 Binary files /dev/null and b/fuzz/corpora/cmp/36ec9e76def8a06cf6fb0d521c4c83463e9f42ff differ diff --git a/fuzz/corpora/cmp/370173e47ba4444bc26313b75b15ff308e6ab7e0 b/fuzz/corpora/cmp/370173e47ba4444bc26313b75b15ff308e6ab7e0 new file mode 100644 index 00000000..c0346da0 Binary files /dev/null and b/fuzz/corpora/cmp/370173e47ba4444bc26313b75b15ff308e6ab7e0 differ diff --git a/fuzz/corpora/cmp/3710b83e5e84a70ae600641fcf35790cfee267ba b/fuzz/corpora/cmp/3710b83e5e84a70ae600641fcf35790cfee267ba new file mode 100644 index 00000000..d2d429d2 Binary files /dev/null and b/fuzz/corpora/cmp/3710b83e5e84a70ae600641fcf35790cfee267ba differ diff --git a/fuzz/corpora/cmp/3714ecad803d370d5ec2c7c9fc14168ea4d05d3f b/fuzz/corpora/cmp/3714ecad803d370d5ec2c7c9fc14168ea4d05d3f new file mode 100644 index 00000000..ff1463fc Binary files /dev/null and b/fuzz/corpora/cmp/3714ecad803d370d5ec2c7c9fc14168ea4d05d3f differ diff --git a/fuzz/corpora/cmp/372f4572fb522f29a708186ddd495dd25be55d5b b/fuzz/corpora/cmp/372f4572fb522f29a708186ddd495dd25be55d5b new file mode 100644 index 00000000..08f4fe43 Binary files /dev/null and b/fuzz/corpora/cmp/372f4572fb522f29a708186ddd495dd25be55d5b differ diff --git a/fuzz/corpora/cmp/3739686fd498b6c0c773ff5286b53d6fd512721d b/fuzz/corpora/cmp/3739686fd498b6c0c773ff5286b53d6fd512721d new file mode 100644 index 00000000..18a78e9a Binary files /dev/null and b/fuzz/corpora/cmp/3739686fd498b6c0c773ff5286b53d6fd512721d differ diff --git a/fuzz/corpora/cmp/373af78d3402fde4812adbad12484ad98351d318 b/fuzz/corpora/cmp/373af78d3402fde4812adbad12484ad98351d318 new file mode 100644 index 00000000..b183466f Binary files /dev/null and b/fuzz/corpora/cmp/373af78d3402fde4812adbad12484ad98351d318 differ diff --git a/fuzz/corpora/cmp/375ae5757c4fd1ecc5e4c6ad2f5fffb4a8e441b8 b/fuzz/corpora/cmp/375ae5757c4fd1ecc5e4c6ad2f5fffb4a8e441b8 new file mode 100644 index 00000000..88cc2f9d Binary files /dev/null and b/fuzz/corpora/cmp/375ae5757c4fd1ecc5e4c6ad2f5fffb4a8e441b8 differ diff --git a/fuzz/corpora/cmp/375da783e9358b72d6bdc7fe6b3ac0489e7afc73 b/fuzz/corpora/cmp/375da783e9358b72d6bdc7fe6b3ac0489e7afc73 new file mode 100644 index 00000000..9f9e5185 Binary files /dev/null and b/fuzz/corpora/cmp/375da783e9358b72d6bdc7fe6b3ac0489e7afc73 differ diff --git a/fuzz/corpora/cmp/375fb14a476caae90456bbae514094f2e516d500 b/fuzz/corpora/cmp/375fb14a476caae90456bbae514094f2e516d500 new file mode 100644 index 00000000..6d368a55 Binary files /dev/null and b/fuzz/corpora/cmp/375fb14a476caae90456bbae514094f2e516d500 differ diff --git a/fuzz/corpora/cmp/3760dc43c87c9787e1310dded3ccb5947cb04cde b/fuzz/corpora/cmp/3760dc43c87c9787e1310dded3ccb5947cb04cde new file mode 100644 index 00000000..16275384 Binary files /dev/null and b/fuzz/corpora/cmp/3760dc43c87c9787e1310dded3ccb5947cb04cde differ diff --git a/fuzz/corpora/cmp/3762826f430d465dc2387fedd989cc17bad0907a b/fuzz/corpora/cmp/3762826f430d465dc2387fedd989cc17bad0907a new file mode 100644 index 00000000..d0e2df60 Binary files /dev/null and b/fuzz/corpora/cmp/3762826f430d465dc2387fedd989cc17bad0907a differ diff --git a/fuzz/corpora/cmp/37637180e366f8f8e7cf1dacfcffb8053cdc206a b/fuzz/corpora/cmp/37637180e366f8f8e7cf1dacfcffb8053cdc206a new file mode 100644 index 00000000..9845f583 --- /dev/null +++ b/fuzz/corpora/cmp/37637180e366f8f8e7cf1dacfcffb8053cdc206a @@ -0,0 +1 @@ +ÿ# diff --git a/fuzz/corpora/cmp/37641b3e6ec3e6664fe4808a99a2a4e0aae9654e b/fuzz/corpora/cmp/37641b3e6ec3e6664fe4808a99a2a4e0aae9654e new file mode 100644 index 00000000..7ebdccce --- /dev/null +++ b/fuzz/corpora/cmp/37641b3e6ec3e6664fe4808a99a2a4e0aae9654e @@ -0,0 +1 @@ +/€í€/€/€í€/€/€í€/€/€í€/€/€0/ \ No newline at end of file diff --git a/fuzz/corpora/cmp/377e20d5b548711110ade1c2effc474cb60d225e b/fuzz/corpora/cmp/377e20d5b548711110ade1c2effc474cb60d225e new file mode 100644 index 00000000..008aa2ce Binary files /dev/null and b/fuzz/corpora/cmp/377e20d5b548711110ade1c2effc474cb60d225e differ diff --git a/fuzz/corpora/cmp/377f0d5d289c6649c8aaa5b3c184df947ea42efe b/fuzz/corpora/cmp/377f0d5d289c6649c8aaa5b3c184df947ea42efe new file mode 100644 index 00000000..afd32361 Binary files /dev/null and b/fuzz/corpora/cmp/377f0d5d289c6649c8aaa5b3c184df947ea42efe differ diff --git a/fuzz/corpora/cmp/37831c79cdd6ce5b456480c915d6d0859cf432f0 b/fuzz/corpora/cmp/37831c79cdd6ce5b456480c915d6d0859cf432f0 new file mode 100644 index 00000000..af265eff Binary files /dev/null and b/fuzz/corpora/cmp/37831c79cdd6ce5b456480c915d6d0859cf432f0 differ diff --git a/fuzz/corpora/cmp/37870530e761223c586d4f8392e09f1f2a020cfb b/fuzz/corpora/cmp/37870530e761223c586d4f8392e09f1f2a020cfb new file mode 100644 index 00000000..93702bef Binary files /dev/null and b/fuzz/corpora/cmp/37870530e761223c586d4f8392e09f1f2a020cfb differ diff --git a/fuzz/corpora/cmp/37887be3efbef608b652f0d5404709ebd3bf4f26 b/fuzz/corpora/cmp/37887be3efbef608b652f0d5404709ebd3bf4f26 new file mode 100644 index 00000000..ab5e9e68 Binary files /dev/null and b/fuzz/corpora/cmp/37887be3efbef608b652f0d5404709ebd3bf4f26 differ diff --git a/fuzz/corpora/cmp/378ee97d6b51507f7758eedbb56d13a34e17ea40 b/fuzz/corpora/cmp/378ee97d6b51507f7758eedbb56d13a34e17ea40 new file mode 100644 index 00000000..6dd8b97d Binary files /dev/null and b/fuzz/corpora/cmp/378ee97d6b51507f7758eedbb56d13a34e17ea40 differ diff --git a/fuzz/corpora/cmp/37bc720fb8886a5baeaf1c67bf7f70cbbf167924 b/fuzz/corpora/cmp/37bc720fb8886a5baeaf1c67bf7f70cbbf167924 new file mode 100644 index 00000000..0f7181c1 Binary files /dev/null and b/fuzz/corpora/cmp/37bc720fb8886a5baeaf1c67bf7f70cbbf167924 differ diff --git a/fuzz/corpora/cmp/37c051690b570184e1bfb861ab68bbc95f2ceaae b/fuzz/corpora/cmp/37c051690b570184e1bfb861ab68bbc95f2ceaae new file mode 100644 index 00000000..3749f27d Binary files /dev/null and b/fuzz/corpora/cmp/37c051690b570184e1bfb861ab68bbc95f2ceaae differ diff --git a/fuzz/corpora/cmp/37c5b48fd9998f751e889e8ace50eac0811d6975 b/fuzz/corpora/cmp/37c5b48fd9998f751e889e8ace50eac0811d6975 new file mode 100644 index 00000000..423399c4 Binary files /dev/null and b/fuzz/corpora/cmp/37c5b48fd9998f751e889e8ace50eac0811d6975 differ diff --git a/fuzz/corpora/cmp/37c7f0d932e571e715f15f34d10d94312424ac50 b/fuzz/corpora/cmp/37c7f0d932e571e715f15f34d10d94312424ac50 new file mode 100644 index 00000000..c10094bb Binary files /dev/null and b/fuzz/corpora/cmp/37c7f0d932e571e715f15f34d10d94312424ac50 differ diff --git a/fuzz/corpora/cmp/37f3fe3143f2539e6e52c4b27eb019ae2592cef2 b/fuzz/corpora/cmp/37f3fe3143f2539e6e52c4b27eb019ae2592cef2 new file mode 100644 index 00000000..2fed4b69 Binary files /dev/null and b/fuzz/corpora/cmp/37f3fe3143f2539e6e52c4b27eb019ae2592cef2 differ diff --git a/fuzz/corpora/cmp/380ace4aaa3203f91e70991ceee96786a4ac8f75 b/fuzz/corpora/cmp/380ace4aaa3203f91e70991ceee96786a4ac8f75 new file mode 100644 index 00000000..fa3b5f90 Binary files /dev/null and b/fuzz/corpora/cmp/380ace4aaa3203f91e70991ceee96786a4ac8f75 differ diff --git a/fuzz/corpora/cmp/3817c28cd0b2ba52fddb53d728a67eafeb44a6e6 b/fuzz/corpora/cmp/3817c28cd0b2ba52fddb53d728a67eafeb44a6e6 new file mode 100644 index 00000000..28fccec0 Binary files /dev/null and b/fuzz/corpora/cmp/3817c28cd0b2ba52fddb53d728a67eafeb44a6e6 differ diff --git a/fuzz/corpora/cmp/382c303bef00e6266054c6f940f33de8cacc9d64 b/fuzz/corpora/cmp/382c303bef00e6266054c6f940f33de8cacc9d64 new file mode 100644 index 00000000..d5a8c50b Binary files /dev/null and b/fuzz/corpora/cmp/382c303bef00e6266054c6f940f33de8cacc9d64 differ diff --git a/fuzz/corpora/cmp/384e36e1a0f15cf10751e1f91f60c9939146e8ca b/fuzz/corpora/cmp/384e36e1a0f15cf10751e1f91f60c9939146e8ca new file mode 100644 index 00000000..fe54d22b Binary files /dev/null and b/fuzz/corpora/cmp/384e36e1a0f15cf10751e1f91f60c9939146e8ca differ diff --git a/fuzz/corpora/cmp/38659aa7165272ab2cb300a73f37a9fe3cffc0ea b/fuzz/corpora/cmp/38659aa7165272ab2cb300a73f37a9fe3cffc0ea new file mode 100644 index 00000000..718c7e87 Binary files /dev/null and b/fuzz/corpora/cmp/38659aa7165272ab2cb300a73f37a9fe3cffc0ea differ diff --git a/fuzz/corpora/cmp/386983ab65a2498ba6ca068a433c2ae822b29dc7 b/fuzz/corpora/cmp/386983ab65a2498ba6ca068a433c2ae822b29dc7 new file mode 100644 index 00000000..aebdf06c Binary files /dev/null and b/fuzz/corpora/cmp/386983ab65a2498ba6ca068a433c2ae822b29dc7 differ diff --git a/fuzz/corpora/cmp/387e8b92b4e20e340549a6e1ff9e0338bad8dd46 b/fuzz/corpora/cmp/387e8b92b4e20e340549a6e1ff9e0338bad8dd46 new file mode 100644 index 00000000..ac3ed870 Binary files /dev/null and b/fuzz/corpora/cmp/387e8b92b4e20e340549a6e1ff9e0338bad8dd46 differ diff --git a/fuzz/corpora/cmp/387fbead87f30b3cb54a1c31b7b9af6fbaf0ab98 b/fuzz/corpora/cmp/387fbead87f30b3cb54a1c31b7b9af6fbaf0ab98 new file mode 100644 index 00000000..0a71e0f9 Binary files /dev/null and b/fuzz/corpora/cmp/387fbead87f30b3cb54a1c31b7b9af6fbaf0ab98 differ diff --git a/fuzz/corpora/cmp/388d1adcebf401041020e785d4dd372616fa8d62 b/fuzz/corpora/cmp/388d1adcebf401041020e785d4dd372616fa8d62 new file mode 100644 index 00000000..dbfb101b Binary files /dev/null and b/fuzz/corpora/cmp/388d1adcebf401041020e785d4dd372616fa8d62 differ diff --git a/fuzz/corpora/cmp/388ffc02acf205d417d6dacdcbc3eaacbe6f71e9 b/fuzz/corpora/cmp/388ffc02acf205d417d6dacdcbc3eaacbe6f71e9 new file mode 100644 index 00000000..a867390e Binary files /dev/null and b/fuzz/corpora/cmp/388ffc02acf205d417d6dacdcbc3eaacbe6f71e9 differ diff --git a/fuzz/corpora/cmp/3891378b9229b1c9bb3bb770a83abb350b50812f b/fuzz/corpora/cmp/3891378b9229b1c9bb3bb770a83abb350b50812f new file mode 100644 index 00000000..a7f7eeb6 Binary files /dev/null and b/fuzz/corpora/cmp/3891378b9229b1c9bb3bb770a83abb350b50812f differ diff --git a/fuzz/corpora/cmp/38a20ea04eacad372b44110753446fc44974a102 b/fuzz/corpora/cmp/38a20ea04eacad372b44110753446fc44974a102 new file mode 100644 index 00000000..ca4ea28a Binary files /dev/null and b/fuzz/corpora/cmp/38a20ea04eacad372b44110753446fc44974a102 differ diff --git a/fuzz/corpora/cmp/38b053fad2e2bfd610e7355462ff97784f85f642 b/fuzz/corpora/cmp/38b053fad2e2bfd610e7355462ff97784f85f642 new file mode 100644 index 00000000..b165afda Binary files /dev/null and b/fuzz/corpora/cmp/38b053fad2e2bfd610e7355462ff97784f85f642 differ diff --git a/fuzz/corpora/cmp/38b7f83c666b1cd6dbcc32e73a8b72dfc2cbbd51 b/fuzz/corpora/cmp/38b7f83c666b1cd6dbcc32e73a8b72dfc2cbbd51 new file mode 100644 index 00000000..c9ac1e0e Binary files /dev/null and b/fuzz/corpora/cmp/38b7f83c666b1cd6dbcc32e73a8b72dfc2cbbd51 differ diff --git a/fuzz/corpora/cmp/38c39a9a5f070acca6a4eea0a72fc810e3b15f88 b/fuzz/corpora/cmp/38c39a9a5f070acca6a4eea0a72fc810e3b15f88 new file mode 100644 index 00000000..98b06044 Binary files /dev/null and b/fuzz/corpora/cmp/38c39a9a5f070acca6a4eea0a72fc810e3b15f88 differ diff --git a/fuzz/corpora/cmp/38ca456e4b64e31c9521826a37552a4cdc5cdf2c b/fuzz/corpora/cmp/38ca456e4b64e31c9521826a37552a4cdc5cdf2c new file mode 100644 index 00000000..1f87ec3a Binary files /dev/null and b/fuzz/corpora/cmp/38ca456e4b64e31c9521826a37552a4cdc5cdf2c differ diff --git a/fuzz/corpora/cmp/38d4fb15257b371e547445e286116378e5e1cce9 b/fuzz/corpora/cmp/38d4fb15257b371e547445e286116378e5e1cce9 new file mode 100644 index 00000000..361af447 Binary files /dev/null and b/fuzz/corpora/cmp/38d4fb15257b371e547445e286116378e5e1cce9 differ diff --git a/fuzz/corpora/cmp/38db6c81ee56ff28a13953ea16de5082a01ae250 b/fuzz/corpora/cmp/38db6c81ee56ff28a13953ea16de5082a01ae250 new file mode 100644 index 00000000..d319b963 Binary files /dev/null and b/fuzz/corpora/cmp/38db6c81ee56ff28a13953ea16de5082a01ae250 differ diff --git a/fuzz/corpora/cmp/38e00edb4708fef85ae5766134747a3007836144 b/fuzz/corpora/cmp/38e00edb4708fef85ae5766134747a3007836144 new file mode 100644 index 00000000..8c003904 Binary files /dev/null and b/fuzz/corpora/cmp/38e00edb4708fef85ae5766134747a3007836144 differ diff --git a/fuzz/corpora/cmp/3906ec6421f20411b545870a59480264427ddced b/fuzz/corpora/cmp/3906ec6421f20411b545870a59480264427ddced new file mode 100644 index 00000000..000e96da Binary files /dev/null and b/fuzz/corpora/cmp/3906ec6421f20411b545870a59480264427ddced differ diff --git a/fuzz/corpora/cmp/3917f4dfff3ebcade7c482c0c19395017a908e3f b/fuzz/corpora/cmp/3917f4dfff3ebcade7c482c0c19395017a908e3f new file mode 100644 index 00000000..0dd80d87 Binary files /dev/null and b/fuzz/corpora/cmp/3917f4dfff3ebcade7c482c0c19395017a908e3f differ diff --git a/fuzz/corpora/cmp/39295f2182ee0fc4d4bac3a4ceffc4c1dc070ca2 b/fuzz/corpora/cmp/39295f2182ee0fc4d4bac3a4ceffc4c1dc070ca2 new file mode 100644 index 00000000..0e26ea6a Binary files /dev/null and b/fuzz/corpora/cmp/39295f2182ee0fc4d4bac3a4ceffc4c1dc070ca2 differ diff --git a/fuzz/corpora/cmp/393ee5a28cb19c4a2745c10274577c35e250862f b/fuzz/corpora/cmp/393ee5a28cb19c4a2745c10274577c35e250862f new file mode 100644 index 00000000..2e463523 Binary files /dev/null and b/fuzz/corpora/cmp/393ee5a28cb19c4a2745c10274577c35e250862f differ diff --git a/fuzz/corpora/cmp/3953f1b207ec1b996a8689794d4e602949c913e8 b/fuzz/corpora/cmp/3953f1b207ec1b996a8689794d4e602949c913e8 new file mode 100644 index 00000000..16c466d4 Binary files /dev/null and b/fuzz/corpora/cmp/3953f1b207ec1b996a8689794d4e602949c913e8 differ diff --git a/fuzz/corpora/cmp/3955184addbf41d7d9ff6710427923c244a9bafd b/fuzz/corpora/cmp/3955184addbf41d7d9ff6710427923c244a9bafd new file mode 100644 index 00000000..12eec86f Binary files /dev/null and b/fuzz/corpora/cmp/3955184addbf41d7d9ff6710427923c244a9bafd differ diff --git a/fuzz/corpora/cmp/3955490dcb8120269ab384055fd04862abc85b36 b/fuzz/corpora/cmp/3955490dcb8120269ab384055fd04862abc85b36 new file mode 100644 index 00000000..713305d8 Binary files /dev/null and b/fuzz/corpora/cmp/3955490dcb8120269ab384055fd04862abc85b36 differ diff --git a/fuzz/corpora/cmp/395779eaccfa7b057e6c48bcbde8dc74519613d3 b/fuzz/corpora/cmp/395779eaccfa7b057e6c48bcbde8dc74519613d3 new file mode 100644 index 00000000..06ab3b22 Binary files /dev/null and b/fuzz/corpora/cmp/395779eaccfa7b057e6c48bcbde8dc74519613d3 differ diff --git a/fuzz/corpora/cmp/3972913265df3144d8dac2bc385b435739b5a84c b/fuzz/corpora/cmp/3972913265df3144d8dac2bc385b435739b5a84c new file mode 100644 index 00000000..c3661636 Binary files /dev/null and b/fuzz/corpora/cmp/3972913265df3144d8dac2bc385b435739b5a84c differ diff --git a/fuzz/corpora/cmp/3974178b2ead01adb352a8fc1a48dfbe82d71f11 b/fuzz/corpora/cmp/3974178b2ead01adb352a8fc1a48dfbe82d71f11 new file mode 100644 index 00000000..55c9519e Binary files /dev/null and b/fuzz/corpora/cmp/3974178b2ead01adb352a8fc1a48dfbe82d71f11 differ diff --git a/fuzz/corpora/cmp/39797e467bd581da66b278dac3663ea2e936c158 b/fuzz/corpora/cmp/39797e467bd581da66b278dac3663ea2e936c158 new file mode 100644 index 00000000..f319daeb Binary files /dev/null and b/fuzz/corpora/cmp/39797e467bd581da66b278dac3663ea2e936c158 differ diff --git a/fuzz/corpora/cmp/397dd0f5d08c9be434c4560743964c30c6d6da6a b/fuzz/corpora/cmp/397dd0f5d08c9be434c4560743964c30c6d6da6a new file mode 100644 index 00000000..df3523a9 Binary files /dev/null and b/fuzz/corpora/cmp/397dd0f5d08c9be434c4560743964c30c6d6da6a differ diff --git a/fuzz/corpora/cmp/39841a1ddcede86656f14a5f4215b5427d23bbe9 b/fuzz/corpora/cmp/39841a1ddcede86656f14a5f4215b5427d23bbe9 new file mode 100644 index 00000000..c09f7349 Binary files /dev/null and b/fuzz/corpora/cmp/39841a1ddcede86656f14a5f4215b5427d23bbe9 differ diff --git a/fuzz/corpora/cmp/3990c765c37c4a96bc0398f1de7c9fd13e1f3435 b/fuzz/corpora/cmp/3990c765c37c4a96bc0398f1de7c9fd13e1f3435 new file mode 100644 index 00000000..5f8477a9 Binary files /dev/null and b/fuzz/corpora/cmp/3990c765c37c4a96bc0398f1de7c9fd13e1f3435 differ diff --git a/fuzz/corpora/cmp/399446fbc87aa60eaa71871c94c74973c7c65710 b/fuzz/corpora/cmp/399446fbc87aa60eaa71871c94c74973c7c65710 new file mode 100644 index 00000000..5908d5ed Binary files /dev/null and b/fuzz/corpora/cmp/399446fbc87aa60eaa71871c94c74973c7c65710 differ diff --git a/fuzz/corpora/cmp/39adfc02f320e69d46429d58f01c97320949a508 b/fuzz/corpora/cmp/39adfc02f320e69d46429d58f01c97320949a508 new file mode 100644 index 00000000..4c453698 Binary files /dev/null and b/fuzz/corpora/cmp/39adfc02f320e69d46429d58f01c97320949a508 differ diff --git a/fuzz/corpora/cmp/39b624fe1235f66b87381a0c749db58e63aa506a b/fuzz/corpora/cmp/39b624fe1235f66b87381a0c749db58e63aa506a new file mode 100644 index 00000000..3c65e2ba Binary files /dev/null and b/fuzz/corpora/cmp/39b624fe1235f66b87381a0c749db58e63aa506a differ diff --git a/fuzz/corpora/cmp/39b959ca19b53dcc67631c755a40a91c674181c4 b/fuzz/corpora/cmp/39b959ca19b53dcc67631c755a40a91c674181c4 new file mode 100644 index 00000000..2cbcc556 Binary files /dev/null and b/fuzz/corpora/cmp/39b959ca19b53dcc67631c755a40a91c674181c4 differ diff --git a/fuzz/corpora/cmp/39bf370fdc9ad307c21e662cda0d1d156a8216e9 b/fuzz/corpora/cmp/39bf370fdc9ad307c21e662cda0d1d156a8216e9 new file mode 100644 index 00000000..ea7c3d0c Binary files /dev/null and b/fuzz/corpora/cmp/39bf370fdc9ad307c21e662cda0d1d156a8216e9 differ diff --git a/fuzz/corpora/cmp/39cf2fd42fe852daf4a73f305d306f6bc298dc36 b/fuzz/corpora/cmp/39cf2fd42fe852daf4a73f305d306f6bc298dc36 new file mode 100644 index 00000000..f209b224 Binary files /dev/null and b/fuzz/corpora/cmp/39cf2fd42fe852daf4a73f305d306f6bc298dc36 differ diff --git a/fuzz/corpora/cmp/39d3d4873cd90a07123221d8dbca12a6108d7972 b/fuzz/corpora/cmp/39d3d4873cd90a07123221d8dbca12a6108d7972 new file mode 100644 index 00000000..825701bd Binary files /dev/null and b/fuzz/corpora/cmp/39d3d4873cd90a07123221d8dbca12a6108d7972 differ diff --git a/fuzz/corpora/cmp/39d870fe90eed3ebb20717c4a138e9e21182487c b/fuzz/corpora/cmp/39d870fe90eed3ebb20717c4a138e9e21182487c new file mode 100644 index 00000000..22728456 Binary files /dev/null and b/fuzz/corpora/cmp/39d870fe90eed3ebb20717c4a138e9e21182487c differ diff --git a/fuzz/corpora/cmp/39e84f3393086b1f1b8ae5e22bda38e8e7c5efbd b/fuzz/corpora/cmp/39e84f3393086b1f1b8ae5e22bda38e8e7c5efbd new file mode 100644 index 00000000..baa6dc50 Binary files /dev/null and b/fuzz/corpora/cmp/39e84f3393086b1f1b8ae5e22bda38e8e7c5efbd differ diff --git a/fuzz/corpora/cmp/39eed60a63f929703ac0d5d140daad0d845870f8 b/fuzz/corpora/cmp/39eed60a63f929703ac0d5d140daad0d845870f8 new file mode 100644 index 00000000..e0cab619 Binary files /dev/null and b/fuzz/corpora/cmp/39eed60a63f929703ac0d5d140daad0d845870f8 differ diff --git a/fuzz/corpora/cmp/39fd430610e9fe3059c0afae05b8d3b8747c35a5 b/fuzz/corpora/cmp/39fd430610e9fe3059c0afae05b8d3b8747c35a5 new file mode 100644 index 00000000..c80f1905 Binary files /dev/null and b/fuzz/corpora/cmp/39fd430610e9fe3059c0afae05b8d3b8747c35a5 differ diff --git a/fuzz/corpora/cmp/3a004f0e86f8ea1b8a3077a48b6f60cfc27d8494 b/fuzz/corpora/cmp/3a004f0e86f8ea1b8a3077a48b6f60cfc27d8494 new file mode 100644 index 00000000..378e3d01 Binary files /dev/null and b/fuzz/corpora/cmp/3a004f0e86f8ea1b8a3077a48b6f60cfc27d8494 differ diff --git a/fuzz/corpora/cmp/3a1a6bd0fd7c5ae85cb877b58c217f12526c924a b/fuzz/corpora/cmp/3a1a6bd0fd7c5ae85cb877b58c217f12526c924a new file mode 100644 index 00000000..5be35fe6 Binary files /dev/null and b/fuzz/corpora/cmp/3a1a6bd0fd7c5ae85cb877b58c217f12526c924a differ diff --git a/fuzz/corpora/cmp/3a2209285118a3b34e0d87fb0d43897f57f5d2f6 b/fuzz/corpora/cmp/3a2209285118a3b34e0d87fb0d43897f57f5d2f6 new file mode 100644 index 00000000..24bb2cdc Binary files /dev/null and b/fuzz/corpora/cmp/3a2209285118a3b34e0d87fb0d43897f57f5d2f6 differ diff --git a/fuzz/corpora/cmp/3a5be66b629f7365528da7878dd46be2344e128b b/fuzz/corpora/cmp/3a5be66b629f7365528da7878dd46be2344e128b new file mode 100644 index 00000000..b4ab4f51 Binary files /dev/null and b/fuzz/corpora/cmp/3a5be66b629f7365528da7878dd46be2344e128b differ diff --git a/fuzz/corpora/cmp/3a86707552935be0c4d059610f40ac5026545830 b/fuzz/corpora/cmp/3a86707552935be0c4d059610f40ac5026545830 new file mode 100644 index 00000000..01fcb462 Binary files /dev/null and b/fuzz/corpora/cmp/3a86707552935be0c4d059610f40ac5026545830 differ diff --git a/fuzz/corpora/cmp/3a8d9a9fc14b33b9fd4b91962c56a73f3c8beb42 b/fuzz/corpora/cmp/3a8d9a9fc14b33b9fd4b91962c56a73f3c8beb42 new file mode 100644 index 00000000..02cd7f4f Binary files /dev/null and b/fuzz/corpora/cmp/3a8d9a9fc14b33b9fd4b91962c56a73f3c8beb42 differ diff --git a/fuzz/corpora/cmp/3a8edd69dee4fe7dff8e5af4b12cbf5db49b81d6 b/fuzz/corpora/cmp/3a8edd69dee4fe7dff8e5af4b12cbf5db49b81d6 new file mode 100644 index 00000000..a5fb8482 Binary files /dev/null and b/fuzz/corpora/cmp/3a8edd69dee4fe7dff8e5af4b12cbf5db49b81d6 differ diff --git a/fuzz/corpora/cmp/3aa413cce836f4dcd19bfd01693d70fed9324354 b/fuzz/corpora/cmp/3aa413cce836f4dcd19bfd01693d70fed9324354 new file mode 100644 index 00000000..984abbe1 Binary files /dev/null and b/fuzz/corpora/cmp/3aa413cce836f4dcd19bfd01693d70fed9324354 differ diff --git a/fuzz/corpora/cmp/3aa68f9ff7e99e703681c7a906af1947e8a248ff b/fuzz/corpora/cmp/3aa68f9ff7e99e703681c7a906af1947e8a248ff new file mode 100644 index 00000000..f46f5d9b Binary files /dev/null and b/fuzz/corpora/cmp/3aa68f9ff7e99e703681c7a906af1947e8a248ff differ diff --git a/fuzz/corpora/cmp/3aaf23d13e6654d135d1a310fd200cc7a3ca2562 b/fuzz/corpora/cmp/3aaf23d13e6654d135d1a310fd200cc7a3ca2562 new file mode 100644 index 00000000..4fa61455 Binary files /dev/null and b/fuzz/corpora/cmp/3aaf23d13e6654d135d1a310fd200cc7a3ca2562 differ diff --git a/fuzz/corpora/cmp/3ad5d401d67a98ce1dbeb78a4fc689607c62f4d6 b/fuzz/corpora/cmp/3ad5d401d67a98ce1dbeb78a4fc689607c62f4d6 new file mode 100644 index 00000000..a4be3db8 Binary files /dev/null and b/fuzz/corpora/cmp/3ad5d401d67a98ce1dbeb78a4fc689607c62f4d6 differ diff --git a/fuzz/corpora/cmp/3ae0859aa9a98ba480a7574fa5102a5fec77b6f6 b/fuzz/corpora/cmp/3ae0859aa9a98ba480a7574fa5102a5fec77b6f6 new file mode 100644 index 00000000..0184fd51 Binary files /dev/null and b/fuzz/corpora/cmp/3ae0859aa9a98ba480a7574fa5102a5fec77b6f6 differ diff --git a/fuzz/corpora/cmp/3ae37806725ee9f2a2efde43e12a2156f42504a5 b/fuzz/corpora/cmp/3ae37806725ee9f2a2efde43e12a2156f42504a5 new file mode 100644 index 00000000..e292c267 Binary files /dev/null and b/fuzz/corpora/cmp/3ae37806725ee9f2a2efde43e12a2156f42504a5 differ diff --git a/fuzz/corpora/cmp/3ae9511ec36053a2c655e374e084745a786a12f4 b/fuzz/corpora/cmp/3ae9511ec36053a2c655e374e084745a786a12f4 new file mode 100644 index 00000000..2518de0d Binary files /dev/null and b/fuzz/corpora/cmp/3ae9511ec36053a2c655e374e084745a786a12f4 differ diff --git a/fuzz/corpora/cmp/3b0682ed8fdf3dd0926a405720d23858833cc310 b/fuzz/corpora/cmp/3b0682ed8fdf3dd0926a405720d23858833cc310 new file mode 100644 index 00000000..ffbac25a Binary files /dev/null and b/fuzz/corpora/cmp/3b0682ed8fdf3dd0926a405720d23858833cc310 differ diff --git a/fuzz/corpora/cmp/3b08def1b1fe62949a8c0b43cfcf61f21e867fa6 b/fuzz/corpora/cmp/3b08def1b1fe62949a8c0b43cfcf61f21e867fa6 new file mode 100644 index 00000000..4f60ffe3 Binary files /dev/null and b/fuzz/corpora/cmp/3b08def1b1fe62949a8c0b43cfcf61f21e867fa6 differ diff --git a/fuzz/corpora/cmp/3b274824637463a9e9e5d3676ff6398884def394 b/fuzz/corpora/cmp/3b274824637463a9e9e5d3676ff6398884def394 new file mode 100644 index 00000000..0ac5617b Binary files /dev/null and b/fuzz/corpora/cmp/3b274824637463a9e9e5d3676ff6398884def394 differ diff --git a/fuzz/corpora/cmp/3b3f685f713472776d5e4113930cf4350a172c97 b/fuzz/corpora/cmp/3b3f685f713472776d5e4113930cf4350a172c97 new file mode 100644 index 00000000..f7743de4 Binary files /dev/null and b/fuzz/corpora/cmp/3b3f685f713472776d5e4113930cf4350a172c97 differ diff --git a/fuzz/corpora/cmp/3b44f083d0bb36d977469adb8e8a2046cee1bfa9 b/fuzz/corpora/cmp/3b44f083d0bb36d977469adb8e8a2046cee1bfa9 new file mode 100644 index 00000000..132e0272 Binary files /dev/null and b/fuzz/corpora/cmp/3b44f083d0bb36d977469adb8e8a2046cee1bfa9 differ diff --git a/fuzz/corpora/cmp/3b454eb1ec5a9bcbe8e40341a337be5de5d7aeae b/fuzz/corpora/cmp/3b454eb1ec5a9bcbe8e40341a337be5de5d7aeae new file mode 100644 index 00000000..ba11d4b8 Binary files /dev/null and b/fuzz/corpora/cmp/3b454eb1ec5a9bcbe8e40341a337be5de5d7aeae differ diff --git a/fuzz/corpora/cmp/3b52ba21e4ec8fa1a59523626cf73008662ed97e b/fuzz/corpora/cmp/3b52ba21e4ec8fa1a59523626cf73008662ed97e new file mode 100644 index 00000000..5f14e7a4 Binary files /dev/null and b/fuzz/corpora/cmp/3b52ba21e4ec8fa1a59523626cf73008662ed97e differ diff --git a/fuzz/corpora/cmp/3b52e4c7a323a0c150d58b45e308707acaa148a3 b/fuzz/corpora/cmp/3b52e4c7a323a0c150d58b45e308707acaa148a3 new file mode 100644 index 00000000..077faecd Binary files /dev/null and b/fuzz/corpora/cmp/3b52e4c7a323a0c150d58b45e308707acaa148a3 differ diff --git a/fuzz/corpora/cmp/3b8309ffc997381b982a5277c23969a0c5671781 b/fuzz/corpora/cmp/3b8309ffc997381b982a5277c23969a0c5671781 new file mode 100644 index 00000000..b6cbc9aa Binary files /dev/null and b/fuzz/corpora/cmp/3b8309ffc997381b982a5277c23969a0c5671781 differ diff --git a/fuzz/corpora/cmp/3b9bc222e45dbd51e36f8e7c2775670b995b55d1 b/fuzz/corpora/cmp/3b9bc222e45dbd51e36f8e7c2775670b995b55d1 new file mode 100644 index 00000000..43b67a48 Binary files /dev/null and b/fuzz/corpora/cmp/3b9bc222e45dbd51e36f8e7c2775670b995b55d1 differ diff --git a/fuzz/corpora/cmp/3ba2c95bbd3747021e2c812a9f5a28bf5d9a7593 b/fuzz/corpora/cmp/3ba2c95bbd3747021e2c812a9f5a28bf5d9a7593 new file mode 100644 index 00000000..7efa08b8 Binary files /dev/null and b/fuzz/corpora/cmp/3ba2c95bbd3747021e2c812a9f5a28bf5d9a7593 differ diff --git a/fuzz/corpora/cmp/3bafda9b7338dd6c3167a9049dd2e077f1a56547 b/fuzz/corpora/cmp/3bafda9b7338dd6c3167a9049dd2e077f1a56547 new file mode 100644 index 00000000..d14f8372 Binary files /dev/null and b/fuzz/corpora/cmp/3bafda9b7338dd6c3167a9049dd2e077f1a56547 differ diff --git a/fuzz/corpora/cmp/3bb3fe31aeb3860bbfbc5fb669a643d7bb31183a b/fuzz/corpora/cmp/3bb3fe31aeb3860bbfbc5fb669a643d7bb31183a new file mode 100644 index 00000000..1b1a1643 Binary files /dev/null and b/fuzz/corpora/cmp/3bb3fe31aeb3860bbfbc5fb669a643d7bb31183a differ diff --git a/fuzz/corpora/cmp/3bb8e9e356999816a6bbaf754edd5ec142529f8b b/fuzz/corpora/cmp/3bb8e9e356999816a6bbaf754edd5ec142529f8b new file mode 100644 index 00000000..b63cf95b Binary files /dev/null and b/fuzz/corpora/cmp/3bb8e9e356999816a6bbaf754edd5ec142529f8b differ diff --git a/fuzz/corpora/cmp/3beb1920eb5def1a266d3be9516353cee77e6364 b/fuzz/corpora/cmp/3beb1920eb5def1a266d3be9516353cee77e6364 new file mode 100644 index 00000000..aa46bbf6 Binary files /dev/null and b/fuzz/corpora/cmp/3beb1920eb5def1a266d3be9516353cee77e6364 differ diff --git a/fuzz/corpora/cmp/3c02565d8720976fa55fe1b912418c6a597a2d84 b/fuzz/corpora/cmp/3c02565d8720976fa55fe1b912418c6a597a2d84 new file mode 100644 index 00000000..af435d01 Binary files /dev/null and b/fuzz/corpora/cmp/3c02565d8720976fa55fe1b912418c6a597a2d84 differ diff --git a/fuzz/corpora/cmp/3c03b4bfce7e430616dce7974889abf1906679f4 b/fuzz/corpora/cmp/3c03b4bfce7e430616dce7974889abf1906679f4 new file mode 100644 index 00000000..c5ef189a Binary files /dev/null and b/fuzz/corpora/cmp/3c03b4bfce7e430616dce7974889abf1906679f4 differ diff --git a/fuzz/corpora/cmp/3c07c3402c76a21185dd22c7493c28beb214a0e8 b/fuzz/corpora/cmp/3c07c3402c76a21185dd22c7493c28beb214a0e8 new file mode 100644 index 00000000..fddbf9b4 Binary files /dev/null and b/fuzz/corpora/cmp/3c07c3402c76a21185dd22c7493c28beb214a0e8 differ diff --git a/fuzz/corpora/cmp/3c598c476315be91affb591a1c6a0c157b99035f b/fuzz/corpora/cmp/3c598c476315be91affb591a1c6a0c157b99035f new file mode 100644 index 00000000..d5d7b187 Binary files /dev/null and b/fuzz/corpora/cmp/3c598c476315be91affb591a1c6a0c157b99035f differ diff --git a/fuzz/corpora/cmp/3c5b70deb01485bb18670e8c4cec20554787090b b/fuzz/corpora/cmp/3c5b70deb01485bb18670e8c4cec20554787090b new file mode 100644 index 00000000..b4b38d7d Binary files /dev/null and b/fuzz/corpora/cmp/3c5b70deb01485bb18670e8c4cec20554787090b differ diff --git a/fuzz/corpora/cmp/3c5c9c672f5bd08fb47459f7d97695004baf7a21 b/fuzz/corpora/cmp/3c5c9c672f5bd08fb47459f7d97695004baf7a21 new file mode 100644 index 00000000..5f44d708 Binary files /dev/null and b/fuzz/corpora/cmp/3c5c9c672f5bd08fb47459f7d97695004baf7a21 differ diff --git a/fuzz/corpora/cmp/3c6333e6cbf85ccac9e74c23e546fd245215d3ab b/fuzz/corpora/cmp/3c6333e6cbf85ccac9e74c23e546fd245215d3ab new file mode 100644 index 00000000..1cf58c92 Binary files /dev/null and b/fuzz/corpora/cmp/3c6333e6cbf85ccac9e74c23e546fd245215d3ab differ diff --git a/fuzz/corpora/cmp/3c66f2857c9f2665895aa9047e5614ff5f3b05a9 b/fuzz/corpora/cmp/3c66f2857c9f2665895aa9047e5614ff5f3b05a9 new file mode 100644 index 00000000..158b7c2e Binary files /dev/null and b/fuzz/corpora/cmp/3c66f2857c9f2665895aa9047e5614ff5f3b05a9 differ diff --git a/fuzz/corpora/cmp/3c6a87f41ede1fd86f404d4df2453552902c82b5 b/fuzz/corpora/cmp/3c6a87f41ede1fd86f404d4df2453552902c82b5 new file mode 100644 index 00000000..3ea2e5a9 Binary files /dev/null and b/fuzz/corpora/cmp/3c6a87f41ede1fd86f404d4df2453552902c82b5 differ diff --git a/fuzz/corpora/cmp/3c7c67591885e9efebd4bfe3c545dfd5e6d667e6 b/fuzz/corpora/cmp/3c7c67591885e9efebd4bfe3c545dfd5e6d667e6 new file mode 100644 index 00000000..d75b68bb Binary files /dev/null and b/fuzz/corpora/cmp/3c7c67591885e9efebd4bfe3c545dfd5e6d667e6 differ diff --git a/fuzz/corpora/cmp/3c7f4776b86a239a493dc5f304be5498148172a5 b/fuzz/corpora/cmp/3c7f4776b86a239a493dc5f304be5498148172a5 new file mode 100644 index 00000000..e4f42b72 Binary files /dev/null and b/fuzz/corpora/cmp/3c7f4776b86a239a493dc5f304be5498148172a5 differ diff --git a/fuzz/corpora/cmp/3c7f70f13f7e2f397b9bdde99704fa0215087313 b/fuzz/corpora/cmp/3c7f70f13f7e2f397b9bdde99704fa0215087313 new file mode 100644 index 00000000..a92cc1be Binary files /dev/null and b/fuzz/corpora/cmp/3c7f70f13f7e2f397b9bdde99704fa0215087313 differ diff --git a/fuzz/corpora/cmp/3ca30b78f0900fcb9d4f99023c8d1674ab79488a b/fuzz/corpora/cmp/3ca30b78f0900fcb9d4f99023c8d1674ab79488a new file mode 100644 index 00000000..f74577e2 Binary files /dev/null and b/fuzz/corpora/cmp/3ca30b78f0900fcb9d4f99023c8d1674ab79488a differ diff --git a/fuzz/corpora/cmp/3cd7e6b06442ab59b5b230a71cd5bc2fab4fca3f b/fuzz/corpora/cmp/3cd7e6b06442ab59b5b230a71cd5bc2fab4fca3f new file mode 100644 index 00000000..66db3a42 Binary files /dev/null and b/fuzz/corpora/cmp/3cd7e6b06442ab59b5b230a71cd5bc2fab4fca3f differ diff --git a/fuzz/corpora/cmp/3ce3a9311385e6ce822ed41d064fb02741d887f2 b/fuzz/corpora/cmp/3ce3a9311385e6ce822ed41d064fb02741d887f2 new file mode 100644 index 00000000..603d8c1e Binary files /dev/null and b/fuzz/corpora/cmp/3ce3a9311385e6ce822ed41d064fb02741d887f2 differ diff --git a/fuzz/corpora/cmp/3cf299799966d9442415948e26ec2cf154ef1061 b/fuzz/corpora/cmp/3cf299799966d9442415948e26ec2cf154ef1061 new file mode 100644 index 00000000..fe3d05f1 Binary files /dev/null and b/fuzz/corpora/cmp/3cf299799966d9442415948e26ec2cf154ef1061 differ diff --git a/fuzz/corpora/cmp/3cfe3eb94649ab459afeab6fc9cb43bfaa2df9b4 b/fuzz/corpora/cmp/3cfe3eb94649ab459afeab6fc9cb43bfaa2df9b4 new file mode 100644 index 00000000..a70b2123 Binary files /dev/null and b/fuzz/corpora/cmp/3cfe3eb94649ab459afeab6fc9cb43bfaa2df9b4 differ diff --git a/fuzz/corpora/cmp/3d03d41ad304aecf76e44e6d9711e477aa687082 b/fuzz/corpora/cmp/3d03d41ad304aecf76e44e6d9711e477aa687082 new file mode 100644 index 00000000..160af52f Binary files /dev/null and b/fuzz/corpora/cmp/3d03d41ad304aecf76e44e6d9711e477aa687082 differ diff --git a/fuzz/corpora/cmp/3d1072d1a7445a4470525c64918efdb064b03452 b/fuzz/corpora/cmp/3d1072d1a7445a4470525c64918efdb064b03452 new file mode 100644 index 00000000..c4348aba Binary files /dev/null and b/fuzz/corpora/cmp/3d1072d1a7445a4470525c64918efdb064b03452 differ diff --git a/fuzz/corpora/cmp/3d26ffdbd63add72fdad554929227620c9aa39f0 b/fuzz/corpora/cmp/3d26ffdbd63add72fdad554929227620c9aa39f0 new file mode 100644 index 00000000..7fec36c1 Binary files /dev/null and b/fuzz/corpora/cmp/3d26ffdbd63add72fdad554929227620c9aa39f0 differ diff --git a/fuzz/corpora/cmp/3d35ffa7305000337bb45e0c17c7ad2dd6dfda99 b/fuzz/corpora/cmp/3d35ffa7305000337bb45e0c17c7ad2dd6dfda99 new file mode 100644 index 00000000..9f67a7f2 Binary files /dev/null and b/fuzz/corpora/cmp/3d35ffa7305000337bb45e0c17c7ad2dd6dfda99 differ diff --git a/fuzz/corpora/cmp/3d4aef6fe528bc6e3e8e3ef858a40039e41a8aa7 b/fuzz/corpora/cmp/3d4aef6fe528bc6e3e8e3ef858a40039e41a8aa7 new file mode 100644 index 00000000..ab77cd40 Binary files /dev/null and b/fuzz/corpora/cmp/3d4aef6fe528bc6e3e8e3ef858a40039e41a8aa7 differ diff --git a/fuzz/corpora/cmp/3d5087b0eda21fa4b3943738436686aac431fb5f b/fuzz/corpora/cmp/3d5087b0eda21fa4b3943738436686aac431fb5f new file mode 100644 index 00000000..59b368aa Binary files /dev/null and b/fuzz/corpora/cmp/3d5087b0eda21fa4b3943738436686aac431fb5f differ diff --git a/fuzz/corpora/cmp/3d603b14a70ed0cc0282909aef53d53742dc683b b/fuzz/corpora/cmp/3d603b14a70ed0cc0282909aef53d53742dc683b new file mode 100644 index 00000000..5d3ebac3 Binary files /dev/null and b/fuzz/corpora/cmp/3d603b14a70ed0cc0282909aef53d53742dc683b differ diff --git a/fuzz/corpora/cmp/3d6a0002fdbe370838902af5dcd23f890717a2e2 b/fuzz/corpora/cmp/3d6a0002fdbe370838902af5dcd23f890717a2e2 new file mode 100644 index 00000000..f5013f4a Binary files /dev/null and b/fuzz/corpora/cmp/3d6a0002fdbe370838902af5dcd23f890717a2e2 differ diff --git a/fuzz/corpora/cmp/3d741bfaa7a63434ad3d0776d9ef52569b7a2a3c b/fuzz/corpora/cmp/3d741bfaa7a63434ad3d0776d9ef52569b7a2a3c new file mode 100644 index 00000000..467020ee Binary files /dev/null and b/fuzz/corpora/cmp/3d741bfaa7a63434ad3d0776d9ef52569b7a2a3c differ diff --git a/fuzz/corpora/cmp/3d80caf9c54ed3005b972e28228b5e42105def16 b/fuzz/corpora/cmp/3d80caf9c54ed3005b972e28228b5e42105def16 new file mode 100644 index 00000000..e9625401 Binary files /dev/null and b/fuzz/corpora/cmp/3d80caf9c54ed3005b972e28228b5e42105def16 differ diff --git a/fuzz/corpora/cmp/3d8a5bf418915a065d1cfe27b7aa190af4e49c38 b/fuzz/corpora/cmp/3d8a5bf418915a065d1cfe27b7aa190af4e49c38 new file mode 100644 index 00000000..36b23ca3 Binary files /dev/null and b/fuzz/corpora/cmp/3d8a5bf418915a065d1cfe27b7aa190af4e49c38 differ diff --git a/fuzz/corpora/cmp/3d9916e9181002497c31611298700e44a1efe08d b/fuzz/corpora/cmp/3d9916e9181002497c31611298700e44a1efe08d new file mode 100644 index 00000000..fad72222 Binary files /dev/null and b/fuzz/corpora/cmp/3d9916e9181002497c31611298700e44a1efe08d differ diff --git a/fuzz/corpora/cmp/3d9b3e95afc819c44d1df4d28ce7c00968415443 b/fuzz/corpora/cmp/3d9b3e95afc819c44d1df4d28ce7c00968415443 new file mode 100644 index 00000000..fecc6fa8 Binary files /dev/null and b/fuzz/corpora/cmp/3d9b3e95afc819c44d1df4d28ce7c00968415443 differ diff --git a/fuzz/corpora/cmp/3d9f022add80e6e775dac72911923e6fac35c701 b/fuzz/corpora/cmp/3d9f022add80e6e775dac72911923e6fac35c701 new file mode 100644 index 00000000..0ebf8d97 Binary files /dev/null and b/fuzz/corpora/cmp/3d9f022add80e6e775dac72911923e6fac35c701 differ diff --git a/fuzz/corpora/cmp/3dba60625d59d074a1b490c62ee76228c437022d b/fuzz/corpora/cmp/3dba60625d59d074a1b490c62ee76228c437022d new file mode 100644 index 00000000..bf8e8705 Binary files /dev/null and b/fuzz/corpora/cmp/3dba60625d59d074a1b490c62ee76228c437022d differ diff --git a/fuzz/corpora/cmp/3dc11b673b1e7e9870515b69d323613df405f48d b/fuzz/corpora/cmp/3dc11b673b1e7e9870515b69d323613df405f48d new file mode 100644 index 00000000..f1df63eb Binary files /dev/null and b/fuzz/corpora/cmp/3dc11b673b1e7e9870515b69d323613df405f48d differ diff --git a/fuzz/corpora/cmp/3dc421b58a6820128aab53f58a77605440da0825 b/fuzz/corpora/cmp/3dc421b58a6820128aab53f58a77605440da0825 new file mode 100644 index 00000000..5e6d98ee Binary files /dev/null and b/fuzz/corpora/cmp/3dc421b58a6820128aab53f58a77605440da0825 differ diff --git a/fuzz/corpora/cmp/3dd7a7836dd8e93e19d43e0782e52d02a357dd45 b/fuzz/corpora/cmp/3dd7a7836dd8e93e19d43e0782e52d02a357dd45 new file mode 100644 index 00000000..9af60d75 Binary files /dev/null and b/fuzz/corpora/cmp/3dd7a7836dd8e93e19d43e0782e52d02a357dd45 differ diff --git a/fuzz/corpora/cmp/3deb4be6b5f48fe52a48a1e171424d632934ffbf b/fuzz/corpora/cmp/3deb4be6b5f48fe52a48a1e171424d632934ffbf new file mode 100644 index 00000000..9568de0c Binary files /dev/null and b/fuzz/corpora/cmp/3deb4be6b5f48fe52a48a1e171424d632934ffbf differ diff --git a/fuzz/corpora/cmp/3e02033a6507aff74fd4e60cfff985fb80788d38 b/fuzz/corpora/cmp/3e02033a6507aff74fd4e60cfff985fb80788d38 new file mode 100644 index 00000000..912997e8 Binary files /dev/null and b/fuzz/corpora/cmp/3e02033a6507aff74fd4e60cfff985fb80788d38 differ diff --git a/fuzz/corpora/cmp/3e12223889a22df26539280cd30d925814b93d29 b/fuzz/corpora/cmp/3e12223889a22df26539280cd30d925814b93d29 new file mode 100644 index 00000000..874965af Binary files /dev/null and b/fuzz/corpora/cmp/3e12223889a22df26539280cd30d925814b93d29 differ diff --git a/fuzz/corpora/cmp/3e19774306301bfcdabab3877def77bc925b6a0c b/fuzz/corpora/cmp/3e19774306301bfcdabab3877def77bc925b6a0c new file mode 100644 index 00000000..aa01c7cb Binary files /dev/null and b/fuzz/corpora/cmp/3e19774306301bfcdabab3877def77bc925b6a0c differ diff --git a/fuzz/corpora/cmp/3e3194e8c7bad6cdb3c343aa236083a863096889 b/fuzz/corpora/cmp/3e3194e8c7bad6cdb3c343aa236083a863096889 new file mode 100644 index 00000000..a623dc16 Binary files /dev/null and b/fuzz/corpora/cmp/3e3194e8c7bad6cdb3c343aa236083a863096889 differ diff --git a/fuzz/corpora/cmp/3e3cb2692d72ecba9b51dc7c3e5b7cf044805f8c b/fuzz/corpora/cmp/3e3cb2692d72ecba9b51dc7c3e5b7cf044805f8c new file mode 100644 index 00000000..c8c3e5a5 Binary files /dev/null and b/fuzz/corpora/cmp/3e3cb2692d72ecba9b51dc7c3e5b7cf044805f8c differ diff --git a/fuzz/corpora/cmp/3e5c5b45148289c3e866a78d2b3a767eb82b9f4b b/fuzz/corpora/cmp/3e5c5b45148289c3e866a78d2b3a767eb82b9f4b new file mode 100644 index 00000000..78ae5f72 Binary files /dev/null and b/fuzz/corpora/cmp/3e5c5b45148289c3e866a78d2b3a767eb82b9f4b differ diff --git a/fuzz/corpora/cmp/3e5e448ccf175b62dba68a02f5ca5528ee431557 b/fuzz/corpora/cmp/3e5e448ccf175b62dba68a02f5ca5528ee431557 new file mode 100644 index 00000000..0bc41346 Binary files /dev/null and b/fuzz/corpora/cmp/3e5e448ccf175b62dba68a02f5ca5528ee431557 differ diff --git a/fuzz/corpora/cmp/3e61c784245cf9b8f6579874161b3b25633adf4c b/fuzz/corpora/cmp/3e61c784245cf9b8f6579874161b3b25633adf4c new file mode 100644 index 00000000..e9690539 Binary files /dev/null and b/fuzz/corpora/cmp/3e61c784245cf9b8f6579874161b3b25633adf4c differ diff --git a/fuzz/corpora/cmp/3e704ad67f1674c9c5437a21882c024054bddcc9 b/fuzz/corpora/cmp/3e704ad67f1674c9c5437a21882c024054bddcc9 new file mode 100644 index 00000000..c0517957 Binary files /dev/null and b/fuzz/corpora/cmp/3e704ad67f1674c9c5437a21882c024054bddcc9 differ diff --git a/fuzz/corpora/cmp/3e7f3c7fea93599c859774a354038108017236fb b/fuzz/corpora/cmp/3e7f3c7fea93599c859774a354038108017236fb new file mode 100644 index 00000000..83ba5b2b Binary files /dev/null and b/fuzz/corpora/cmp/3e7f3c7fea93599c859774a354038108017236fb differ diff --git a/fuzz/corpora/cmp/3e863d94a093684f2e827bee4895169868d42c76 b/fuzz/corpora/cmp/3e863d94a093684f2e827bee4895169868d42c76 new file mode 100644 index 00000000..ba7b9d8d Binary files /dev/null and b/fuzz/corpora/cmp/3e863d94a093684f2e827bee4895169868d42c76 differ diff --git a/fuzz/corpora/cmp/3e876d02c13788324e97bfe37190954f06fe9bec b/fuzz/corpora/cmp/3e876d02c13788324e97bfe37190954f06fe9bec new file mode 100644 index 00000000..90e6b3c0 Binary files /dev/null and b/fuzz/corpora/cmp/3e876d02c13788324e97bfe37190954f06fe9bec differ diff --git a/fuzz/corpora/cmp/3e88924e80ca05aaa83bba90791b5e09363aad5f b/fuzz/corpora/cmp/3e88924e80ca05aaa83bba90791b5e09363aad5f new file mode 100644 index 00000000..5f8900ca Binary files /dev/null and b/fuzz/corpora/cmp/3e88924e80ca05aaa83bba90791b5e09363aad5f differ diff --git a/fuzz/corpora/cmp/3eaada680e7c1e6feb6dcf08fc66e00f4e7ae82f b/fuzz/corpora/cmp/3eaada680e7c1e6feb6dcf08fc66e00f4e7ae82f new file mode 100644 index 00000000..4e150d47 Binary files /dev/null and b/fuzz/corpora/cmp/3eaada680e7c1e6feb6dcf08fc66e00f4e7ae82f differ diff --git a/fuzz/corpora/cmp/3ec10e4bda34ec9ee274f152e043171db8b8cf4d b/fuzz/corpora/cmp/3ec10e4bda34ec9ee274f152e043171db8b8cf4d new file mode 100644 index 00000000..ddf07054 Binary files /dev/null and b/fuzz/corpora/cmp/3ec10e4bda34ec9ee274f152e043171db8b8cf4d differ diff --git a/fuzz/corpora/cmp/3ecd62d53f1616f9fc2083e09b1fb022ac260d9f b/fuzz/corpora/cmp/3ecd62d53f1616f9fc2083e09b1fb022ac260d9f new file mode 100644 index 00000000..3a88df33 Binary files /dev/null and b/fuzz/corpora/cmp/3ecd62d53f1616f9fc2083e09b1fb022ac260d9f differ diff --git a/fuzz/corpora/cmp/3ede24565bcf96f4c2d7daf81c15e4c24ac2fc7c b/fuzz/corpora/cmp/3ede24565bcf96f4c2d7daf81c15e4c24ac2fc7c new file mode 100644 index 00000000..1b7035fd Binary files /dev/null and b/fuzz/corpora/cmp/3ede24565bcf96f4c2d7daf81c15e4c24ac2fc7c differ diff --git a/fuzz/corpora/cmp/3ee3d53852ae5be797d8ec7ec1d85db4a5bf7d1a b/fuzz/corpora/cmp/3ee3d53852ae5be797d8ec7ec1d85db4a5bf7d1a new file mode 100644 index 00000000..e13d01b2 Binary files /dev/null and b/fuzz/corpora/cmp/3ee3d53852ae5be797d8ec7ec1d85db4a5bf7d1a differ diff --git a/fuzz/corpora/cmp/3ef2eeac6a84feec81bf80c178525487c446a15d b/fuzz/corpora/cmp/3ef2eeac6a84feec81bf80c178525487c446a15d new file mode 100644 index 00000000..48823c0c Binary files /dev/null and b/fuzz/corpora/cmp/3ef2eeac6a84feec81bf80c178525487c446a15d differ diff --git a/fuzz/corpora/cmp/3ef55269d41c5686da05f6b87a7fbe5780cdc7fe b/fuzz/corpora/cmp/3ef55269d41c5686da05f6b87a7fbe5780cdc7fe new file mode 100644 index 00000000..33f33407 Binary files /dev/null and b/fuzz/corpora/cmp/3ef55269d41c5686da05f6b87a7fbe5780cdc7fe differ diff --git a/fuzz/corpora/cmp/3ef79a079f3a076912d0e7d6f143f8771f3a3bc2 b/fuzz/corpora/cmp/3ef79a079f3a076912d0e7d6f143f8771f3a3bc2 new file mode 100644 index 00000000..10820d9e Binary files /dev/null and b/fuzz/corpora/cmp/3ef79a079f3a076912d0e7d6f143f8771f3a3bc2 differ diff --git a/fuzz/corpora/cmp/3f3232f02755c78d8e8e69f23fa8ee67fac171f3 b/fuzz/corpora/cmp/3f3232f02755c78d8e8e69f23fa8ee67fac171f3 new file mode 100644 index 00000000..b3e476ac Binary files /dev/null and b/fuzz/corpora/cmp/3f3232f02755c78d8e8e69f23fa8ee67fac171f3 differ diff --git a/fuzz/corpora/cmp/3f37538257e9f5eb913cb2a672ce8413cc022b64 b/fuzz/corpora/cmp/3f37538257e9f5eb913cb2a672ce8413cc022b64 new file mode 100644 index 00000000..60b54527 Binary files /dev/null and b/fuzz/corpora/cmp/3f37538257e9f5eb913cb2a672ce8413cc022b64 differ diff --git a/fuzz/corpora/cmp/3f3d25a7c0db19a352f5feb4576c566e20e14259 b/fuzz/corpora/cmp/3f3d25a7c0db19a352f5feb4576c566e20e14259 new file mode 100644 index 00000000..f1cf6d5a Binary files /dev/null and b/fuzz/corpora/cmp/3f3d25a7c0db19a352f5feb4576c566e20e14259 differ diff --git a/fuzz/corpora/cmp/3f4387182d94d9937c1afd7848e5040f2cf86076 b/fuzz/corpora/cmp/3f4387182d94d9937c1afd7848e5040f2cf86076 new file mode 100644 index 00000000..d7759cba Binary files /dev/null and b/fuzz/corpora/cmp/3f4387182d94d9937c1afd7848e5040f2cf86076 differ diff --git a/fuzz/corpora/cmp/3f6f8ba2b4c1a8e7aa2f59cd5ca49f0d74756943 b/fuzz/corpora/cmp/3f6f8ba2b4c1a8e7aa2f59cd5ca49f0d74756943 new file mode 100644 index 00000000..919d7a42 Binary files /dev/null and b/fuzz/corpora/cmp/3f6f8ba2b4c1a8e7aa2f59cd5ca49f0d74756943 differ diff --git a/fuzz/corpora/cmp/3f94816d320c4479d1cf18c3959b11bb13d183da b/fuzz/corpora/cmp/3f94816d320c4479d1cf18c3959b11bb13d183da new file mode 100644 index 00000000..67a54731 Binary files /dev/null and b/fuzz/corpora/cmp/3f94816d320c4479d1cf18c3959b11bb13d183da differ diff --git a/fuzz/corpora/cmp/3fa2f3f7b18da9d77bfbe3773240b4347e1798d6 b/fuzz/corpora/cmp/3fa2f3f7b18da9d77bfbe3773240b4347e1798d6 new file mode 100644 index 00000000..3d1c74db Binary files /dev/null and b/fuzz/corpora/cmp/3fa2f3f7b18da9d77bfbe3773240b4347e1798d6 differ diff --git a/fuzz/corpora/cmp/3fa3356fd4c77f5a16eda7b82c336e0761397d72 b/fuzz/corpora/cmp/3fa3356fd4c77f5a16eda7b82c336e0761397d72 new file mode 100644 index 00000000..43412ceb Binary files /dev/null and b/fuzz/corpora/cmp/3fa3356fd4c77f5a16eda7b82c336e0761397d72 differ diff --git a/fuzz/corpora/cmp/3fb758c6438927776d98968d36715f3a7ab31b3e b/fuzz/corpora/cmp/3fb758c6438927776d98968d36715f3a7ab31b3e new file mode 100644 index 00000000..9f1a476c Binary files /dev/null and b/fuzz/corpora/cmp/3fb758c6438927776d98968d36715f3a7ab31b3e differ diff --git a/fuzz/corpora/cmp/3fbab90696d2572c53890147a1bea2e27843b9b1 b/fuzz/corpora/cmp/3fbab90696d2572c53890147a1bea2e27843b9b1 new file mode 100644 index 00000000..1dd4b5c1 Binary files /dev/null and b/fuzz/corpora/cmp/3fbab90696d2572c53890147a1bea2e27843b9b1 differ diff --git a/fuzz/corpora/cmp/3fbb05b39c8f9470e0ababe232c4386dd81ee79c b/fuzz/corpora/cmp/3fbb05b39c8f9470e0ababe232c4386dd81ee79c new file mode 100644 index 00000000..33299388 Binary files /dev/null and b/fuzz/corpora/cmp/3fbb05b39c8f9470e0ababe232c4386dd81ee79c differ diff --git a/fuzz/corpora/cmp/3fcc47a249f42616514853054bb9cbd20324c2f2 b/fuzz/corpora/cmp/3fcc47a249f42616514853054bb9cbd20324c2f2 new file mode 100644 index 00000000..7b5681f6 Binary files /dev/null and b/fuzz/corpora/cmp/3fcc47a249f42616514853054bb9cbd20324c2f2 differ diff --git a/fuzz/corpora/cmp/3fcf6f855d276eec52367bae1f4c3bca998e7027 b/fuzz/corpora/cmp/3fcf6f855d276eec52367bae1f4c3bca998e7027 new file mode 100644 index 00000000..4f13ac0b Binary files /dev/null and b/fuzz/corpora/cmp/3fcf6f855d276eec52367bae1f4c3bca998e7027 differ diff --git a/fuzz/corpora/cmp/3ff5dbfdebed25c4a54d22acc9bdafec434aa5f1 b/fuzz/corpora/cmp/3ff5dbfdebed25c4a54d22acc9bdafec434aa5f1 new file mode 100644 index 00000000..a4153534 Binary files /dev/null and b/fuzz/corpora/cmp/3ff5dbfdebed25c4a54d22acc9bdafec434aa5f1 differ diff --git a/fuzz/corpora/cmp/4023b7f3d8a7587d24400f379a3d4b18efb1301c b/fuzz/corpora/cmp/4023b7f3d8a7587d24400f379a3d4b18efb1301c new file mode 100644 index 00000000..551a0766 Binary files /dev/null and b/fuzz/corpora/cmp/4023b7f3d8a7587d24400f379a3d4b18efb1301c differ diff --git a/fuzz/corpora/cmp/40262064cdaea7f5ce0f50d732d9472753138209 b/fuzz/corpora/cmp/40262064cdaea7f5ce0f50d732d9472753138209 new file mode 100644 index 00000000..cb73bec3 Binary files /dev/null and b/fuzz/corpora/cmp/40262064cdaea7f5ce0f50d732d9472753138209 differ diff --git a/fuzz/corpora/cmp/4033a732bff767b34815bf075d9a3341e5c7e463 b/fuzz/corpora/cmp/4033a732bff767b34815bf075d9a3341e5c7e463 new file mode 100644 index 00000000..b70eef00 Binary files /dev/null and b/fuzz/corpora/cmp/4033a732bff767b34815bf075d9a3341e5c7e463 differ diff --git a/fuzz/corpora/cmp/4046bab7f2e07b9ecb2538d3d09700a515111e62 b/fuzz/corpora/cmp/4046bab7f2e07b9ecb2538d3d09700a515111e62 new file mode 100644 index 00000000..2665255d --- /dev/null +++ b/fuzz/corpora/cmp/4046bab7f2e07b9ecb2538d3d09700a515111e62 @@ -0,0 +1 @@ +0½ \ No newline at end of file diff --git a/fuzz/corpora/cmp/404f3e83ccbe82a65fe8d38a9bbd10ece10fb792 b/fuzz/corpora/cmp/404f3e83ccbe82a65fe8d38a9bbd10ece10fb792 new file mode 100644 index 00000000..da23d491 Binary files /dev/null and b/fuzz/corpora/cmp/404f3e83ccbe82a65fe8d38a9bbd10ece10fb792 differ diff --git a/fuzz/corpora/cmp/405087953c4597fd110b356454d1a5249bdad2a5 b/fuzz/corpora/cmp/405087953c4597fd110b356454d1a5249bdad2a5 new file mode 100644 index 00000000..ef485704 Binary files /dev/null and b/fuzz/corpora/cmp/405087953c4597fd110b356454d1a5249bdad2a5 differ diff --git a/fuzz/corpora/cmp/405905fe0576b982357bbad56cf411859d83a961 b/fuzz/corpora/cmp/405905fe0576b982357bbad56cf411859d83a961 new file mode 100644 index 00000000..e8a1b835 Binary files /dev/null and b/fuzz/corpora/cmp/405905fe0576b982357bbad56cf411859d83a961 differ diff --git a/fuzz/corpora/cmp/40593fa678d6cc1b98646a66ab37c426fb96d0f4 b/fuzz/corpora/cmp/40593fa678d6cc1b98646a66ab37c426fb96d0f4 new file mode 100644 index 00000000..a1c76b2e Binary files /dev/null and b/fuzz/corpora/cmp/40593fa678d6cc1b98646a66ab37c426fb96d0f4 differ diff --git a/fuzz/corpora/cmp/406bd9335eaf1af87dbb6b9c0c98c4b6178547fd b/fuzz/corpora/cmp/406bd9335eaf1af87dbb6b9c0c98c4b6178547fd new file mode 100644 index 00000000..8ad9617b Binary files /dev/null and b/fuzz/corpora/cmp/406bd9335eaf1af87dbb6b9c0c98c4b6178547fd differ diff --git a/fuzz/corpora/cmp/407218cadb3bb28183e3cf23c863beb4effc9b09 b/fuzz/corpora/cmp/407218cadb3bb28183e3cf23c863beb4effc9b09 new file mode 100644 index 00000000..534c954a Binary files /dev/null and b/fuzz/corpora/cmp/407218cadb3bb28183e3cf23c863beb4effc9b09 differ diff --git a/fuzz/corpora/cmp/408336b8cc03c44962d27284084b932c30f8bd35 b/fuzz/corpora/cmp/408336b8cc03c44962d27284084b932c30f8bd35 new file mode 100644 index 00000000..e74a8f3c Binary files /dev/null and b/fuzz/corpora/cmp/408336b8cc03c44962d27284084b932c30f8bd35 differ diff --git a/fuzz/corpora/cmp/409463ab02daed8c3f97c8e83dcafd0a9f9fdbb7 b/fuzz/corpora/cmp/409463ab02daed8c3f97c8e83dcafd0a9f9fdbb7 new file mode 100644 index 00000000..370f1240 Binary files /dev/null and b/fuzz/corpora/cmp/409463ab02daed8c3f97c8e83dcafd0a9f9fdbb7 differ diff --git a/fuzz/corpora/cmp/409a997a43221264507cd9e81341268d861f0243 b/fuzz/corpora/cmp/409a997a43221264507cd9e81341268d861f0243 new file mode 100644 index 00000000..d8b2c78e Binary files /dev/null and b/fuzz/corpora/cmp/409a997a43221264507cd9e81341268d861f0243 differ diff --git a/fuzz/corpora/cmp/40a820ab8bc1306ee7b6d00d5df32c8e8ba4cf68 b/fuzz/corpora/cmp/40a820ab8bc1306ee7b6d00d5df32c8e8ba4cf68 new file mode 100644 index 00000000..d2f7355d Binary files /dev/null and b/fuzz/corpora/cmp/40a820ab8bc1306ee7b6d00d5df32c8e8ba4cf68 differ diff --git a/fuzz/corpora/cmp/40ab6e89e180f1c5b117be7330970a6d647ad823 b/fuzz/corpora/cmp/40ab6e89e180f1c5b117be7330970a6d647ad823 new file mode 100644 index 00000000..3c7c379c Binary files /dev/null and b/fuzz/corpora/cmp/40ab6e89e180f1c5b117be7330970a6d647ad823 differ diff --git a/fuzz/corpora/cmp/40d7b04ee436c33712e76f53016dfa4d691192ed b/fuzz/corpora/cmp/40d7b04ee436c33712e76f53016dfa4d691192ed new file mode 100644 index 00000000..c1834232 Binary files /dev/null and b/fuzz/corpora/cmp/40d7b04ee436c33712e76f53016dfa4d691192ed differ diff --git a/fuzz/corpora/cmp/40d8893364e70ad323cd4076a76fcf6ae0b2cc1c b/fuzz/corpora/cmp/40d8893364e70ad323cd4076a76fcf6ae0b2cc1c new file mode 100644 index 00000000..ac146ff1 Binary files /dev/null and b/fuzz/corpora/cmp/40d8893364e70ad323cd4076a76fcf6ae0b2cc1c differ diff --git a/fuzz/corpora/cmp/40dbacdfaf599d915d5bfc7c47768cec52c667e5 b/fuzz/corpora/cmp/40dbacdfaf599d915d5bfc7c47768cec52c667e5 new file mode 100644 index 00000000..a48440d2 Binary files /dev/null and b/fuzz/corpora/cmp/40dbacdfaf599d915d5bfc7c47768cec52c667e5 differ diff --git a/fuzz/corpora/cmp/40e6514495f7fe8b12903ee0afa5e6f6201407eb b/fuzz/corpora/cmp/40e6514495f7fe8b12903ee0afa5e6f6201407eb new file mode 100644 index 00000000..aaed1887 Binary files /dev/null and b/fuzz/corpora/cmp/40e6514495f7fe8b12903ee0afa5e6f6201407eb differ diff --git a/fuzz/corpora/cmp/40eb7c76515399115856984aa368123f8b5a16a6 b/fuzz/corpora/cmp/40eb7c76515399115856984aa368123f8b5a16a6 new file mode 100644 index 00000000..93a9b6e1 Binary files /dev/null and b/fuzz/corpora/cmp/40eb7c76515399115856984aa368123f8b5a16a6 differ diff --git a/fuzz/corpora/cmp/40f75a2f3c3d7103e34dbda02406fa7f50bb3d96 b/fuzz/corpora/cmp/40f75a2f3c3d7103e34dbda02406fa7f50bb3d96 new file mode 100644 index 00000000..2abf2f8d Binary files /dev/null and b/fuzz/corpora/cmp/40f75a2f3c3d7103e34dbda02406fa7f50bb3d96 differ diff --git a/fuzz/corpora/cmp/4113c708c9263eab6e0a06c498b7e5e8e208512f b/fuzz/corpora/cmp/4113c708c9263eab6e0a06c498b7e5e8e208512f new file mode 100644 index 00000000..d281e705 Binary files /dev/null and b/fuzz/corpora/cmp/4113c708c9263eab6e0a06c498b7e5e8e208512f differ diff --git a/fuzz/corpora/cmp/41153c56d70ef21cab2f6eb40475be32b43ee832 b/fuzz/corpora/cmp/41153c56d70ef21cab2f6eb40475be32b43ee832 new file mode 100644 index 00000000..bf5fc8e0 Binary files /dev/null and b/fuzz/corpora/cmp/41153c56d70ef21cab2f6eb40475be32b43ee832 differ diff --git a/fuzz/corpora/cmp/411cd4c91b85d04b4c9a0688c8ccfdec7bd21c04 b/fuzz/corpora/cmp/411cd4c91b85d04b4c9a0688c8ccfdec7bd21c04 new file mode 100644 index 00000000..db75767a Binary files /dev/null and b/fuzz/corpora/cmp/411cd4c91b85d04b4c9a0688c8ccfdec7bd21c04 differ diff --git a/fuzz/corpora/cmp/412a9b19b7e9b02d21480770a0715654bdae7c3d b/fuzz/corpora/cmp/412a9b19b7e9b02d21480770a0715654bdae7c3d new file mode 100644 index 00000000..6b17d0de Binary files /dev/null and b/fuzz/corpora/cmp/412a9b19b7e9b02d21480770a0715654bdae7c3d differ diff --git a/fuzz/corpora/cmp/4134a7fd33f8f636acc6d49c5cbf31c45a5b10dc b/fuzz/corpora/cmp/4134a7fd33f8f636acc6d49c5cbf31c45a5b10dc new file mode 100644 index 00000000..a824c186 Binary files /dev/null and b/fuzz/corpora/cmp/4134a7fd33f8f636acc6d49c5cbf31c45a5b10dc differ diff --git a/fuzz/corpora/cmp/413fd001b36d65126ad455a21480d594b97ed102 b/fuzz/corpora/cmp/413fd001b36d65126ad455a21480d594b97ed102 new file mode 100644 index 00000000..d1c6cf69 Binary files /dev/null and b/fuzz/corpora/cmp/413fd001b36d65126ad455a21480d594b97ed102 differ diff --git a/fuzz/corpora/cmp/41511fca75b44248944f8d353dda90a445692dc5 b/fuzz/corpora/cmp/41511fca75b44248944f8d353dda90a445692dc5 new file mode 100644 index 00000000..f242c2ec Binary files /dev/null and b/fuzz/corpora/cmp/41511fca75b44248944f8d353dda90a445692dc5 differ diff --git a/fuzz/corpora/cmp/41662db96683ee56ff7ff769dfe2eceed04317a4 b/fuzz/corpora/cmp/41662db96683ee56ff7ff769dfe2eceed04317a4 new file mode 100644 index 00000000..c1005f95 Binary files /dev/null and b/fuzz/corpora/cmp/41662db96683ee56ff7ff769dfe2eceed04317a4 differ diff --git a/fuzz/corpora/cmp/416a9de9fac7a921017d39eebb6a87e53240a23e b/fuzz/corpora/cmp/416a9de9fac7a921017d39eebb6a87e53240a23e new file mode 100644 index 00000000..0e818d2b Binary files /dev/null and b/fuzz/corpora/cmp/416a9de9fac7a921017d39eebb6a87e53240a23e differ diff --git a/fuzz/corpora/cmp/4171cf5bb5f71bcf6614fa6ed775f60cd2e95ea8 b/fuzz/corpora/cmp/4171cf5bb5f71bcf6614fa6ed775f60cd2e95ea8 new file mode 100644 index 00000000..cf5d2ee2 --- /dev/null +++ b/fuzz/corpora/cmp/4171cf5bb5f71bcf6614fa6ed775f60cd2e95ea8 @@ -0,0 +1 @@ +  \ No newline at end of file diff --git a/fuzz/corpora/cmp/4179bb6441eca88b4a9908ee4c2b7ac83a79b1db b/fuzz/corpora/cmp/4179bb6441eca88b4a9908ee4c2b7ac83a79b1db new file mode 100644 index 00000000..a1c7654e Binary files /dev/null and b/fuzz/corpora/cmp/4179bb6441eca88b4a9908ee4c2b7ac83a79b1db differ diff --git a/fuzz/corpora/cmp/417f5bb92c66a2bb4cc3f8758e29b9bb186ebd1b b/fuzz/corpora/cmp/417f5bb92c66a2bb4cc3f8758e29b9bb186ebd1b new file mode 100644 index 00000000..edfd599c Binary files /dev/null and b/fuzz/corpora/cmp/417f5bb92c66a2bb4cc3f8758e29b9bb186ebd1b differ diff --git a/fuzz/corpora/cmp/41800a4957cf71e5cada24e2769c574180af64d1 b/fuzz/corpora/cmp/41800a4957cf71e5cada24e2769c574180af64d1 new file mode 100644 index 00000000..017b5898 Binary files /dev/null and b/fuzz/corpora/cmp/41800a4957cf71e5cada24e2769c574180af64d1 differ diff --git a/fuzz/corpora/cmp/419034621666648ba0223fff349a5c6571865b54 b/fuzz/corpora/cmp/419034621666648ba0223fff349a5c6571865b54 new file mode 100644 index 00000000..1957a5d7 Binary files /dev/null and b/fuzz/corpora/cmp/419034621666648ba0223fff349a5c6571865b54 differ diff --git a/fuzz/corpora/cmp/419605722c06f3fd76829b8683004a5a2573984e b/fuzz/corpora/cmp/419605722c06f3fd76829b8683004a5a2573984e new file mode 100644 index 00000000..9873c8c8 Binary files /dev/null and b/fuzz/corpora/cmp/419605722c06f3fd76829b8683004a5a2573984e differ diff --git a/fuzz/corpora/cmp/41976febf3f7883b44882c4adc1c4b4243030aed b/fuzz/corpora/cmp/41976febf3f7883b44882c4adc1c4b4243030aed new file mode 100644 index 00000000..48c4e25b Binary files /dev/null and b/fuzz/corpora/cmp/41976febf3f7883b44882c4adc1c4b4243030aed differ diff --git a/fuzz/corpora/cmp/41a5b7b0f3af0d75aa42fcc16371caf8a1237532 b/fuzz/corpora/cmp/41a5b7b0f3af0d75aa42fcc16371caf8a1237532 new file mode 100644 index 00000000..4ff25be2 Binary files /dev/null and b/fuzz/corpora/cmp/41a5b7b0f3af0d75aa42fcc16371caf8a1237532 differ diff --git a/fuzz/corpora/cmp/41c39c86c4860fe2075a5eba0fcf02fc368eaa3f b/fuzz/corpora/cmp/41c39c86c4860fe2075a5eba0fcf02fc368eaa3f new file mode 100644 index 00000000..c0403d43 Binary files /dev/null and b/fuzz/corpora/cmp/41c39c86c4860fe2075a5eba0fcf02fc368eaa3f differ diff --git a/fuzz/corpora/cmp/42099b4af021e53fd8fd4e056c2568d7c2e3ffa8 b/fuzz/corpora/cmp/42099b4af021e53fd8fd4e056c2568d7c2e3ffa8 new file mode 100644 index 00000000..35ec3b9d --- /dev/null +++ b/fuzz/corpora/cmp/42099b4af021e53fd8fd4e056c2568d7c2e3ffa8 @@ -0,0 +1 @@ +/ \ No newline at end of file diff --git a/fuzz/corpora/cmp/421d62cffc7b90faa561944d23dffcfac405b6c2 b/fuzz/corpora/cmp/421d62cffc7b90faa561944d23dffcfac405b6c2 new file mode 100644 index 00000000..b342d0b2 Binary files /dev/null and b/fuzz/corpora/cmp/421d62cffc7b90faa561944d23dffcfac405b6c2 differ diff --git a/fuzz/corpora/cmp/42252c762f2b5d53faa5c2d6e267d7c3e873b47f b/fuzz/corpora/cmp/42252c762f2b5d53faa5c2d6e267d7c3e873b47f new file mode 100644 index 00000000..b64f7964 Binary files /dev/null and b/fuzz/corpora/cmp/42252c762f2b5d53faa5c2d6e267d7c3e873b47f differ diff --git a/fuzz/corpora/cmp/42392dc01d6d2283122e0d1690a6e54a4acabd4d b/fuzz/corpora/cmp/42392dc01d6d2283122e0d1690a6e54a4acabd4d new file mode 100644 index 00000000..2632c0c7 Binary files /dev/null and b/fuzz/corpora/cmp/42392dc01d6d2283122e0d1690a6e54a4acabd4d differ diff --git a/fuzz/corpora/cmp/427354d55c46d355797bb5ddfc4ccddd4fc55988 b/fuzz/corpora/cmp/427354d55c46d355797bb5ddfc4ccddd4fc55988 new file mode 100644 index 00000000..00277c6b Binary files /dev/null and b/fuzz/corpora/cmp/427354d55c46d355797bb5ddfc4ccddd4fc55988 differ diff --git a/fuzz/corpora/cmp/427f81e402240604aa07fd508132025906e0452d b/fuzz/corpora/cmp/427f81e402240604aa07fd508132025906e0452d new file mode 100644 index 00000000..72af0135 Binary files /dev/null and b/fuzz/corpora/cmp/427f81e402240604aa07fd508132025906e0452d differ diff --git a/fuzz/corpora/cmp/428bf8c11d3e22f474b22b51e0cfedae2a7ec12f b/fuzz/corpora/cmp/428bf8c11d3e22f474b22b51e0cfedae2a7ec12f new file mode 100644 index 00000000..4a23bef9 Binary files /dev/null and b/fuzz/corpora/cmp/428bf8c11d3e22f474b22b51e0cfedae2a7ec12f differ diff --git a/fuzz/corpora/cmp/42908dcc0ae6207b5dba3d78e3b7233554501529 b/fuzz/corpora/cmp/42908dcc0ae6207b5dba3d78e3b7233554501529 new file mode 100644 index 00000000..bebca111 Binary files /dev/null and b/fuzz/corpora/cmp/42908dcc0ae6207b5dba3d78e3b7233554501529 differ diff --git a/fuzz/corpora/cmp/429c16e9da4bf2f1fe598dd3d9635f73c76d356e b/fuzz/corpora/cmp/429c16e9da4bf2f1fe598dd3d9635f73c76d356e new file mode 100644 index 00000000..bee9b96b Binary files /dev/null and b/fuzz/corpora/cmp/429c16e9da4bf2f1fe598dd3d9635f73c76d356e differ diff --git a/fuzz/corpora/cmp/42a043ad22d485a5d6666cd9f8c9cc6def1ecd22 b/fuzz/corpora/cmp/42a043ad22d485a5d6666cd9f8c9cc6def1ecd22 new file mode 100644 index 00000000..1d0dadcb Binary files /dev/null and b/fuzz/corpora/cmp/42a043ad22d485a5d6666cd9f8c9cc6def1ecd22 differ diff --git a/fuzz/corpora/cmp/42a39a6d5002147b93134e96c4d3efd72220c2a9 b/fuzz/corpora/cmp/42a39a6d5002147b93134e96c4d3efd72220c2a9 new file mode 100644 index 00000000..18742859 Binary files /dev/null and b/fuzz/corpora/cmp/42a39a6d5002147b93134e96c4d3efd72220c2a9 differ diff --git a/fuzz/corpora/cmp/42adfdc409192e7b66f4c6865dfc8fe408910aca b/fuzz/corpora/cmp/42adfdc409192e7b66f4c6865dfc8fe408910aca new file mode 100644 index 00000000..2a5182fd Binary files /dev/null and b/fuzz/corpora/cmp/42adfdc409192e7b66f4c6865dfc8fe408910aca differ diff --git a/fuzz/corpora/cmp/42b0be0e9803528319a262d1434c3ea7ee3134b5 b/fuzz/corpora/cmp/42b0be0e9803528319a262d1434c3ea7ee3134b5 new file mode 100644 index 00000000..8e9aa7eb Binary files /dev/null and b/fuzz/corpora/cmp/42b0be0e9803528319a262d1434c3ea7ee3134b5 differ diff --git a/fuzz/corpora/cmp/42c01ff84ff623935d1bab8e057ca2daab0c7932 b/fuzz/corpora/cmp/42c01ff84ff623935d1bab8e057ca2daab0c7932 new file mode 100644 index 00000000..d14cf82a Binary files /dev/null and b/fuzz/corpora/cmp/42c01ff84ff623935d1bab8e057ca2daab0c7932 differ diff --git a/fuzz/corpora/cmp/42d3e883cc5ff8cefd0f4721a43ceaaffc33d5c0 b/fuzz/corpora/cmp/42d3e883cc5ff8cefd0f4721a43ceaaffc33d5c0 new file mode 100644 index 00000000..962262ed Binary files /dev/null and b/fuzz/corpora/cmp/42d3e883cc5ff8cefd0f4721a43ceaaffc33d5c0 differ diff --git a/fuzz/corpora/cmp/42d4d2f6b260e4bca037508d148ab257dec770cb b/fuzz/corpora/cmp/42d4d2f6b260e4bca037508d148ab257dec770cb new file mode 100644 index 00000000..226de2f0 Binary files /dev/null and b/fuzz/corpora/cmp/42d4d2f6b260e4bca037508d148ab257dec770cb differ diff --git a/fuzz/corpora/cmp/42dc4a9d7c04cc607aae06ae12af9a96daf8fbfa b/fuzz/corpora/cmp/42dc4a9d7c04cc607aae06ae12af9a96daf8fbfa new file mode 100644 index 00000000..a8964523 Binary files /dev/null and b/fuzz/corpora/cmp/42dc4a9d7c04cc607aae06ae12af9a96daf8fbfa differ diff --git a/fuzz/corpora/cmp/42f3ce1d4cb156e4d090fe90588adaa2c743437f b/fuzz/corpora/cmp/42f3ce1d4cb156e4d090fe90588adaa2c743437f new file mode 100644 index 00000000..f05f84ec Binary files /dev/null and b/fuzz/corpora/cmp/42f3ce1d4cb156e4d090fe90588adaa2c743437f differ diff --git a/fuzz/corpora/cmp/42f91511a842ead6b3d11183d61a251c82832fde b/fuzz/corpora/cmp/42f91511a842ead6b3d11183d61a251c82832fde new file mode 100644 index 00000000..3cb78f05 Binary files /dev/null and b/fuzz/corpora/cmp/42f91511a842ead6b3d11183d61a251c82832fde differ diff --git a/fuzz/corpora/cmp/4306cdbff53831910206db740e5254ab9ef17fcb b/fuzz/corpora/cmp/4306cdbff53831910206db740e5254ab9ef17fcb new file mode 100644 index 00000000..7a727c79 Binary files /dev/null and b/fuzz/corpora/cmp/4306cdbff53831910206db740e5254ab9ef17fcb differ diff --git a/fuzz/corpora/cmp/43108262d24e845d1db278594d8b6ff2ad3324c0 b/fuzz/corpora/cmp/43108262d24e845d1db278594d8b6ff2ad3324c0 new file mode 100644 index 00000000..5085912b Binary files /dev/null and b/fuzz/corpora/cmp/43108262d24e845d1db278594d8b6ff2ad3324c0 differ diff --git a/fuzz/corpora/cmp/4320d45bfb8434c45acd2e074239563146cba646 b/fuzz/corpora/cmp/4320d45bfb8434c45acd2e074239563146cba646 new file mode 100644 index 00000000..b8e73a83 Binary files /dev/null and b/fuzz/corpora/cmp/4320d45bfb8434c45acd2e074239563146cba646 differ diff --git a/fuzz/corpora/cmp/4324e3a8b81602527c95b7df6e68757df3eb6b9e b/fuzz/corpora/cmp/4324e3a8b81602527c95b7df6e68757df3eb6b9e new file mode 100644 index 00000000..5ef13596 Binary files /dev/null and b/fuzz/corpora/cmp/4324e3a8b81602527c95b7df6e68757df3eb6b9e differ diff --git a/fuzz/corpora/cmp/4328b94df860c7f463d47df32eb2938781218fb9 b/fuzz/corpora/cmp/4328b94df860c7f463d47df32eb2938781218fb9 new file mode 100644 index 00000000..8667ec85 Binary files /dev/null and b/fuzz/corpora/cmp/4328b94df860c7f463d47df32eb2938781218fb9 differ diff --git a/fuzz/corpora/cmp/4332389c9e9594a875b3ac86307be72454117ef6 b/fuzz/corpora/cmp/4332389c9e9594a875b3ac86307be72454117ef6 new file mode 100644 index 00000000..e2e71e71 Binary files /dev/null and b/fuzz/corpora/cmp/4332389c9e9594a875b3ac86307be72454117ef6 differ diff --git a/fuzz/corpora/cmp/4340b8c07d13e9eb3bd75086ad69cd779ef5e43e b/fuzz/corpora/cmp/4340b8c07d13e9eb3bd75086ad69cd779ef5e43e new file mode 100644 index 00000000..7deb3392 Binary files /dev/null and b/fuzz/corpora/cmp/4340b8c07d13e9eb3bd75086ad69cd779ef5e43e differ diff --git a/fuzz/corpora/cmp/434cb4aac3198a9cda364da0d114b0df252c726b b/fuzz/corpora/cmp/434cb4aac3198a9cda364da0d114b0df252c726b new file mode 100644 index 00000000..41110bd8 Binary files /dev/null and b/fuzz/corpora/cmp/434cb4aac3198a9cda364da0d114b0df252c726b differ diff --git a/fuzz/corpora/cmp/4355d36d8713df6e958ed53c4364a44a39c59627 b/fuzz/corpora/cmp/4355d36d8713df6e958ed53c4364a44a39c59627 new file mode 100644 index 00000000..0674e56c Binary files /dev/null and b/fuzz/corpora/cmp/4355d36d8713df6e958ed53c4364a44a39c59627 differ diff --git a/fuzz/corpora/cmp/4374c39eb79272306aa70971f5bc44b7ed7d4358 b/fuzz/corpora/cmp/4374c39eb79272306aa70971f5bc44b7ed7d4358 new file mode 100644 index 00000000..d5aa1228 Binary files /dev/null and b/fuzz/corpora/cmp/4374c39eb79272306aa70971f5bc44b7ed7d4358 differ diff --git a/fuzz/corpora/cmp/438859bb7b41ed43f31a1f0bf357f89f0fae0846 b/fuzz/corpora/cmp/438859bb7b41ed43f31a1f0bf357f89f0fae0846 new file mode 100644 index 00000000..b88c602f Binary files /dev/null and b/fuzz/corpora/cmp/438859bb7b41ed43f31a1f0bf357f89f0fae0846 differ diff --git a/fuzz/corpora/cmp/438b6793d50bbd84d031ba28a0d4d2f97f647c90 b/fuzz/corpora/cmp/438b6793d50bbd84d031ba28a0d4d2f97f647c90 new file mode 100644 index 00000000..79cc1d39 Binary files /dev/null and b/fuzz/corpora/cmp/438b6793d50bbd84d031ba28a0d4d2f97f647c90 differ diff --git a/fuzz/corpora/cmp/43bdc45e276efc51dae4ab3733e57f5f20caf878 b/fuzz/corpora/cmp/43bdc45e276efc51dae4ab3733e57f5f20caf878 new file mode 100644 index 00000000..489b620e Binary files /dev/null and b/fuzz/corpora/cmp/43bdc45e276efc51dae4ab3733e57f5f20caf878 differ diff --git a/fuzz/corpora/cmp/43c9efa03e9e4c158d86a245491de450aee69223 b/fuzz/corpora/cmp/43c9efa03e9e4c158d86a245491de450aee69223 new file mode 100644 index 00000000..b7558b4e Binary files /dev/null and b/fuzz/corpora/cmp/43c9efa03e9e4c158d86a245491de450aee69223 differ diff --git a/fuzz/corpora/cmp/43d5a4733d8737e9e6fd6908a9eedfdba7c9c1be b/fuzz/corpora/cmp/43d5a4733d8737e9e6fd6908a9eedfdba7c9c1be new file mode 100644 index 00000000..4f6803ec Binary files /dev/null and b/fuzz/corpora/cmp/43d5a4733d8737e9e6fd6908a9eedfdba7c9c1be differ diff --git a/fuzz/corpora/cmp/43d5d30d1691a8090f5d0b816e269a3456ec32ba b/fuzz/corpora/cmp/43d5d30d1691a8090f5d0b816e269a3456ec32ba new file mode 100644 index 00000000..bd433f0a Binary files /dev/null and b/fuzz/corpora/cmp/43d5d30d1691a8090f5d0b816e269a3456ec32ba differ diff --git a/fuzz/corpora/cmp/43d822252ac9117d3c8cdb6bd2764cfeb1aeee81 b/fuzz/corpora/cmp/43d822252ac9117d3c8cdb6bd2764cfeb1aeee81 new file mode 100644 index 00000000..2b05c525 Binary files /dev/null and b/fuzz/corpora/cmp/43d822252ac9117d3c8cdb6bd2764cfeb1aeee81 differ diff --git a/fuzz/corpora/cmp/43dce09524badf8576610eba9bb8c5ba8ecdb7fb b/fuzz/corpora/cmp/43dce09524badf8576610eba9bb8c5ba8ecdb7fb new file mode 100644 index 00000000..fb859799 Binary files /dev/null and b/fuzz/corpora/cmp/43dce09524badf8576610eba9bb8c5ba8ecdb7fb differ diff --git a/fuzz/corpora/cmp/4409009f6db5a4b56e0faa91bb9461a30600ffbf b/fuzz/corpora/cmp/4409009f6db5a4b56e0faa91bb9461a30600ffbf new file mode 100644 index 00000000..c5e342bb Binary files /dev/null and b/fuzz/corpora/cmp/4409009f6db5a4b56e0faa91bb9461a30600ffbf differ diff --git a/fuzz/corpora/cmp/4409cdc5a4558a9c984e153bb6192eff42e8a9c9 b/fuzz/corpora/cmp/4409cdc5a4558a9c984e153bb6192eff42e8a9c9 new file mode 100644 index 00000000..88119327 Binary files /dev/null and b/fuzz/corpora/cmp/4409cdc5a4558a9c984e153bb6192eff42e8a9c9 differ diff --git a/fuzz/corpora/cmp/440d6bfa99d4a3b3eceaa2aa9365191e63d0ec2f b/fuzz/corpora/cmp/440d6bfa99d4a3b3eceaa2aa9365191e63d0ec2f new file mode 100644 index 00000000..9d0ebad9 Binary files /dev/null and b/fuzz/corpora/cmp/440d6bfa99d4a3b3eceaa2aa9365191e63d0ec2f differ diff --git a/fuzz/corpora/cmp/442a57b751cba756b53e5abe3ee3f3268894df90 b/fuzz/corpora/cmp/442a57b751cba756b53e5abe3ee3f3268894df90 new file mode 100644 index 00000000..4c5982b0 Binary files /dev/null and b/fuzz/corpora/cmp/442a57b751cba756b53e5abe3ee3f3268894df90 differ diff --git a/fuzz/corpora/cmp/444622cb611d564ef94d2d4d755cb0bfe6818798 b/fuzz/corpora/cmp/444622cb611d564ef94d2d4d755cb0bfe6818798 new file mode 100644 index 00000000..8aef62bc Binary files /dev/null and b/fuzz/corpora/cmp/444622cb611d564ef94d2d4d755cb0bfe6818798 differ diff --git a/fuzz/corpora/cmp/44474eb7b93bfdf0e5f500c020fee21ed55b9982 b/fuzz/corpora/cmp/44474eb7b93bfdf0e5f500c020fee21ed55b9982 new file mode 100644 index 00000000..4fd8dc9d Binary files /dev/null and b/fuzz/corpora/cmp/44474eb7b93bfdf0e5f500c020fee21ed55b9982 differ diff --git a/fuzz/corpora/cmp/444af4db562cfdd9fc3968a0b5bb8ad401beffe4 b/fuzz/corpora/cmp/444af4db562cfdd9fc3968a0b5bb8ad401beffe4 new file mode 100644 index 00000000..fcfb03cc Binary files /dev/null and b/fuzz/corpora/cmp/444af4db562cfdd9fc3968a0b5bb8ad401beffe4 differ diff --git a/fuzz/corpora/cmp/4456c7d57a429cef1657de0e953adf1dc3ada74c b/fuzz/corpora/cmp/4456c7d57a429cef1657de0e953adf1dc3ada74c new file mode 100644 index 00000000..df3b0ca9 Binary files /dev/null and b/fuzz/corpora/cmp/4456c7d57a429cef1657de0e953adf1dc3ada74c differ diff --git a/fuzz/corpora/cmp/445c7a34aaa2b81aa7f43fc3deda99064e7af896 b/fuzz/corpora/cmp/445c7a34aaa2b81aa7f43fc3deda99064e7af896 new file mode 100644 index 00000000..c7cf552a Binary files /dev/null and b/fuzz/corpora/cmp/445c7a34aaa2b81aa7f43fc3deda99064e7af896 differ diff --git a/fuzz/corpora/cmp/4472542de0e41cce5a589ccb7de5ff98f0fcbf63 b/fuzz/corpora/cmp/4472542de0e41cce5a589ccb7de5ff98f0fcbf63 new file mode 100644 index 00000000..1bb70e36 Binary files /dev/null and b/fuzz/corpora/cmp/4472542de0e41cce5a589ccb7de5ff98f0fcbf63 differ diff --git a/fuzz/corpora/cmp/44754b3798dc193a8bdc4f0968bb4c283f243454 b/fuzz/corpora/cmp/44754b3798dc193a8bdc4f0968bb4c283f243454 new file mode 100644 index 00000000..716c3f6a Binary files /dev/null and b/fuzz/corpora/cmp/44754b3798dc193a8bdc4f0968bb4c283f243454 differ diff --git a/fuzz/corpora/cmp/449d93c4d1245810ef0b56b3147ab54f3b6db613 b/fuzz/corpora/cmp/449d93c4d1245810ef0b56b3147ab54f3b6db613 new file mode 100644 index 00000000..1b13d1b6 Binary files /dev/null and b/fuzz/corpora/cmp/449d93c4d1245810ef0b56b3147ab54f3b6db613 differ diff --git a/fuzz/corpora/cmp/44b5e26ad609d15d6ecf42f3de2b61c443ac1345 b/fuzz/corpora/cmp/44b5e26ad609d15d6ecf42f3de2b61c443ac1345 new file mode 100644 index 00000000..28cffa91 Binary files /dev/null and b/fuzz/corpora/cmp/44b5e26ad609d15d6ecf42f3de2b61c443ac1345 differ diff --git a/fuzz/corpora/cmp/44b834a0ef55e3af46f88aeac3cb14b3210b4d19 b/fuzz/corpora/cmp/44b834a0ef55e3af46f88aeac3cb14b3210b4d19 new file mode 100644 index 00000000..5a244917 Binary files /dev/null and b/fuzz/corpora/cmp/44b834a0ef55e3af46f88aeac3cb14b3210b4d19 differ diff --git a/fuzz/corpora/cmp/44bc073869f8fb64f3735c21d4ce2ca95c798063 b/fuzz/corpora/cmp/44bc073869f8fb64f3735c21d4ce2ca95c798063 new file mode 100644 index 00000000..98b4d16c Binary files /dev/null and b/fuzz/corpora/cmp/44bc073869f8fb64f3735c21d4ce2ca95c798063 differ diff --git a/fuzz/corpora/cmp/44c110ccb0e83af5c90a52862754be9705b3b40d b/fuzz/corpora/cmp/44c110ccb0e83af5c90a52862754be9705b3b40d new file mode 100644 index 00000000..451d3cb2 Binary files /dev/null and b/fuzz/corpora/cmp/44c110ccb0e83af5c90a52862754be9705b3b40d differ diff --git a/fuzz/corpora/cmp/44c2e516ae7153aa0dfda40a1653de05199cc334 b/fuzz/corpora/cmp/44c2e516ae7153aa0dfda40a1653de05199cc334 new file mode 100644 index 00000000..8e8e46c4 Binary files /dev/null and b/fuzz/corpora/cmp/44c2e516ae7153aa0dfda40a1653de05199cc334 differ diff --git a/fuzz/corpora/cmp/44ea957234a591d73cc7954cf790aaaa06d9fd36 b/fuzz/corpora/cmp/44ea957234a591d73cc7954cf790aaaa06d9fd36 new file mode 100644 index 00000000..5d34cb33 Binary files /dev/null and b/fuzz/corpora/cmp/44ea957234a591d73cc7954cf790aaaa06d9fd36 differ diff --git a/fuzz/corpora/cmp/44f3a0f75ecde8ce92a5a31f843415690d4e0a2a b/fuzz/corpora/cmp/44f3a0f75ecde8ce92a5a31f843415690d4e0a2a new file mode 100644 index 00000000..c7713cb8 Binary files /dev/null and b/fuzz/corpora/cmp/44f3a0f75ecde8ce92a5a31f843415690d4e0a2a differ diff --git a/fuzz/corpora/cmp/44fcd6e81133fa4409c0f75593bd9b026abb2588 b/fuzz/corpora/cmp/44fcd6e81133fa4409c0f75593bd9b026abb2588 new file mode 100644 index 00000000..f85ac8dd Binary files /dev/null and b/fuzz/corpora/cmp/44fcd6e81133fa4409c0f75593bd9b026abb2588 differ diff --git a/fuzz/corpora/cmp/450f4ede620b4879921c08bf95343f48eb41442d b/fuzz/corpora/cmp/450f4ede620b4879921c08bf95343f48eb41442d new file mode 100644 index 00000000..eceacdc3 --- /dev/null +++ b/fuzz/corpora/cmp/450f4ede620b4879921c08bf95343f48eb41442d @@ -0,0 +1 @@ +,€-*!Ãÿÿÿ-qÿ]ÿÿÿ€vvvv, \ No newline at end of file diff --git a/fuzz/corpora/cmp/45118a0331cfb2e3245b52b8d0d8dded0b490414 b/fuzz/corpora/cmp/45118a0331cfb2e3245b52b8d0d8dded0b490414 new file mode 100644 index 00000000..a36c4fd9 Binary files /dev/null and b/fuzz/corpora/cmp/45118a0331cfb2e3245b52b8d0d8dded0b490414 differ diff --git a/fuzz/corpora/cmp/452f3dca1e3cf2d912538359561eb7c69b6f3664 b/fuzz/corpora/cmp/452f3dca1e3cf2d912538359561eb7c69b6f3664 new file mode 100644 index 00000000..8a4cbac4 Binary files /dev/null and b/fuzz/corpora/cmp/452f3dca1e3cf2d912538359561eb7c69b6f3664 differ diff --git a/fuzz/corpora/cmp/454712055e9a6445da0831bce60080c7f12f606b b/fuzz/corpora/cmp/454712055e9a6445da0831bce60080c7f12f606b new file mode 100644 index 00000000..e862bb90 Binary files /dev/null and b/fuzz/corpora/cmp/454712055e9a6445da0831bce60080c7f12f606b differ diff --git a/fuzz/corpora/cmp/454e06057c944677d21e23cda6c386f70e4d2992 b/fuzz/corpora/cmp/454e06057c944677d21e23cda6c386f70e4d2992 new file mode 100644 index 00000000..cc121b8c Binary files /dev/null and b/fuzz/corpora/cmp/454e06057c944677d21e23cda6c386f70e4d2992 differ diff --git a/fuzz/corpora/cmp/454fca88d3a990ea20e7564f7cd00078d81140db b/fuzz/corpora/cmp/454fca88d3a990ea20e7564f7cd00078d81140db new file mode 100644 index 00000000..cb631874 Binary files /dev/null and b/fuzz/corpora/cmp/454fca88d3a990ea20e7564f7cd00078d81140db differ diff --git a/fuzz/corpora/cmp/45527e9e18d71f2a5281efcab3f89e48ecb8281e b/fuzz/corpora/cmp/45527e9e18d71f2a5281efcab3f89e48ecb8281e new file mode 100644 index 00000000..b4fb0c8a Binary files /dev/null and b/fuzz/corpora/cmp/45527e9e18d71f2a5281efcab3f89e48ecb8281e differ diff --git a/fuzz/corpora/cmp/4556a1afbfec39502954f9d20bcdc96579c03096 b/fuzz/corpora/cmp/4556a1afbfec39502954f9d20bcdc96579c03096 new file mode 100644 index 00000000..55438aaa Binary files /dev/null and b/fuzz/corpora/cmp/4556a1afbfec39502954f9d20bcdc96579c03096 differ diff --git a/fuzz/corpora/cmp/4558d52e9443a5e939e96af6ddfc2a15c2b2b26c b/fuzz/corpora/cmp/4558d52e9443a5e939e96af6ddfc2a15c2b2b26c new file mode 100644 index 00000000..69cf10ba Binary files /dev/null and b/fuzz/corpora/cmp/4558d52e9443a5e939e96af6ddfc2a15c2b2b26c differ diff --git a/fuzz/corpora/cmp/455957498a6efdf30d27f1c8a0d23dba2d605009 b/fuzz/corpora/cmp/455957498a6efdf30d27f1c8a0d23dba2d605009 new file mode 100644 index 00000000..e800c939 Binary files /dev/null and b/fuzz/corpora/cmp/455957498a6efdf30d27f1c8a0d23dba2d605009 differ diff --git a/fuzz/corpora/cmp/4559d53e52cf5968563162c3fbaaac82ecfa151d b/fuzz/corpora/cmp/4559d53e52cf5968563162c3fbaaac82ecfa151d new file mode 100644 index 00000000..3f03ea8b Binary files /dev/null and b/fuzz/corpora/cmp/4559d53e52cf5968563162c3fbaaac82ecfa151d differ diff --git a/fuzz/corpora/cmp/456126beada26cef3b5444bfc0539fa66984b00d b/fuzz/corpora/cmp/456126beada26cef3b5444bfc0539fa66984b00d new file mode 100644 index 00000000..aed5d725 Binary files /dev/null and b/fuzz/corpora/cmp/456126beada26cef3b5444bfc0539fa66984b00d differ diff --git a/fuzz/corpora/cmp/456a885c7637a4e5775a0699340cdeedb7b7639f b/fuzz/corpora/cmp/456a885c7637a4e5775a0699340cdeedb7b7639f new file mode 100644 index 00000000..5e4a280d Binary files /dev/null and b/fuzz/corpora/cmp/456a885c7637a4e5775a0699340cdeedb7b7639f differ diff --git a/fuzz/corpora/cmp/456eb2abea9743178820e9275f37c8a23f865090 b/fuzz/corpora/cmp/456eb2abea9743178820e9275f37c8a23f865090 new file mode 100644 index 00000000..afebc127 Binary files /dev/null and b/fuzz/corpora/cmp/456eb2abea9743178820e9275f37c8a23f865090 differ diff --git a/fuzz/corpora/cmp/4598965a889a9154a7a16d63d1d454f7ca188684 b/fuzz/corpora/cmp/4598965a889a9154a7a16d63d1d454f7ca188684 new file mode 100644 index 00000000..7d65acb0 Binary files /dev/null and b/fuzz/corpora/cmp/4598965a889a9154a7a16d63d1d454f7ca188684 differ diff --git a/fuzz/corpora/cmp/459d07cc8341a9a616a1ae4a9571177c66371f5f b/fuzz/corpora/cmp/459d07cc8341a9a616a1ae4a9571177c66371f5f new file mode 100644 index 00000000..9bd3c5ac Binary files /dev/null and b/fuzz/corpora/cmp/459d07cc8341a9a616a1ae4a9571177c66371f5f differ diff --git a/fuzz/corpora/cmp/45bdf57e3ccb8c1ac0c4e7265b08d2f6c8f77638 b/fuzz/corpora/cmp/45bdf57e3ccb8c1ac0c4e7265b08d2f6c8f77638 new file mode 100644 index 00000000..987f7333 Binary files /dev/null and b/fuzz/corpora/cmp/45bdf57e3ccb8c1ac0c4e7265b08d2f6c8f77638 differ diff --git a/fuzz/corpora/cmp/45c75afb79b4602b3287eb8c02404572751b4127 b/fuzz/corpora/cmp/45c75afb79b4602b3287eb8c02404572751b4127 new file mode 100644 index 00000000..e6df12fb Binary files /dev/null and b/fuzz/corpora/cmp/45c75afb79b4602b3287eb8c02404572751b4127 differ diff --git a/fuzz/corpora/cmp/45ccf678ef4e7c8f5892535e4241877051db4402 b/fuzz/corpora/cmp/45ccf678ef4e7c8f5892535e4241877051db4402 new file mode 100644 index 00000000..0fc08fb5 Binary files /dev/null and b/fuzz/corpora/cmp/45ccf678ef4e7c8f5892535e4241877051db4402 differ diff --git a/fuzz/corpora/cmp/45e269076cab6d75e127854c1c2f6c0377734a65 b/fuzz/corpora/cmp/45e269076cab6d75e127854c1c2f6c0377734a65 new file mode 100644 index 00000000..c3f8ab97 Binary files /dev/null and b/fuzz/corpora/cmp/45e269076cab6d75e127854c1c2f6c0377734a65 differ diff --git a/fuzz/corpora/cmp/45e744b855a4cc7f31c62430c69e04cd84240147 b/fuzz/corpora/cmp/45e744b855a4cc7f31c62430c69e04cd84240147 new file mode 100644 index 00000000..2620018c Binary files /dev/null and b/fuzz/corpora/cmp/45e744b855a4cc7f31c62430c69e04cd84240147 differ diff --git a/fuzz/corpora/cmp/45f80e91a66f92469386af7f38d854d979594675 b/fuzz/corpora/cmp/45f80e91a66f92469386af7f38d854d979594675 new file mode 100644 index 00000000..2e3c78ad Binary files /dev/null and b/fuzz/corpora/cmp/45f80e91a66f92469386af7f38d854d979594675 differ diff --git a/fuzz/corpora/cmp/46021f09486c94528e38d2d2042e433e9d2e5e6e b/fuzz/corpora/cmp/46021f09486c94528e38d2d2042e433e9d2e5e6e new file mode 100644 index 00000000..fd1ebcdb Binary files /dev/null and b/fuzz/corpora/cmp/46021f09486c94528e38d2d2042e433e9d2e5e6e differ diff --git a/fuzz/corpora/cmp/4602787c891fa6118b9af80957d391e9512e828e b/fuzz/corpora/cmp/4602787c891fa6118b9af80957d391e9512e828e new file mode 100644 index 00000000..9fb01151 Binary files /dev/null and b/fuzz/corpora/cmp/4602787c891fa6118b9af80957d391e9512e828e differ diff --git a/fuzz/corpora/cmp/4606fe58526332feca0f96685f8468e6ea4ba0e5 b/fuzz/corpora/cmp/4606fe58526332feca0f96685f8468e6ea4ba0e5 new file mode 100644 index 00000000..2fbfc7ea Binary files /dev/null and b/fuzz/corpora/cmp/4606fe58526332feca0f96685f8468e6ea4ba0e5 differ diff --git a/fuzz/corpora/cmp/4637749f8727a39d7f8ad480ee520c0200c6bd16 b/fuzz/corpora/cmp/4637749f8727a39d7f8ad480ee520c0200c6bd16 new file mode 100644 index 00000000..7778409c Binary files /dev/null and b/fuzz/corpora/cmp/4637749f8727a39d7f8ad480ee520c0200c6bd16 differ diff --git a/fuzz/corpora/cmp/464e973038519bc218e21a43a54d4951e257afe8 b/fuzz/corpora/cmp/464e973038519bc218e21a43a54d4951e257afe8 new file mode 100644 index 00000000..7edaf355 Binary files /dev/null and b/fuzz/corpora/cmp/464e973038519bc218e21a43a54d4951e257afe8 differ diff --git a/fuzz/corpora/cmp/465562c4052f0709e5021a39fa693838708fcb7e b/fuzz/corpora/cmp/465562c4052f0709e5021a39fa693838708fcb7e new file mode 100644 index 00000000..56c8aa66 Binary files /dev/null and b/fuzz/corpora/cmp/465562c4052f0709e5021a39fa693838708fcb7e differ diff --git a/fuzz/corpora/cmp/465ba3b7af5a190e5fae182047b164e6f245f432 b/fuzz/corpora/cmp/465ba3b7af5a190e5fae182047b164e6f245f432 new file mode 100644 index 00000000..73d61b29 Binary files /dev/null and b/fuzz/corpora/cmp/465ba3b7af5a190e5fae182047b164e6f245f432 differ diff --git a/fuzz/corpora/cmp/466d55d9c57ca8dadb882b1a88dfad8ad35c2568 b/fuzz/corpora/cmp/466d55d9c57ca8dadb882b1a88dfad8ad35c2568 new file mode 100644 index 00000000..dbec90b0 Binary files /dev/null and b/fuzz/corpora/cmp/466d55d9c57ca8dadb882b1a88dfad8ad35c2568 differ diff --git a/fuzz/corpora/cmp/4679736d55b1a75a8b942c20e2789e81914d8045 b/fuzz/corpora/cmp/4679736d55b1a75a8b942c20e2789e81914d8045 new file mode 100644 index 00000000..32079a07 Binary files /dev/null and b/fuzz/corpora/cmp/4679736d55b1a75a8b942c20e2789e81914d8045 differ diff --git a/fuzz/corpora/cmp/467b550a1c49ea077170bd3e2c843807cecce4d8 b/fuzz/corpora/cmp/467b550a1c49ea077170bd3e2c843807cecce4d8 new file mode 100644 index 00000000..24811d07 Binary files /dev/null and b/fuzz/corpora/cmp/467b550a1c49ea077170bd3e2c843807cecce4d8 differ diff --git a/fuzz/corpora/cmp/468d84ad496a57752930c27a19551a6e8ae8110a b/fuzz/corpora/cmp/468d84ad496a57752930c27a19551a6e8ae8110a new file mode 100644 index 00000000..6bf11830 Binary files /dev/null and b/fuzz/corpora/cmp/468d84ad496a57752930c27a19551a6e8ae8110a differ diff --git a/fuzz/corpora/cmp/469a52147138b70d40bb6598bbc9c017a6022a9c b/fuzz/corpora/cmp/469a52147138b70d40bb6598bbc9c017a6022a9c new file mode 100644 index 00000000..a8b8d81a Binary files /dev/null and b/fuzz/corpora/cmp/469a52147138b70d40bb6598bbc9c017a6022a9c differ diff --git a/fuzz/corpora/cmp/46d09ed79653395d0266c0fccc5b59a652428f06 b/fuzz/corpora/cmp/46d09ed79653395d0266c0fccc5b59a652428f06 new file mode 100644 index 00000000..2b9d5da0 Binary files /dev/null and b/fuzz/corpora/cmp/46d09ed79653395d0266c0fccc5b59a652428f06 differ diff --git a/fuzz/corpora/cmp/46de93dd35e0ef349cdae485a820a01ed8e36f92 b/fuzz/corpora/cmp/46de93dd35e0ef349cdae485a820a01ed8e36f92 new file mode 100644 index 00000000..a3372993 Binary files /dev/null and b/fuzz/corpora/cmp/46de93dd35e0ef349cdae485a820a01ed8e36f92 differ diff --git a/fuzz/corpora/cmp/46f094290894b456cd5c186f53ac6418d38e113f b/fuzz/corpora/cmp/46f094290894b456cd5c186f53ac6418d38e113f new file mode 100644 index 00000000..cdef56bd Binary files /dev/null and b/fuzz/corpora/cmp/46f094290894b456cd5c186f53ac6418d38e113f differ diff --git a/fuzz/corpora/cmp/46f945bb35a5f3e13a7f272d51fdccdc816cce4d b/fuzz/corpora/cmp/46f945bb35a5f3e13a7f272d51fdccdc816cce4d new file mode 100644 index 00000000..d31f1822 Binary files /dev/null and b/fuzz/corpora/cmp/46f945bb35a5f3e13a7f272d51fdccdc816cce4d differ diff --git a/fuzz/corpora/cmp/47037c7e9939c0a394be9ff3b2545e3de2170b78 b/fuzz/corpora/cmp/47037c7e9939c0a394be9ff3b2545e3de2170b78 new file mode 100644 index 00000000..ce56420a Binary files /dev/null and b/fuzz/corpora/cmp/47037c7e9939c0a394be9ff3b2545e3de2170b78 differ diff --git a/fuzz/corpora/cmp/470cf00ebb6c1ba5ad8bd96bf0e9184ec24803c2 b/fuzz/corpora/cmp/470cf00ebb6c1ba5ad8bd96bf0e9184ec24803c2 new file mode 100644 index 00000000..bc8599ef Binary files /dev/null and b/fuzz/corpora/cmp/470cf00ebb6c1ba5ad8bd96bf0e9184ec24803c2 differ diff --git a/fuzz/corpora/cmp/473f85137983f62a4aa9dd8c1aa7375c67bd522e b/fuzz/corpora/cmp/473f85137983f62a4aa9dd8c1aa7375c67bd522e new file mode 100644 index 00000000..6a04118a Binary files /dev/null and b/fuzz/corpora/cmp/473f85137983f62a4aa9dd8c1aa7375c67bd522e differ diff --git a/fuzz/corpora/cmp/47535ccf43e51b41b21412487c16e005eecd8689 b/fuzz/corpora/cmp/47535ccf43e51b41b21412487c16e005eecd8689 new file mode 100644 index 00000000..adf4e3df Binary files /dev/null and b/fuzz/corpora/cmp/47535ccf43e51b41b21412487c16e005eecd8689 differ diff --git a/fuzz/corpora/cmp/47572ce352521b21b5c121918d15474866e1ee3e b/fuzz/corpora/cmp/47572ce352521b21b5c121918d15474866e1ee3e new file mode 100644 index 00000000..f1d9c24a Binary files /dev/null and b/fuzz/corpora/cmp/47572ce352521b21b5c121918d15474866e1ee3e differ diff --git a/fuzz/corpora/cmp/4788d691b848e8da9afee17b58904f9bed8d0519 b/fuzz/corpora/cmp/4788d691b848e8da9afee17b58904f9bed8d0519 new file mode 100644 index 00000000..dbf252ba Binary files /dev/null and b/fuzz/corpora/cmp/4788d691b848e8da9afee17b58904f9bed8d0519 differ diff --git a/fuzz/corpora/cmp/4793e7b39127cdfd95051c9e0f933ed4a7538859 b/fuzz/corpora/cmp/4793e7b39127cdfd95051c9e0f933ed4a7538859 new file mode 100644 index 00000000..25791236 Binary files /dev/null and b/fuzz/corpora/cmp/4793e7b39127cdfd95051c9e0f933ed4a7538859 differ diff --git a/fuzz/corpora/cmp/47a28c6b5f12672f7a63e4ec8fbcac15e6d330e9 b/fuzz/corpora/cmp/47a28c6b5f12672f7a63e4ec8fbcac15e6d330e9 new file mode 100644 index 00000000..a30734c2 Binary files /dev/null and b/fuzz/corpora/cmp/47a28c6b5f12672f7a63e4ec8fbcac15e6d330e9 differ diff --git a/fuzz/corpora/cmp/47ad6a3a783f60b5c093e39b3f7a3feb2e0856f4 b/fuzz/corpora/cmp/47ad6a3a783f60b5c093e39b3f7a3feb2e0856f4 new file mode 100644 index 00000000..c4372490 Binary files /dev/null and b/fuzz/corpora/cmp/47ad6a3a783f60b5c093e39b3f7a3feb2e0856f4 differ diff --git a/fuzz/corpora/cmp/47ad7c74d1ac312189e010a830246184ba6a3dc2 b/fuzz/corpora/cmp/47ad7c74d1ac312189e010a830246184ba6a3dc2 new file mode 100644 index 00000000..ec92076b --- /dev/null +++ b/fuzz/corpora/cmp/47ad7c74d1ac312189e010a830246184ba6a3dc2 @@ -0,0 +1 @@ +,€½€½€,€ \ No newline at end of file diff --git a/fuzz/corpora/cmp/47b19dac2102a17077dec40ada0d50f957c6b889 b/fuzz/corpora/cmp/47b19dac2102a17077dec40ada0d50f957c6b889 new file mode 100644 index 00000000..026d85c3 Binary files /dev/null and b/fuzz/corpora/cmp/47b19dac2102a17077dec40ada0d50f957c6b889 differ diff --git a/fuzz/corpora/cmp/47b2413292536f2d18bf8b38a2116a3c3c4eb4cf b/fuzz/corpora/cmp/47b2413292536f2d18bf8b38a2116a3c3c4eb4cf new file mode 100644 index 00000000..d54599a1 Binary files /dev/null and b/fuzz/corpora/cmp/47b2413292536f2d18bf8b38a2116a3c3c4eb4cf differ diff --git a/fuzz/corpora/cmp/47b5f9cc6c96fc6d6271be43802f85d0ad1b8ef2 b/fuzz/corpora/cmp/47b5f9cc6c96fc6d6271be43802f85d0ad1b8ef2 new file mode 100644 index 00000000..404d3852 Binary files /dev/null and b/fuzz/corpora/cmp/47b5f9cc6c96fc6d6271be43802f85d0ad1b8ef2 differ diff --git a/fuzz/corpora/cmp/47c4fb148791eac2d29ab386c9aa18e6fd064591 b/fuzz/corpora/cmp/47c4fb148791eac2d29ab386c9aa18e6fd064591 new file mode 100644 index 00000000..06b16573 Binary files /dev/null and b/fuzz/corpora/cmp/47c4fb148791eac2d29ab386c9aa18e6fd064591 differ diff --git a/fuzz/corpora/cmp/47e3046f8e0a32b9b293e7bf39a4e1a174a2f1e1 b/fuzz/corpora/cmp/47e3046f8e0a32b9b293e7bf39a4e1a174a2f1e1 new file mode 100644 index 00000000..832f7811 Binary files /dev/null and b/fuzz/corpora/cmp/47e3046f8e0a32b9b293e7bf39a4e1a174a2f1e1 differ diff --git a/fuzz/corpora/cmp/47ecd56747bec6e8f88c5fea9c7807b928faa9fa b/fuzz/corpora/cmp/47ecd56747bec6e8f88c5fea9c7807b928faa9fa new file mode 100644 index 00000000..7bd6f798 Binary files /dev/null and b/fuzz/corpora/cmp/47ecd56747bec6e8f88c5fea9c7807b928faa9fa differ diff --git a/fuzz/corpora/cmp/47eea7a442732c496f6d10f5c09cf52006949549 b/fuzz/corpora/cmp/47eea7a442732c496f6d10f5c09cf52006949549 new file mode 100644 index 00000000..df0144c3 Binary files /dev/null and b/fuzz/corpora/cmp/47eea7a442732c496f6d10f5c09cf52006949549 differ diff --git a/fuzz/corpora/cmp/47f85be567505f9b9fda08e53401c111749da20b b/fuzz/corpora/cmp/47f85be567505f9b9fda08e53401c111749da20b new file mode 100644 index 00000000..37faee6d Binary files /dev/null and b/fuzz/corpora/cmp/47f85be567505f9b9fda08e53401c111749da20b differ diff --git a/fuzz/corpora/cmp/480754e19c53e1e95d645bf0a53d093f5672fa4d b/fuzz/corpora/cmp/480754e19c53e1e95d645bf0a53d093f5672fa4d new file mode 100644 index 00000000..92ec4d15 Binary files /dev/null and b/fuzz/corpora/cmp/480754e19c53e1e95d645bf0a53d093f5672fa4d differ diff --git a/fuzz/corpora/cmp/480c555813ba333faa3ee5d1a899be8f34f02351 b/fuzz/corpora/cmp/480c555813ba333faa3ee5d1a899be8f34f02351 new file mode 100644 index 00000000..0f3fd3f1 Binary files /dev/null and b/fuzz/corpora/cmp/480c555813ba333faa3ee5d1a899be8f34f02351 differ diff --git a/fuzz/corpora/cmp/481583b292d01d7c0aba20b57f87f3e3038e02a0 b/fuzz/corpora/cmp/481583b292d01d7c0aba20b57f87f3e3038e02a0 new file mode 100644 index 00000000..0e18aaf2 Binary files /dev/null and b/fuzz/corpora/cmp/481583b292d01d7c0aba20b57f87f3e3038e02a0 differ diff --git a/fuzz/corpora/cmp/4818bc8bec667f71c98210fd85a9f27aae1116da b/fuzz/corpora/cmp/4818bc8bec667f71c98210fd85a9f27aae1116da new file mode 100644 index 00000000..a911a009 Binary files /dev/null and b/fuzz/corpora/cmp/4818bc8bec667f71c98210fd85a9f27aae1116da differ diff --git a/fuzz/corpora/cmp/4827bbaa1834983e589855fd78015c60942fc8b3 b/fuzz/corpora/cmp/4827bbaa1834983e589855fd78015c60942fc8b3 new file mode 100644 index 00000000..e278a4f3 Binary files /dev/null and b/fuzz/corpora/cmp/4827bbaa1834983e589855fd78015c60942fc8b3 differ diff --git a/fuzz/corpora/cmp/48461130bb3f44ba4278bcf47cea1454b35280b8 b/fuzz/corpora/cmp/48461130bb3f44ba4278bcf47cea1454b35280b8 new file mode 100644 index 00000000..be43d357 Binary files /dev/null and b/fuzz/corpora/cmp/48461130bb3f44ba4278bcf47cea1454b35280b8 differ diff --git a/fuzz/corpora/cmp/4872b6921629f223dc0e627bbc144228754435d1 b/fuzz/corpora/cmp/4872b6921629f223dc0e627bbc144228754435d1 new file mode 100644 index 00000000..070fc25b Binary files /dev/null and b/fuzz/corpora/cmp/4872b6921629f223dc0e627bbc144228754435d1 differ diff --git a/fuzz/corpora/cmp/4883b2ca5c5df09035faa208596c6901f942d66a b/fuzz/corpora/cmp/4883b2ca5c5df09035faa208596c6901f942d66a new file mode 100644 index 00000000..4e4f9b44 Binary files /dev/null and b/fuzz/corpora/cmp/4883b2ca5c5df09035faa208596c6901f942d66a differ diff --git a/fuzz/corpora/cmp/48847f5a9684fd005d0feaa9f0142e6051ded4e3 b/fuzz/corpora/cmp/48847f5a9684fd005d0feaa9f0142e6051ded4e3 new file mode 100644 index 00000000..f9c8256f Binary files /dev/null and b/fuzz/corpora/cmp/48847f5a9684fd005d0feaa9f0142e6051ded4e3 differ diff --git a/fuzz/corpora/cmp/4889ab5bdd4271df028e898766260ad3a45b12cb b/fuzz/corpora/cmp/4889ab5bdd4271df028e898766260ad3a45b12cb new file mode 100644 index 00000000..0d236045 Binary files /dev/null and b/fuzz/corpora/cmp/4889ab5bdd4271df028e898766260ad3a45b12cb differ diff --git a/fuzz/corpora/cmp/489198318e008760692bb37682b5ccb0a696431c b/fuzz/corpora/cmp/489198318e008760692bb37682b5ccb0a696431c new file mode 100644 index 00000000..d83dbc0f Binary files /dev/null and b/fuzz/corpora/cmp/489198318e008760692bb37682b5ccb0a696431c differ diff --git a/fuzz/corpora/cmp/48a3d13a973cdf9e30e90421c9abadac84cc368e b/fuzz/corpora/cmp/48a3d13a973cdf9e30e90421c9abadac84cc368e new file mode 100644 index 00000000..20c57c50 Binary files /dev/null and b/fuzz/corpora/cmp/48a3d13a973cdf9e30e90421c9abadac84cc368e differ diff --git a/fuzz/corpora/cmp/48b86281f0fae5d61586220a30aaff43049fdac2 b/fuzz/corpora/cmp/48b86281f0fae5d61586220a30aaff43049fdac2 new file mode 100644 index 00000000..94087679 Binary files /dev/null and b/fuzz/corpora/cmp/48b86281f0fae5d61586220a30aaff43049fdac2 differ diff --git a/fuzz/corpora/cmp/48e977a8717af7d0a68b4a4e77a3bf85972eb90d b/fuzz/corpora/cmp/48e977a8717af7d0a68b4a4e77a3bf85972eb90d new file mode 100644 index 00000000..fa0f3513 Binary files /dev/null and b/fuzz/corpora/cmp/48e977a8717af7d0a68b4a4e77a3bf85972eb90d differ diff --git a/fuzz/corpora/cmp/48e9933b42facc51faa31e807181cb049e98ac92 b/fuzz/corpora/cmp/48e9933b42facc51faa31e807181cb049e98ac92 new file mode 100644 index 00000000..ad47336c Binary files /dev/null and b/fuzz/corpora/cmp/48e9933b42facc51faa31e807181cb049e98ac92 differ diff --git a/fuzz/corpora/cmp/48eb539538c1b744421b9172026cb6ab7689737e b/fuzz/corpora/cmp/48eb539538c1b744421b9172026cb6ab7689737e new file mode 100644 index 00000000..e0e51685 Binary files /dev/null and b/fuzz/corpora/cmp/48eb539538c1b744421b9172026cb6ab7689737e differ diff --git a/fuzz/corpora/cmp/48f17404a7294a680473fff1e8831c5c93010b59 b/fuzz/corpora/cmp/48f17404a7294a680473fff1e8831c5c93010b59 new file mode 100644 index 00000000..08671b77 Binary files /dev/null and b/fuzz/corpora/cmp/48f17404a7294a680473fff1e8831c5c93010b59 differ diff --git a/fuzz/corpora/cmp/49081b3f3cb8f8c125a86f3c550f357e8a3c55b5 b/fuzz/corpora/cmp/49081b3f3cb8f8c125a86f3c550f357e8a3c55b5 new file mode 100644 index 00000000..dde8afec Binary files /dev/null and b/fuzz/corpora/cmp/49081b3f3cb8f8c125a86f3c550f357e8a3c55b5 differ diff --git a/fuzz/corpora/cmp/490c89261ebbdc9404ad128aeb79bea1469c887c b/fuzz/corpora/cmp/490c89261ebbdc9404ad128aeb79bea1469c887c new file mode 100644 index 00000000..0b100432 Binary files /dev/null and b/fuzz/corpora/cmp/490c89261ebbdc9404ad128aeb79bea1469c887c differ diff --git a/fuzz/corpora/cmp/49269450875b61182b69ed0ea4470da74717d9bb b/fuzz/corpora/cmp/49269450875b61182b69ed0ea4470da74717d9bb new file mode 100644 index 00000000..e331326d Binary files /dev/null and b/fuzz/corpora/cmp/49269450875b61182b69ed0ea4470da74717d9bb differ diff --git a/fuzz/corpora/cmp/492d26cda37b7c0fcd43649f339ae547d35fdf1a b/fuzz/corpora/cmp/492d26cda37b7c0fcd43649f339ae547d35fdf1a new file mode 100644 index 00000000..65fd0eac Binary files /dev/null and b/fuzz/corpora/cmp/492d26cda37b7c0fcd43649f339ae547d35fdf1a differ diff --git a/fuzz/corpora/cmp/4953cb3429185c0f0ef8c1dd8235397e693e159f b/fuzz/corpora/cmp/4953cb3429185c0f0ef8c1dd8235397e693e159f new file mode 100644 index 00000000..289ad103 Binary files /dev/null and b/fuzz/corpora/cmp/4953cb3429185c0f0ef8c1dd8235397e693e159f differ diff --git a/fuzz/corpora/cmp/4966141f3c5249d9710e6457be9e2db6703343b0 b/fuzz/corpora/cmp/4966141f3c5249d9710e6457be9e2db6703343b0 new file mode 100644 index 00000000..15e0c4a5 Binary files /dev/null and b/fuzz/corpora/cmp/4966141f3c5249d9710e6457be9e2db6703343b0 differ diff --git a/fuzz/corpora/cmp/49779bd74e3fc7a49d2619d60f69f7577ccfbe15 b/fuzz/corpora/cmp/49779bd74e3fc7a49d2619d60f69f7577ccfbe15 new file mode 100644 index 00000000..55ed7640 Binary files /dev/null and b/fuzz/corpora/cmp/49779bd74e3fc7a49d2619d60f69f7577ccfbe15 differ diff --git a/fuzz/corpora/cmp/497a305b0ecaadc2a9313450f90a94e1e2830735 b/fuzz/corpora/cmp/497a305b0ecaadc2a9313450f90a94e1e2830735 new file mode 100644 index 00000000..6a952e4c Binary files /dev/null and b/fuzz/corpora/cmp/497a305b0ecaadc2a9313450f90a94e1e2830735 differ diff --git a/fuzz/corpora/cmp/498ac03fde3dfa9eddfa9d1dc39f721742b48a88 b/fuzz/corpora/cmp/498ac03fde3dfa9eddfa9d1dc39f721742b48a88 new file mode 100644 index 00000000..de2b278a Binary files /dev/null and b/fuzz/corpora/cmp/498ac03fde3dfa9eddfa9d1dc39f721742b48a88 differ diff --git a/fuzz/corpora/cmp/499a5cb2fc4bf0eb7b1e441e3be19854dda808f7 b/fuzz/corpora/cmp/499a5cb2fc4bf0eb7b1e441e3be19854dda808f7 new file mode 100644 index 00000000..159c7613 Binary files /dev/null and b/fuzz/corpora/cmp/499a5cb2fc4bf0eb7b1e441e3be19854dda808f7 differ diff --git a/fuzz/corpora/cmp/499f4e55354e668315a8cde0c4ec89b28f1ff24e b/fuzz/corpora/cmp/499f4e55354e668315a8cde0c4ec89b28f1ff24e new file mode 100644 index 00000000..dfd7ce90 Binary files /dev/null and b/fuzz/corpora/cmp/499f4e55354e668315a8cde0c4ec89b28f1ff24e differ diff --git a/fuzz/corpora/cmp/499f570dbfbe2663abdb3a92748af112486eb349 b/fuzz/corpora/cmp/499f570dbfbe2663abdb3a92748af112486eb349 new file mode 100644 index 00000000..486dd92e Binary files /dev/null and b/fuzz/corpora/cmp/499f570dbfbe2663abdb3a92748af112486eb349 differ diff --git a/fuzz/corpora/cmp/499fc14a6766c18fde00ffc222d4dd40e2e8ba62 b/fuzz/corpora/cmp/499fc14a6766c18fde00ffc222d4dd40e2e8ba62 new file mode 100644 index 00000000..0e2bebae Binary files /dev/null and b/fuzz/corpora/cmp/499fc14a6766c18fde00ffc222d4dd40e2e8ba62 differ diff --git a/fuzz/corpora/cmp/49d2a02c8093b7e0075dbbc37324e39a751e4e23 b/fuzz/corpora/cmp/49d2a02c8093b7e0075dbbc37324e39a751e4e23 new file mode 100644 index 00000000..fbd8342e Binary files /dev/null and b/fuzz/corpora/cmp/49d2a02c8093b7e0075dbbc37324e39a751e4e23 differ diff --git a/fuzz/corpora/cmp/49daf0c5c576dc6cff09d6a3e3783a2055b587a5 b/fuzz/corpora/cmp/49daf0c5c576dc6cff09d6a3e3783a2055b587a5 new file mode 100644 index 00000000..cf33f65d Binary files /dev/null and b/fuzz/corpora/cmp/49daf0c5c576dc6cff09d6a3e3783a2055b587a5 differ diff --git a/fuzz/corpora/cmp/49e01325620512d88d822dc0ae36382802698066 b/fuzz/corpora/cmp/49e01325620512d88d822dc0ae36382802698066 new file mode 100644 index 00000000..b70c2407 Binary files /dev/null and b/fuzz/corpora/cmp/49e01325620512d88d822dc0ae36382802698066 differ diff --git a/fuzz/corpora/cmp/49ed38d73934f41cdf1a25da0240c746c0ed44af b/fuzz/corpora/cmp/49ed38d73934f41cdf1a25da0240c746c0ed44af new file mode 100644 index 00000000..ac9a704e Binary files /dev/null and b/fuzz/corpora/cmp/49ed38d73934f41cdf1a25da0240c746c0ed44af differ diff --git a/fuzz/corpora/cmp/49fc929492dbfb39646277a484fba3ea4ff1e835 b/fuzz/corpora/cmp/49fc929492dbfb39646277a484fba3ea4ff1e835 new file mode 100644 index 00000000..da82b4dd Binary files /dev/null and b/fuzz/corpora/cmp/49fc929492dbfb39646277a484fba3ea4ff1e835 differ diff --git a/fuzz/corpora/cmp/4a0d90d1324cb9f8efe877e08f068a13f9083b31 b/fuzz/corpora/cmp/4a0d90d1324cb9f8efe877e08f068a13f9083b31 new file mode 100644 index 00000000..e2c31fac Binary files /dev/null and b/fuzz/corpora/cmp/4a0d90d1324cb9f8efe877e08f068a13f9083b31 differ diff --git a/fuzz/corpora/cmp/4a1bcdec86e38a7736cc1ae3f2414b7eb7daf08b b/fuzz/corpora/cmp/4a1bcdec86e38a7736cc1ae3f2414b7eb7daf08b new file mode 100644 index 00000000..378b54ca Binary files /dev/null and b/fuzz/corpora/cmp/4a1bcdec86e38a7736cc1ae3f2414b7eb7daf08b differ diff --git a/fuzz/corpora/cmp/4a1d83bbc292971a9eec9b142caea34b38c77021 b/fuzz/corpora/cmp/4a1d83bbc292971a9eec9b142caea34b38c77021 new file mode 100644 index 00000000..fed00f53 Binary files /dev/null and b/fuzz/corpora/cmp/4a1d83bbc292971a9eec9b142caea34b38c77021 differ diff --git a/fuzz/corpora/cmp/4a3080fdedb78ef7b85055fb0bb629f9fa75cc7b b/fuzz/corpora/cmp/4a3080fdedb78ef7b85055fb0bb629f9fa75cc7b new file mode 100644 index 00000000..af176304 Binary files /dev/null and b/fuzz/corpora/cmp/4a3080fdedb78ef7b85055fb0bb629f9fa75cc7b differ diff --git a/fuzz/corpora/cmp/4a320d375e9d097601cd6840951bbb80044f98d8 b/fuzz/corpora/cmp/4a320d375e9d097601cd6840951bbb80044f98d8 new file mode 100644 index 00000000..03004368 Binary files /dev/null and b/fuzz/corpora/cmp/4a320d375e9d097601cd6840951bbb80044f98d8 differ diff --git a/fuzz/corpora/cmp/4a372b8166738b3957e85501835e2c6fe1f050fb b/fuzz/corpora/cmp/4a372b8166738b3957e85501835e2c6fe1f050fb new file mode 100644 index 00000000..2e706d35 Binary files /dev/null and b/fuzz/corpora/cmp/4a372b8166738b3957e85501835e2c6fe1f050fb differ diff --git a/fuzz/corpora/cmp/4a3a8f41029d776d7e2ae7b229ee9f99dba3bce2 b/fuzz/corpora/cmp/4a3a8f41029d776d7e2ae7b229ee9f99dba3bce2 new file mode 100644 index 00000000..46b019b0 Binary files /dev/null and b/fuzz/corpora/cmp/4a3a8f41029d776d7e2ae7b229ee9f99dba3bce2 differ diff --git a/fuzz/corpora/cmp/4a5a63c0a82c68cfe90180a56f36876fa8afbf33 b/fuzz/corpora/cmp/4a5a63c0a82c68cfe90180a56f36876fa8afbf33 new file mode 100644 index 00000000..dd05eb46 Binary files /dev/null and b/fuzz/corpora/cmp/4a5a63c0a82c68cfe90180a56f36876fa8afbf33 differ diff --git a/fuzz/corpora/cmp/4a6eac382e8bd6a8a884c1f685c30314fa26ceee b/fuzz/corpora/cmp/4a6eac382e8bd6a8a884c1f685c30314fa26ceee new file mode 100644 index 00000000..319bada1 --- /dev/null +++ b/fuzz/corpora/cmp/4a6eac382e8bd6a8a884c1f685c30314fa26ceee @@ -0,0 +1 @@ +xN \ No newline at end of file diff --git a/fuzz/corpora/cmp/4a7f8a35bdad10a15f6a3ca3badd2f261b4e0c02 b/fuzz/corpora/cmp/4a7f8a35bdad10a15f6a3ca3badd2f261b4e0c02 new file mode 100644 index 00000000..9c9fe94c Binary files /dev/null and b/fuzz/corpora/cmp/4a7f8a35bdad10a15f6a3ca3badd2f261b4e0c02 differ diff --git a/fuzz/corpora/cmp/4a81560a52ef3dd6ded1a0f3b5cfe3927c2473e4 b/fuzz/corpora/cmp/4a81560a52ef3dd6ded1a0f3b5cfe3927c2473e4 new file mode 100644 index 00000000..6446159c Binary files /dev/null and b/fuzz/corpora/cmp/4a81560a52ef3dd6ded1a0f3b5cfe3927c2473e4 differ diff --git a/fuzz/corpora/cmp/4a883bb489a4aaf62ee0754815d247cd29e5a638 b/fuzz/corpora/cmp/4a883bb489a4aaf62ee0754815d247cd29e5a638 new file mode 100644 index 00000000..87ca9e1a Binary files /dev/null and b/fuzz/corpora/cmp/4a883bb489a4aaf62ee0754815d247cd29e5a638 differ diff --git a/fuzz/corpora/cmp/4a9221b64f63e2ff325ec3d9be9ee850a80bb661 b/fuzz/corpora/cmp/4a9221b64f63e2ff325ec3d9be9ee850a80bb661 new file mode 100644 index 00000000..59d29a08 Binary files /dev/null and b/fuzz/corpora/cmp/4a9221b64f63e2ff325ec3d9be9ee850a80bb661 differ diff --git a/fuzz/corpora/cmp/4ab1894647322ecdf5c97dfbd8cffb47fa8d54bf b/fuzz/corpora/cmp/4ab1894647322ecdf5c97dfbd8cffb47fa8d54bf new file mode 100644 index 00000000..4400734b Binary files /dev/null and b/fuzz/corpora/cmp/4ab1894647322ecdf5c97dfbd8cffb47fa8d54bf differ diff --git a/fuzz/corpora/cmp/4acb2206e41e4b54d95cb36b50de02e6effc5124 b/fuzz/corpora/cmp/4acb2206e41e4b54d95cb36b50de02e6effc5124 new file mode 100644 index 00000000..096b23c5 Binary files /dev/null and b/fuzz/corpora/cmp/4acb2206e41e4b54d95cb36b50de02e6effc5124 differ diff --git a/fuzz/corpora/cmp/4ad61cd23578b576bc1b87c52bbb1ad7463e33b5 b/fuzz/corpora/cmp/4ad61cd23578b576bc1b87c52bbb1ad7463e33b5 new file mode 100644 index 00000000..2d1c6962 Binary files /dev/null and b/fuzz/corpora/cmp/4ad61cd23578b576bc1b87c52bbb1ad7463e33b5 differ diff --git a/fuzz/corpora/cmp/4ae7153410461859b0eb6f33f0f919d7d8e6bd96 b/fuzz/corpora/cmp/4ae7153410461859b0eb6f33f0f919d7d8e6bd96 new file mode 100644 index 00000000..90aa5511 Binary files /dev/null and b/fuzz/corpora/cmp/4ae7153410461859b0eb6f33f0f919d7d8e6bd96 differ diff --git a/fuzz/corpora/cmp/4b0309c7fc2c8ee875e9295bac977947388d9973 b/fuzz/corpora/cmp/4b0309c7fc2c8ee875e9295bac977947388d9973 new file mode 100644 index 00000000..96151fe1 Binary files /dev/null and b/fuzz/corpora/cmp/4b0309c7fc2c8ee875e9295bac977947388d9973 differ diff --git a/fuzz/corpora/cmp/4b10c1ce332472dc147172a427cc07208a42eb48 b/fuzz/corpora/cmp/4b10c1ce332472dc147172a427cc07208a42eb48 new file mode 100644 index 00000000..a79eff3d Binary files /dev/null and b/fuzz/corpora/cmp/4b10c1ce332472dc147172a427cc07208a42eb48 differ diff --git a/fuzz/corpora/cmp/4b1796ca33a25bc4efb1a80c70ad23e5d20509e2 b/fuzz/corpora/cmp/4b1796ca33a25bc4efb1a80c70ad23e5d20509e2 new file mode 100644 index 00000000..3968b58f Binary files /dev/null and b/fuzz/corpora/cmp/4b1796ca33a25bc4efb1a80c70ad23e5d20509e2 differ diff --git a/fuzz/corpora/cmp/4b1a7b4ce90422da98296deeefb56d30e8f1b241 b/fuzz/corpora/cmp/4b1a7b4ce90422da98296deeefb56d30e8f1b241 new file mode 100644 index 00000000..770b5bcd Binary files /dev/null and b/fuzz/corpora/cmp/4b1a7b4ce90422da98296deeefb56d30e8f1b241 differ diff --git a/fuzz/corpora/cmp/4b1f5bdc57508516de23c3fdfb872295b7d4eee7 b/fuzz/corpora/cmp/4b1f5bdc57508516de23c3fdfb872295b7d4eee7 new file mode 100644 index 00000000..ee1df9d5 Binary files /dev/null and b/fuzz/corpora/cmp/4b1f5bdc57508516de23c3fdfb872295b7d4eee7 differ diff --git a/fuzz/corpora/cmp/4b2285ea9263cf04691678548eed287950b12653 b/fuzz/corpora/cmp/4b2285ea9263cf04691678548eed287950b12653 new file mode 100644 index 00000000..7f620175 Binary files /dev/null and b/fuzz/corpora/cmp/4b2285ea9263cf04691678548eed287950b12653 differ diff --git a/fuzz/corpora/cmp/4b296c7dcbf3240a34026f6a05d52ff46f3afcb9 b/fuzz/corpora/cmp/4b296c7dcbf3240a34026f6a05d52ff46f3afcb9 new file mode 100644 index 00000000..f86c9d21 Binary files /dev/null and b/fuzz/corpora/cmp/4b296c7dcbf3240a34026f6a05d52ff46f3afcb9 differ diff --git a/fuzz/corpora/cmp/4b425321d361eb44ab91d8ff29eace8703637829 b/fuzz/corpora/cmp/4b425321d361eb44ab91d8ff29eace8703637829 new file mode 100644 index 00000000..572e6b06 Binary files /dev/null and b/fuzz/corpora/cmp/4b425321d361eb44ab91d8ff29eace8703637829 differ diff --git a/fuzz/corpora/cmp/4b58fd94b7da6d8c1afb0f69c6bf2f020467cc22 b/fuzz/corpora/cmp/4b58fd94b7da6d8c1afb0f69c6bf2f020467cc22 new file mode 100644 index 00000000..eb49bf91 Binary files /dev/null and b/fuzz/corpora/cmp/4b58fd94b7da6d8c1afb0f69c6bf2f020467cc22 differ diff --git a/fuzz/corpora/cmp/4ba440ad885e5486c549d0175fcc54da44fe2924 b/fuzz/corpora/cmp/4ba440ad885e5486c549d0175fcc54da44fe2924 new file mode 100644 index 00000000..14a9d978 Binary files /dev/null and b/fuzz/corpora/cmp/4ba440ad885e5486c549d0175fcc54da44fe2924 differ diff --git a/fuzz/corpora/cmp/4bb5d375518731faa9d6e6e0aea3c74bbb942162 b/fuzz/corpora/cmp/4bb5d375518731faa9d6e6e0aea3c74bbb942162 new file mode 100644 index 00000000..a22b962f Binary files /dev/null and b/fuzz/corpora/cmp/4bb5d375518731faa9d6e6e0aea3c74bbb942162 differ diff --git a/fuzz/corpora/cmp/4bb695aadce52e806aef547ade734b2189ad71bd b/fuzz/corpora/cmp/4bb695aadce52e806aef547ade734b2189ad71bd new file mode 100644 index 00000000..9d44ba67 Binary files /dev/null and b/fuzz/corpora/cmp/4bb695aadce52e806aef547ade734b2189ad71bd differ diff --git a/fuzz/corpora/cmp/4bbff7bd0c51c9735ed26b62f897efbb5a56014e b/fuzz/corpora/cmp/4bbff7bd0c51c9735ed26b62f897efbb5a56014e new file mode 100644 index 00000000..ff94c789 Binary files /dev/null and b/fuzz/corpora/cmp/4bbff7bd0c51c9735ed26b62f897efbb5a56014e differ diff --git a/fuzz/corpora/cmp/4bcd726fb700bc38305a38d0e3ca52b2f5c610e6 b/fuzz/corpora/cmp/4bcd726fb700bc38305a38d0e3ca52b2f5c610e6 new file mode 100644 index 00000000..073e927a Binary files /dev/null and b/fuzz/corpora/cmp/4bcd726fb700bc38305a38d0e3ca52b2f5c610e6 differ diff --git a/fuzz/corpora/cmp/4bd035aea3fa26f6f6159f864839ed8b1f2851be b/fuzz/corpora/cmp/4bd035aea3fa26f6f6159f864839ed8b1f2851be new file mode 100644 index 00000000..be4af11e Binary files /dev/null and b/fuzz/corpora/cmp/4bd035aea3fa26f6f6159f864839ed8b1f2851be differ diff --git a/fuzz/corpora/cmp/4beddc793a33060c0131bb0fa990103ccdfb1308 b/fuzz/corpora/cmp/4beddc793a33060c0131bb0fa990103ccdfb1308 new file mode 100644 index 00000000..d425cdfb Binary files /dev/null and b/fuzz/corpora/cmp/4beddc793a33060c0131bb0fa990103ccdfb1308 differ diff --git a/fuzz/corpora/cmp/4bf2bb58eb8761b92182bf4ce8bd3d45d307b36f b/fuzz/corpora/cmp/4bf2bb58eb8761b92182bf4ce8bd3d45d307b36f new file mode 100644 index 00000000..383baf84 Binary files /dev/null and b/fuzz/corpora/cmp/4bf2bb58eb8761b92182bf4ce8bd3d45d307b36f differ diff --git a/fuzz/corpora/cmp/4bfe3d032b43da5bba819f79bfb85f5973c91ba2 b/fuzz/corpora/cmp/4bfe3d032b43da5bba819f79bfb85f5973c91ba2 new file mode 100644 index 00000000..8cad2727 Binary files /dev/null and b/fuzz/corpora/cmp/4bfe3d032b43da5bba819f79bfb85f5973c91ba2 differ diff --git a/fuzz/corpora/cmp/4c05dfcdd3e24d3ed4267695ca8b4390e3da0d35 b/fuzz/corpora/cmp/4c05dfcdd3e24d3ed4267695ca8b4390e3da0d35 new file mode 100644 index 00000000..667babc2 Binary files /dev/null and b/fuzz/corpora/cmp/4c05dfcdd3e24d3ed4267695ca8b4390e3da0d35 differ diff --git a/fuzz/corpora/cmp/4c0bcc223fe25d8c8230592a52557a1bad7f9455 b/fuzz/corpora/cmp/4c0bcc223fe25d8c8230592a52557a1bad7f9455 new file mode 100644 index 00000000..8b4454bc Binary files /dev/null and b/fuzz/corpora/cmp/4c0bcc223fe25d8c8230592a52557a1bad7f9455 differ diff --git a/fuzz/corpora/cmp/4c352850d6a508ca528d0bcef55a8b4212a4662b b/fuzz/corpora/cmp/4c352850d6a508ca528d0bcef55a8b4212a4662b new file mode 100644 index 00000000..2beba574 Binary files /dev/null and b/fuzz/corpora/cmp/4c352850d6a508ca528d0bcef55a8b4212a4662b differ diff --git a/fuzz/corpora/cmp/4c584642e19e3fa89c5d62a878cfbd4afe622ff1 b/fuzz/corpora/cmp/4c584642e19e3fa89c5d62a878cfbd4afe622ff1 new file mode 100644 index 00000000..0f6f5c77 Binary files /dev/null and b/fuzz/corpora/cmp/4c584642e19e3fa89c5d62a878cfbd4afe622ff1 differ diff --git a/fuzz/corpora/cmp/4c585b0e39e8120258aaa613fa1b63a77fb95ec0 b/fuzz/corpora/cmp/4c585b0e39e8120258aaa613fa1b63a77fb95ec0 new file mode 100644 index 00000000..0c56e7ca Binary files /dev/null and b/fuzz/corpora/cmp/4c585b0e39e8120258aaa613fa1b63a77fb95ec0 differ diff --git a/fuzz/corpora/cmp/4c5d60a9ee593aa4efc00976d9547cecd799a403 b/fuzz/corpora/cmp/4c5d60a9ee593aa4efc00976d9547cecd799a403 new file mode 100644 index 00000000..4b165981 Binary files /dev/null and b/fuzz/corpora/cmp/4c5d60a9ee593aa4efc00976d9547cecd799a403 differ diff --git a/fuzz/corpora/cmp/4c871224472ed331fb1d28f9c38c23710a7a8042 b/fuzz/corpora/cmp/4c871224472ed331fb1d28f9c38c23710a7a8042 new file mode 100644 index 00000000..5ab9feec Binary files /dev/null and b/fuzz/corpora/cmp/4c871224472ed331fb1d28f9c38c23710a7a8042 differ diff --git a/fuzz/corpora/cmp/4c90de4bc3afa2e01998134834fe26c13eb6d830 b/fuzz/corpora/cmp/4c90de4bc3afa2e01998134834fe26c13eb6d830 new file mode 100644 index 00000000..8cd00905 Binary files /dev/null and b/fuzz/corpora/cmp/4c90de4bc3afa2e01998134834fe26c13eb6d830 differ diff --git a/fuzz/corpora/cmp/4c95fe4d3ddbabb5deb2b07c609a4188f5414e4a b/fuzz/corpora/cmp/4c95fe4d3ddbabb5deb2b07c609a4188f5414e4a new file mode 100644 index 00000000..2fda9103 Binary files /dev/null and b/fuzz/corpora/cmp/4c95fe4d3ddbabb5deb2b07c609a4188f5414e4a differ diff --git a/fuzz/corpora/cmp/4c9c6f66f827471b9f908312a608e03b239f6f56 b/fuzz/corpora/cmp/4c9c6f66f827471b9f908312a608e03b239f6f56 new file mode 100644 index 00000000..33337768 Binary files /dev/null and b/fuzz/corpora/cmp/4c9c6f66f827471b9f908312a608e03b239f6f56 differ diff --git a/fuzz/corpora/cmp/4ca5334363f81fe4bedf676996921d0b8d649699 b/fuzz/corpora/cmp/4ca5334363f81fe4bedf676996921d0b8d649699 new file mode 100644 index 00000000..f8ae8a98 --- /dev/null +++ b/fuzz/corpora/cmp/4ca5334363f81fe4bedf676996921d0b8d649699 @@ -0,0 +1 @@ +,€ 1(€, 1(€,`†He0 1(€[€ \ No newline at end of file diff --git a/fuzz/corpora/cmp/4cb60578a3d425b80ba47b093a23fdee48f437ee b/fuzz/corpora/cmp/4cb60578a3d425b80ba47b093a23fdee48f437ee new file mode 100644 index 00000000..62ec15c6 Binary files /dev/null and b/fuzz/corpora/cmp/4cb60578a3d425b80ba47b093a23fdee48f437ee differ diff --git a/fuzz/corpora/cmp/4cd4f2cf8a8bcece1290822fafc03771d3343ee0 b/fuzz/corpora/cmp/4cd4f2cf8a8bcece1290822fafc03771d3343ee0 new file mode 100644 index 00000000..88433517 Binary files /dev/null and b/fuzz/corpora/cmp/4cd4f2cf8a8bcece1290822fafc03771d3343ee0 differ diff --git a/fuzz/corpora/cmp/4cd5edcc68b622ac2790f34d8739adb042a68a74 b/fuzz/corpora/cmp/4cd5edcc68b622ac2790f34d8739adb042a68a74 new file mode 100644 index 00000000..bed734eb Binary files /dev/null and b/fuzz/corpora/cmp/4cd5edcc68b622ac2790f34d8739adb042a68a74 differ diff --git a/fuzz/corpora/cmp/4cd9a797f2960dfd4eaf9c6070503e351093a04d b/fuzz/corpora/cmp/4cd9a797f2960dfd4eaf9c6070503e351093a04d new file mode 100644 index 00000000..10b20f00 Binary files /dev/null and b/fuzz/corpora/cmp/4cd9a797f2960dfd4eaf9c6070503e351093a04d differ diff --git a/fuzz/corpora/cmp/4cdbaf20906b276aaf06c4f7ae0d28722f56b5b8 b/fuzz/corpora/cmp/4cdbaf20906b276aaf06c4f7ae0d28722f56b5b8 new file mode 100644 index 00000000..6c181174 Binary files /dev/null and b/fuzz/corpora/cmp/4cdbaf20906b276aaf06c4f7ae0d28722f56b5b8 differ diff --git a/fuzz/corpora/cmp/4cf1df6bcc11d5ea69aa25c81db4712ec25582c0 b/fuzz/corpora/cmp/4cf1df6bcc11d5ea69aa25c81db4712ec25582c0 new file mode 100644 index 00000000..08508eb0 Binary files /dev/null and b/fuzz/corpora/cmp/4cf1df6bcc11d5ea69aa25c81db4712ec25582c0 differ diff --git a/fuzz/corpora/cmp/4cfbf4d728e5acb85d7090fcbc7070b4f69a1b52 b/fuzz/corpora/cmp/4cfbf4d728e5acb85d7090fcbc7070b4f69a1b52 new file mode 100644 index 00000000..b5f01848 Binary files /dev/null and b/fuzz/corpora/cmp/4cfbf4d728e5acb85d7090fcbc7070b4f69a1b52 differ diff --git a/fuzz/corpora/cmp/4d00dac540f1c8b49e5765b4ec16520bf1ae030f b/fuzz/corpora/cmp/4d00dac540f1c8b49e5765b4ec16520bf1ae030f new file mode 100644 index 00000000..cecbdc48 Binary files /dev/null and b/fuzz/corpora/cmp/4d00dac540f1c8b49e5765b4ec16520bf1ae030f differ diff --git a/fuzz/corpora/cmp/4d0c1a824ef363c6bce2112afb32ff920fbc62a2 b/fuzz/corpora/cmp/4d0c1a824ef363c6bce2112afb32ff920fbc62a2 new file mode 100644 index 00000000..6ea8f903 Binary files /dev/null and b/fuzz/corpora/cmp/4d0c1a824ef363c6bce2112afb32ff920fbc62a2 differ diff --git a/fuzz/corpora/cmp/4d1538169933e2c0bd764fea4131457a8430661e b/fuzz/corpora/cmp/4d1538169933e2c0bd764fea4131457a8430661e new file mode 100644 index 00000000..0e32b0fa Binary files /dev/null and b/fuzz/corpora/cmp/4d1538169933e2c0bd764fea4131457a8430661e differ diff --git a/fuzz/corpora/cmp/4d226ec081c252a4e8fae2e6db03f68f60338ce4 b/fuzz/corpora/cmp/4d226ec081c252a4e8fae2e6db03f68f60338ce4 new file mode 100644 index 00000000..1b254bc7 Binary files /dev/null and b/fuzz/corpora/cmp/4d226ec081c252a4e8fae2e6db03f68f60338ce4 differ diff --git a/fuzz/corpora/cmp/4d2588b8f4306a71b468c0ff63085d31d59eb8a4 b/fuzz/corpora/cmp/4d2588b8f4306a71b468c0ff63085d31d59eb8a4 new file mode 100644 index 00000000..91446587 Binary files /dev/null and b/fuzz/corpora/cmp/4d2588b8f4306a71b468c0ff63085d31d59eb8a4 differ diff --git a/fuzz/corpora/cmp/4d3892dce5d871db159b963a17c21c0e6be753d0 b/fuzz/corpora/cmp/4d3892dce5d871db159b963a17c21c0e6be753d0 new file mode 100644 index 00000000..0732d578 Binary files /dev/null and b/fuzz/corpora/cmp/4d3892dce5d871db159b963a17c21c0e6be753d0 differ diff --git a/fuzz/corpora/cmp/4d42a638a3814d80c50c5348b11efe94fd8ddc91 b/fuzz/corpora/cmp/4d42a638a3814d80c50c5348b11efe94fd8ddc91 new file mode 100644 index 00000000..cb4bd68a Binary files /dev/null and b/fuzz/corpora/cmp/4d42a638a3814d80c50c5348b11efe94fd8ddc91 differ diff --git a/fuzz/corpora/cmp/4d43388a3b35170a918bb81fe1fae643dc8c8d97 b/fuzz/corpora/cmp/4d43388a3b35170a918bb81fe1fae643dc8c8d97 new file mode 100644 index 00000000..8eea0c75 Binary files /dev/null and b/fuzz/corpora/cmp/4d43388a3b35170a918bb81fe1fae643dc8c8d97 differ diff --git a/fuzz/corpora/cmp/4d5a3492c6d42e6af03f2c87ab7c71aa00f07618 b/fuzz/corpora/cmp/4d5a3492c6d42e6af03f2c87ab7c71aa00f07618 new file mode 100644 index 00000000..764fee32 Binary files /dev/null and b/fuzz/corpora/cmp/4d5a3492c6d42e6af03f2c87ab7c71aa00f07618 differ diff --git a/fuzz/corpora/cmp/4d60300a9da6936b0735d97d45ce2f838dd0548d b/fuzz/corpora/cmp/4d60300a9da6936b0735d97d45ce2f838dd0548d new file mode 100644 index 00000000..e8b68332 Binary files /dev/null and b/fuzz/corpora/cmp/4d60300a9da6936b0735d97d45ce2f838dd0548d differ diff --git a/fuzz/corpora/cmp/4d6683285ce12aaf881c3240810e23c164b27855 b/fuzz/corpora/cmp/4d6683285ce12aaf881c3240810e23c164b27855 new file mode 100644 index 00000000..54cd60f8 Binary files /dev/null and b/fuzz/corpora/cmp/4d6683285ce12aaf881c3240810e23c164b27855 differ diff --git a/fuzz/corpora/cmp/4d7878d31a5fe7b45a6212aa05a4ace6f323b8da b/fuzz/corpora/cmp/4d7878d31a5fe7b45a6212aa05a4ace6f323b8da new file mode 100644 index 00000000..8dde7a6f Binary files /dev/null and b/fuzz/corpora/cmp/4d7878d31a5fe7b45a6212aa05a4ace6f323b8da differ diff --git a/fuzz/corpora/cmp/4d789928f1c559c18928d57df605e2c4dcaf5e36 b/fuzz/corpora/cmp/4d789928f1c559c18928d57df605e2c4dcaf5e36 new file mode 100644 index 00000000..5e3dd9d8 Binary files /dev/null and b/fuzz/corpora/cmp/4d789928f1c559c18928d57df605e2c4dcaf5e36 differ diff --git a/fuzz/corpora/cmp/4da274b5530fde6998365544a2b7d99cbba24e40 b/fuzz/corpora/cmp/4da274b5530fde6998365544a2b7d99cbba24e40 new file mode 100644 index 00000000..335adaf4 Binary files /dev/null and b/fuzz/corpora/cmp/4da274b5530fde6998365544a2b7d99cbba24e40 differ diff --git a/fuzz/corpora/cmp/4dabf900120deaf61f06b4d0f226f62981f63507 b/fuzz/corpora/cmp/4dabf900120deaf61f06b4d0f226f62981f63507 new file mode 100644 index 00000000..b039b9b4 Binary files /dev/null and b/fuzz/corpora/cmp/4dabf900120deaf61f06b4d0f226f62981f63507 differ diff --git a/fuzz/corpora/cmp/4dad708da8dd24bf3a35b3540ebbce4b8bbf7aae b/fuzz/corpora/cmp/4dad708da8dd24bf3a35b3540ebbce4b8bbf7aae new file mode 100644 index 00000000..9760860c Binary files /dev/null and b/fuzz/corpora/cmp/4dad708da8dd24bf3a35b3540ebbce4b8bbf7aae differ diff --git a/fuzz/corpora/cmp/4db7975803aa192bb2d05768a4de03d729d849cb b/fuzz/corpora/cmp/4db7975803aa192bb2d05768a4de03d729d849cb new file mode 100644 index 00000000..cdef95e6 Binary files /dev/null and b/fuzz/corpora/cmp/4db7975803aa192bb2d05768a4de03d729d849cb differ diff --git a/fuzz/corpora/cmp/4dc107ac3e8157c8d21c432cdbdbfc616a590232 b/fuzz/corpora/cmp/4dc107ac3e8157c8d21c432cdbdbfc616a590232 new file mode 100644 index 00000000..c45a1eba Binary files /dev/null and b/fuzz/corpora/cmp/4dc107ac3e8157c8d21c432cdbdbfc616a590232 differ diff --git a/fuzz/corpora/cmp/4dd92568330ddfb9d3d3000be8920c8460bf21cc b/fuzz/corpora/cmp/4dd92568330ddfb9d3d3000be8920c8460bf21cc new file mode 100644 index 00000000..40e7833b Binary files /dev/null and b/fuzz/corpora/cmp/4dd92568330ddfb9d3d3000be8920c8460bf21cc differ diff --git a/fuzz/corpora/cmp/4e011e0819c4923e9f37d7483734c9d15b407159 b/fuzz/corpora/cmp/4e011e0819c4923e9f37d7483734c9d15b407159 new file mode 100644 index 00000000..1a595fb0 Binary files /dev/null and b/fuzz/corpora/cmp/4e011e0819c4923e9f37d7483734c9d15b407159 differ diff --git a/fuzz/corpora/cmp/4e095ff1c166d80a66f963f6c0c82ca1d1faaa5a b/fuzz/corpora/cmp/4e095ff1c166d80a66f963f6c0c82ca1d1faaa5a new file mode 100644 index 00000000..8654605b Binary files /dev/null and b/fuzz/corpora/cmp/4e095ff1c166d80a66f963f6c0c82ca1d1faaa5a differ diff --git a/fuzz/corpora/cmp/4e1ca3e1f2ef74d78d1dff608a25cc9f3eedc476 b/fuzz/corpora/cmp/4e1ca3e1f2ef74d78d1dff608a25cc9f3eedc476 new file mode 100644 index 00000000..3de6b72f Binary files /dev/null and b/fuzz/corpora/cmp/4e1ca3e1f2ef74d78d1dff608a25cc9f3eedc476 differ diff --git a/fuzz/corpora/cmp/4e1e924fd4eeb2903959da69d4887e0c077f1b13 b/fuzz/corpora/cmp/4e1e924fd4eeb2903959da69d4887e0c077f1b13 new file mode 100644 index 00000000..983b1361 Binary files /dev/null and b/fuzz/corpora/cmp/4e1e924fd4eeb2903959da69d4887e0c077f1b13 differ diff --git a/fuzz/corpora/cmp/4e22436534f7ddda6023610945ad3fb84b08d5f2 b/fuzz/corpora/cmp/4e22436534f7ddda6023610945ad3fb84b08d5f2 new file mode 100644 index 00000000..d825e1ad Binary files /dev/null and b/fuzz/corpora/cmp/4e22436534f7ddda6023610945ad3fb84b08d5f2 differ diff --git a/fuzz/corpora/cmp/4e2df89f59bf6d602075a9e858164e7ee8c7f7eb b/fuzz/corpora/cmp/4e2df89f59bf6d602075a9e858164e7ee8c7f7eb new file mode 100644 index 00000000..cbafdf36 Binary files /dev/null and b/fuzz/corpora/cmp/4e2df89f59bf6d602075a9e858164e7ee8c7f7eb differ diff --git a/fuzz/corpora/cmp/4e3c13852d80909860c29607883bb0ca5e4ac345 b/fuzz/corpora/cmp/4e3c13852d80909860c29607883bb0ca5e4ac345 new file mode 100644 index 00000000..6f9243fb Binary files /dev/null and b/fuzz/corpora/cmp/4e3c13852d80909860c29607883bb0ca5e4ac345 differ diff --git a/fuzz/corpora/cmp/4e3d27b7613ce0f48ba06f1001ed2cfed9a5005e b/fuzz/corpora/cmp/4e3d27b7613ce0f48ba06f1001ed2cfed9a5005e new file mode 100644 index 00000000..d7c4ab37 Binary files /dev/null and b/fuzz/corpora/cmp/4e3d27b7613ce0f48ba06f1001ed2cfed9a5005e differ diff --git a/fuzz/corpora/cmp/4e63b0a2073097b4a47c852023e4d963b235e6a2 b/fuzz/corpora/cmp/4e63b0a2073097b4a47c852023e4d963b235e6a2 new file mode 100644 index 00000000..7ccf8968 Binary files /dev/null and b/fuzz/corpora/cmp/4e63b0a2073097b4a47c852023e4d963b235e6a2 differ diff --git a/fuzz/corpora/cmp/4e7a69deb9a4d1e0d384472bedfd566459e742f1 b/fuzz/corpora/cmp/4e7a69deb9a4d1e0d384472bedfd566459e742f1 new file mode 100644 index 00000000..af73cbe6 Binary files /dev/null and b/fuzz/corpora/cmp/4e7a69deb9a4d1e0d384472bedfd566459e742f1 differ diff --git a/fuzz/corpora/cmp/4e80b8c0a1aaa4d31f6f684cd4819df9a153b7d0 b/fuzz/corpora/cmp/4e80b8c0a1aaa4d31f6f684cd4819df9a153b7d0 new file mode 100644 index 00000000..e1b0896a Binary files /dev/null and b/fuzz/corpora/cmp/4e80b8c0a1aaa4d31f6f684cd4819df9a153b7d0 differ diff --git a/fuzz/corpora/cmp/4e83700b54ac7c92f680b3493dd4cb6f6840447f b/fuzz/corpora/cmp/4e83700b54ac7c92f680b3493dd4cb6f6840447f new file mode 100644 index 00000000..e7a1391c Binary files /dev/null and b/fuzz/corpora/cmp/4e83700b54ac7c92f680b3493dd4cb6f6840447f differ diff --git a/fuzz/corpora/cmp/4e83b2c5c81df29c44c17ab614a3d4f73b9765e1 b/fuzz/corpora/cmp/4e83b2c5c81df29c44c17ab614a3d4f73b9765e1 new file mode 100644 index 00000000..b9450b72 Binary files /dev/null and b/fuzz/corpora/cmp/4e83b2c5c81df29c44c17ab614a3d4f73b9765e1 differ diff --git a/fuzz/corpora/cmp/4ea177facb4e630fc84c93c4542883af7c09cae7 b/fuzz/corpora/cmp/4ea177facb4e630fc84c93c4542883af7c09cae7 new file mode 100644 index 00000000..6ac0e21c Binary files /dev/null and b/fuzz/corpora/cmp/4ea177facb4e630fc84c93c4542883af7c09cae7 differ diff --git a/fuzz/corpora/cmp/4ed68c8505a04c31e2c96536bd4135ebab15c7e8 b/fuzz/corpora/cmp/4ed68c8505a04c31e2c96536bd4135ebab15c7e8 new file mode 100644 index 00000000..03776bfd Binary files /dev/null and b/fuzz/corpora/cmp/4ed68c8505a04c31e2c96536bd4135ebab15c7e8 differ diff --git a/fuzz/corpora/cmp/4ee1e564a8a17c176682670adc08ee6ecedda106 b/fuzz/corpora/cmp/4ee1e564a8a17c176682670adc08ee6ecedda106 new file mode 100644 index 00000000..55287dfa Binary files /dev/null and b/fuzz/corpora/cmp/4ee1e564a8a17c176682670adc08ee6ecedda106 differ diff --git a/fuzz/corpora/cmp/4ee3149e23933caf5af520629cea8edd869969cf b/fuzz/corpora/cmp/4ee3149e23933caf5af520629cea8edd869969cf new file mode 100644 index 00000000..c0074368 Binary files /dev/null and b/fuzz/corpora/cmp/4ee3149e23933caf5af520629cea8edd869969cf differ diff --git a/fuzz/corpora/cmp/4eeb95d22e9e3b149c9a341aa8a0a48c2349aa33 b/fuzz/corpora/cmp/4eeb95d22e9e3b149c9a341aa8a0a48c2349aa33 new file mode 100644 index 00000000..164b4b99 Binary files /dev/null and b/fuzz/corpora/cmp/4eeb95d22e9e3b149c9a341aa8a0a48c2349aa33 differ diff --git a/fuzz/corpora/cmp/4f00548b355744e62a5057c0611babc33999ffb3 b/fuzz/corpora/cmp/4f00548b355744e62a5057c0611babc33999ffb3 new file mode 100644 index 00000000..b6586d84 Binary files /dev/null and b/fuzz/corpora/cmp/4f00548b355744e62a5057c0611babc33999ffb3 differ diff --git a/fuzz/corpora/cmp/4f0813414633e6fdbd25cbe1661046382d83c4c3 b/fuzz/corpora/cmp/4f0813414633e6fdbd25cbe1661046382d83c4c3 new file mode 100644 index 00000000..4064cf9e Binary files /dev/null and b/fuzz/corpora/cmp/4f0813414633e6fdbd25cbe1661046382d83c4c3 differ diff --git a/fuzz/corpora/cmp/4f135976c11e50573802d9c123798c5cd4debca5 b/fuzz/corpora/cmp/4f135976c11e50573802d9c123798c5cd4debca5 new file mode 100644 index 00000000..0afc9664 Binary files /dev/null and b/fuzz/corpora/cmp/4f135976c11e50573802d9c123798c5cd4debca5 differ diff --git a/fuzz/corpora/cmp/4f1642c38c12508b13b4afed6c29c742ebbfe2d6 b/fuzz/corpora/cmp/4f1642c38c12508b13b4afed6c29c742ebbfe2d6 new file mode 100644 index 00000000..cf0dfa5f Binary files /dev/null and b/fuzz/corpora/cmp/4f1642c38c12508b13b4afed6c29c742ebbfe2d6 differ diff --git a/fuzz/corpora/cmp/4f1824932b7bc71441d1e6064c2f1d3acc10d4bd b/fuzz/corpora/cmp/4f1824932b7bc71441d1e6064c2f1d3acc10d4bd new file mode 100644 index 00000000..54cf472e Binary files /dev/null and b/fuzz/corpora/cmp/4f1824932b7bc71441d1e6064c2f1d3acc10d4bd differ diff --git a/fuzz/corpora/cmp/4f1b451b057dba32724850165b83d65a37e77c34 b/fuzz/corpora/cmp/4f1b451b057dba32724850165b83d65a37e77c34 new file mode 100644 index 00000000..cfe0c7fa Binary files /dev/null and b/fuzz/corpora/cmp/4f1b451b057dba32724850165b83d65a37e77c34 differ diff --git a/fuzz/corpora/cmp/4f21a15fe2d94a66f97ebadc393e8ce31762bef7 b/fuzz/corpora/cmp/4f21a15fe2d94a66f97ebadc393e8ce31762bef7 new file mode 100644 index 00000000..804dc967 Binary files /dev/null and b/fuzz/corpora/cmp/4f21a15fe2d94a66f97ebadc393e8ce31762bef7 differ diff --git a/fuzz/corpora/cmp/4f24c676620ceb9f511c0bfe669f8daab591f432 b/fuzz/corpora/cmp/4f24c676620ceb9f511c0bfe669f8daab591f432 new file mode 100644 index 00000000..aada67b1 Binary files /dev/null and b/fuzz/corpora/cmp/4f24c676620ceb9f511c0bfe669f8daab591f432 differ diff --git a/fuzz/corpora/cmp/4f3e0da5aee10fbc7225af047e9514f317259058 b/fuzz/corpora/cmp/4f3e0da5aee10fbc7225af047e9514f317259058 new file mode 100644 index 00000000..71ed8ad8 Binary files /dev/null and b/fuzz/corpora/cmp/4f3e0da5aee10fbc7225af047e9514f317259058 differ diff --git a/fuzz/corpora/cmp/4f45ff5cda4bc3d2609245fd195217b423fa5b0e b/fuzz/corpora/cmp/4f45ff5cda4bc3d2609245fd195217b423fa5b0e new file mode 100644 index 00000000..e642f8ea Binary files /dev/null and b/fuzz/corpora/cmp/4f45ff5cda4bc3d2609245fd195217b423fa5b0e differ diff --git a/fuzz/corpora/cmp/4f4772bbe55048bfa3208e9d94901dd34810ab65 b/fuzz/corpora/cmp/4f4772bbe55048bfa3208e9d94901dd34810ab65 new file mode 100644 index 00000000..62cac35d Binary files /dev/null and b/fuzz/corpora/cmp/4f4772bbe55048bfa3208e9d94901dd34810ab65 differ diff --git a/fuzz/corpora/cmp/4f4aae62234b28a6ec9df85618d0bc4f076a66a2 b/fuzz/corpora/cmp/4f4aae62234b28a6ec9df85618d0bc4f076a66a2 new file mode 100644 index 00000000..8dca2234 Binary files /dev/null and b/fuzz/corpora/cmp/4f4aae62234b28a6ec9df85618d0bc4f076a66a2 differ diff --git a/fuzz/corpora/cmp/4f54d70b8d91ae88bb1ebbc40f5b2562bc738bc0 b/fuzz/corpora/cmp/4f54d70b8d91ae88bb1ebbc40f5b2562bc738bc0 new file mode 100644 index 00000000..d8bcbb61 Binary files /dev/null and b/fuzz/corpora/cmp/4f54d70b8d91ae88bb1ebbc40f5b2562bc738bc0 differ diff --git a/fuzz/corpora/cmp/4f5b3e29980d1bf5de36dac71a9d000623b70b51 b/fuzz/corpora/cmp/4f5b3e29980d1bf5de36dac71a9d000623b70b51 new file mode 100644 index 00000000..752e6715 Binary files /dev/null and b/fuzz/corpora/cmp/4f5b3e29980d1bf5de36dac71a9d000623b70b51 differ diff --git a/fuzz/corpora/cmp/4f8232d21166130cdf4908f53d0b119e4b8a241c b/fuzz/corpora/cmp/4f8232d21166130cdf4908f53d0b119e4b8a241c new file mode 100644 index 00000000..03bf0fc6 Binary files /dev/null and b/fuzz/corpora/cmp/4f8232d21166130cdf4908f53d0b119e4b8a241c differ diff --git a/fuzz/corpora/cmp/4f89682dcdd965ec0b443abff41a36250bd1bb87 b/fuzz/corpora/cmp/4f89682dcdd965ec0b443abff41a36250bd1bb87 new file mode 100644 index 00000000..e81d8deb Binary files /dev/null and b/fuzz/corpora/cmp/4f89682dcdd965ec0b443abff41a36250bd1bb87 differ diff --git a/fuzz/corpora/cmp/4f9951b4325df7564376870b326971416dbc3894 b/fuzz/corpora/cmp/4f9951b4325df7564376870b326971416dbc3894 new file mode 100644 index 00000000..6def07df Binary files /dev/null and b/fuzz/corpora/cmp/4f9951b4325df7564376870b326971416dbc3894 differ diff --git a/fuzz/corpora/cmp/4fac5aba9e4c9b67f72637c84d62be4bbdda434c b/fuzz/corpora/cmp/4fac5aba9e4c9b67f72637c84d62be4bbdda434c new file mode 100644 index 00000000..967bab0f Binary files /dev/null and b/fuzz/corpora/cmp/4fac5aba9e4c9b67f72637c84d62be4bbdda434c differ diff --git a/fuzz/corpora/cmp/4fc5fb76c96c97c944a6304c6cf0b3f5ca2c969b b/fuzz/corpora/cmp/4fc5fb76c96c97c944a6304c6cf0b3f5ca2c969b new file mode 100644 index 00000000..ed4c6890 Binary files /dev/null and b/fuzz/corpora/cmp/4fc5fb76c96c97c944a6304c6cf0b3f5ca2c969b differ diff --git a/fuzz/corpora/cmp/4fcdb55825144d07faabc2ead067da0ca71f0113 b/fuzz/corpora/cmp/4fcdb55825144d07faabc2ead067da0ca71f0113 new file mode 100644 index 00000000..4ce34fb9 Binary files /dev/null and b/fuzz/corpora/cmp/4fcdb55825144d07faabc2ead067da0ca71f0113 differ diff --git a/fuzz/corpora/cmp/4feb0501b912d9e3876c9340195257b60dddfe40 b/fuzz/corpora/cmp/4feb0501b912d9e3876c9340195257b60dddfe40 new file mode 100644 index 00000000..719e06ba Binary files /dev/null and b/fuzz/corpora/cmp/4feb0501b912d9e3876c9340195257b60dddfe40 differ diff --git a/fuzz/corpora/cmp/4fec2db37f967ef725b7e8ed4e7b3a0134059d9a b/fuzz/corpora/cmp/4fec2db37f967ef725b7e8ed4e7b3a0134059d9a new file mode 100644 index 00000000..051d9758 Binary files /dev/null and b/fuzz/corpora/cmp/4fec2db37f967ef725b7e8ed4e7b3a0134059d9a differ diff --git a/fuzz/corpora/cmp/500299fc29efe60683ada8b0286b1c11efafee67 b/fuzz/corpora/cmp/500299fc29efe60683ada8b0286b1c11efafee67 new file mode 100644 index 00000000..a4296389 Binary files /dev/null and b/fuzz/corpora/cmp/500299fc29efe60683ada8b0286b1c11efafee67 differ diff --git a/fuzz/corpora/cmp/5006932f9e2391f3a086acae0994daa43151554f b/fuzz/corpora/cmp/5006932f9e2391f3a086acae0994daa43151554f new file mode 100644 index 00000000..4b2b4425 Binary files /dev/null and b/fuzz/corpora/cmp/5006932f9e2391f3a086acae0994daa43151554f differ diff --git a/fuzz/corpora/cmp/5029986ccdb0df27a8b0b751735dd8c769322c03 b/fuzz/corpora/cmp/5029986ccdb0df27a8b0b751735dd8c769322c03 new file mode 100644 index 00000000..b032237a Binary files /dev/null and b/fuzz/corpora/cmp/5029986ccdb0df27a8b0b751735dd8c769322c03 differ diff --git a/fuzz/corpora/cmp/503aaff1f3a63b867c0889e7c7433bd8f11482b9 b/fuzz/corpora/cmp/503aaff1f3a63b867c0889e7c7433bd8f11482b9 new file mode 100644 index 00000000..d945cf19 Binary files /dev/null and b/fuzz/corpora/cmp/503aaff1f3a63b867c0889e7c7433bd8f11482b9 differ diff --git a/fuzz/corpora/cmp/5057ab886d0e86ed6b3f466a872d7c88d320c303 b/fuzz/corpora/cmp/5057ab886d0e86ed6b3f466a872d7c88d320c303 new file mode 100644 index 00000000..22497a0b Binary files /dev/null and b/fuzz/corpora/cmp/5057ab886d0e86ed6b3f466a872d7c88d320c303 differ diff --git a/fuzz/corpora/cmp/5057ae1f5d2c9a377d6d54757a24cd45c9784c19 b/fuzz/corpora/cmp/5057ae1f5d2c9a377d6d54757a24cd45c9784c19 new file mode 100644 index 00000000..979c3016 Binary files /dev/null and b/fuzz/corpora/cmp/5057ae1f5d2c9a377d6d54757a24cd45c9784c19 differ diff --git a/fuzz/corpora/cmp/5067167d77e0de4577398c2e457553bc7c39280b b/fuzz/corpora/cmp/5067167d77e0de4577398c2e457553bc7c39280b new file mode 100644 index 00000000..dca2d725 Binary files /dev/null and b/fuzz/corpora/cmp/5067167d77e0de4577398c2e457553bc7c39280b differ diff --git a/fuzz/corpora/cmp/50715b2ada79c0d92e250905191928186bacc3a2 b/fuzz/corpora/cmp/50715b2ada79c0d92e250905191928186bacc3a2 new file mode 100644 index 00000000..e7d398fc Binary files /dev/null and b/fuzz/corpora/cmp/50715b2ada79c0d92e250905191928186bacc3a2 differ diff --git a/fuzz/corpora/cmp/50781c3774fef723b1d28d38d91c21df116d210f b/fuzz/corpora/cmp/50781c3774fef723b1d28d38d91c21df116d210f new file mode 100644 index 00000000..26171013 Binary files /dev/null and b/fuzz/corpora/cmp/50781c3774fef723b1d28d38d91c21df116d210f differ diff --git a/fuzz/corpora/cmp/508139271b74cbaf917a0690e5da98d1964a9893 b/fuzz/corpora/cmp/508139271b74cbaf917a0690e5da98d1964a9893 new file mode 100644 index 00000000..af904d24 Binary files /dev/null and b/fuzz/corpora/cmp/508139271b74cbaf917a0690e5da98d1964a9893 differ diff --git a/fuzz/corpora/cmp/5088f81e021c79618942709597375af2ec5345d2 b/fuzz/corpora/cmp/5088f81e021c79618942709597375af2ec5345d2 new file mode 100644 index 00000000..70e74303 Binary files /dev/null and b/fuzz/corpora/cmp/5088f81e021c79618942709597375af2ec5345d2 differ diff --git a/fuzz/corpora/cmp/508f1f8b2cd7a1f68d08d42f1d6a001683fbebc3 b/fuzz/corpora/cmp/508f1f8b2cd7a1f68d08d42f1d6a001683fbebc3 new file mode 100644 index 00000000..2bca434b Binary files /dev/null and b/fuzz/corpora/cmp/508f1f8b2cd7a1f68d08d42f1d6a001683fbebc3 differ diff --git a/fuzz/corpora/cmp/50a6fa06994f658806797eb71a6250111ebe750b b/fuzz/corpora/cmp/50a6fa06994f658806797eb71a6250111ebe750b new file mode 100644 index 00000000..a88f0447 Binary files /dev/null and b/fuzz/corpora/cmp/50a6fa06994f658806797eb71a6250111ebe750b differ diff --git a/fuzz/corpora/cmp/50b1886faf523c66a5304bbafbc3fddc68aff907 b/fuzz/corpora/cmp/50b1886faf523c66a5304bbafbc3fddc68aff907 new file mode 100644 index 00000000..7af6b27a Binary files /dev/null and b/fuzz/corpora/cmp/50b1886faf523c66a5304bbafbc3fddc68aff907 differ diff --git a/fuzz/corpora/cmp/50bd0e8e698047733d8eecc973b9989ac8b60dfe b/fuzz/corpora/cmp/50bd0e8e698047733d8eecc973b9989ac8b60dfe new file mode 100644 index 00000000..6783bf3b Binary files /dev/null and b/fuzz/corpora/cmp/50bd0e8e698047733d8eecc973b9989ac8b60dfe differ diff --git a/fuzz/corpora/cmp/50dc36fa9c8140d5bd635dfe02abc36ffeb08c8e b/fuzz/corpora/cmp/50dc36fa9c8140d5bd635dfe02abc36ffeb08c8e new file mode 100644 index 00000000..7aab7c39 Binary files /dev/null and b/fuzz/corpora/cmp/50dc36fa9c8140d5bd635dfe02abc36ffeb08c8e differ diff --git a/fuzz/corpora/cmp/50e208ccbccb9d22e9c6d9aff901851fd2406bea b/fuzz/corpora/cmp/50e208ccbccb9d22e9c6d9aff901851fd2406bea new file mode 100644 index 00000000..dbf156f5 Binary files /dev/null and b/fuzz/corpora/cmp/50e208ccbccb9d22e9c6d9aff901851fd2406bea differ diff --git a/fuzz/corpora/cmp/5118f50836d66fb8980a14a0d6ca320fffa86ea0 b/fuzz/corpora/cmp/5118f50836d66fb8980a14a0d6ca320fffa86ea0 new file mode 100644 index 00000000..522b5afb Binary files /dev/null and b/fuzz/corpora/cmp/5118f50836d66fb8980a14a0d6ca320fffa86ea0 differ diff --git a/fuzz/corpora/cmp/512a0608164346a6a77aa269b279ca4e02274111 b/fuzz/corpora/cmp/512a0608164346a6a77aa269b279ca4e02274111 new file mode 100644 index 00000000..eb9f9b05 Binary files /dev/null and b/fuzz/corpora/cmp/512a0608164346a6a77aa269b279ca4e02274111 differ diff --git a/fuzz/corpora/cmp/513653cb32f240a27b608879df0ae82c2b12d915 b/fuzz/corpora/cmp/513653cb32f240a27b608879df0ae82c2b12d915 new file mode 100644 index 00000000..dc5df611 Binary files /dev/null and b/fuzz/corpora/cmp/513653cb32f240a27b608879df0ae82c2b12d915 differ diff --git a/fuzz/corpora/cmp/513ed2b6d224cbe11bf1e27135156a41222ac2ce b/fuzz/corpora/cmp/513ed2b6d224cbe11bf1e27135156a41222ac2ce new file mode 100644 index 00000000..a44d219c Binary files /dev/null and b/fuzz/corpora/cmp/513ed2b6d224cbe11bf1e27135156a41222ac2ce differ diff --git a/fuzz/corpora/cmp/514738bf938f5fe4e4467fc53b5584d1db4a2949 b/fuzz/corpora/cmp/514738bf938f5fe4e4467fc53b5584d1db4a2949 new file mode 100644 index 00000000..3768be19 Binary files /dev/null and b/fuzz/corpora/cmp/514738bf938f5fe4e4467fc53b5584d1db4a2949 differ diff --git a/fuzz/corpora/cmp/51484808cbf9032791b20530d86835ccb1b448b9 b/fuzz/corpora/cmp/51484808cbf9032791b20530d86835ccb1b448b9 new file mode 100644 index 00000000..08a2e873 Binary files /dev/null and b/fuzz/corpora/cmp/51484808cbf9032791b20530d86835ccb1b448b9 differ diff --git a/fuzz/corpora/cmp/5151d2a7b1129d5270bf975c953d9b3ef17d8473 b/fuzz/corpora/cmp/5151d2a7b1129d5270bf975c953d9b3ef17d8473 new file mode 100644 index 00000000..68af2478 Binary files /dev/null and b/fuzz/corpora/cmp/5151d2a7b1129d5270bf975c953d9b3ef17d8473 differ diff --git a/fuzz/corpora/cmp/5156b27e026cfa03587550073e0b8c550a97b199 b/fuzz/corpora/cmp/5156b27e026cfa03587550073e0b8c550a97b199 new file mode 100644 index 00000000..33dc3ccb Binary files /dev/null and b/fuzz/corpora/cmp/5156b27e026cfa03587550073e0b8c550a97b199 differ diff --git a/fuzz/corpora/cmp/5165a011a91360138632138540bb3c80152302c3 b/fuzz/corpora/cmp/5165a011a91360138632138540bb3c80152302c3 new file mode 100644 index 00000000..77f0bc10 Binary files /dev/null and b/fuzz/corpora/cmp/5165a011a91360138632138540bb3c80152302c3 differ diff --git a/fuzz/corpora/cmp/517401c02a0a5b93642ac0031d89f72361ca4718 b/fuzz/corpora/cmp/517401c02a0a5b93642ac0031d89f72361ca4718 new file mode 100644 index 00000000..c9680f44 Binary files /dev/null and b/fuzz/corpora/cmp/517401c02a0a5b93642ac0031d89f72361ca4718 differ diff --git a/fuzz/corpora/cmp/517ce12ce16e399c3686e6bfed23a86c9988561f b/fuzz/corpora/cmp/517ce12ce16e399c3686e6bfed23a86c9988561f new file mode 100644 index 00000000..5af8512b Binary files /dev/null and b/fuzz/corpora/cmp/517ce12ce16e399c3686e6bfed23a86c9988561f differ diff --git a/fuzz/corpora/cmp/517eac745b872cfd58ce8a6472e5b3630b319e37 b/fuzz/corpora/cmp/517eac745b872cfd58ce8a6472e5b3630b319e37 new file mode 100644 index 00000000..a225f1b8 Binary files /dev/null and b/fuzz/corpora/cmp/517eac745b872cfd58ce8a6472e5b3630b319e37 differ diff --git a/fuzz/corpora/cmp/518948cea5b804c7eabcce9bfaf83c93e92d973c b/fuzz/corpora/cmp/518948cea5b804c7eabcce9bfaf83c93e92d973c new file mode 100644 index 00000000..cfdc2667 Binary files /dev/null and b/fuzz/corpora/cmp/518948cea5b804c7eabcce9bfaf83c93e92d973c differ diff --git a/fuzz/corpora/cmp/5190df847b0f30839bca1746d6a7cd582a3876da b/fuzz/corpora/cmp/5190df847b0f30839bca1746d6a7cd582a3876da new file mode 100644 index 00000000..3579696a Binary files /dev/null and b/fuzz/corpora/cmp/5190df847b0f30839bca1746d6a7cd582a3876da differ diff --git a/fuzz/corpora/cmp/519962360e1bb92630c8b039f2105885c2e9a2be b/fuzz/corpora/cmp/519962360e1bb92630c8b039f2105885c2e9a2be new file mode 100644 index 00000000..3fef9b7f Binary files /dev/null and b/fuzz/corpora/cmp/519962360e1bb92630c8b039f2105885c2e9a2be differ diff --git a/fuzz/corpora/cmp/519e6b66dc427b70dd4ecac6ed55361ea7a81b8d b/fuzz/corpora/cmp/519e6b66dc427b70dd4ecac6ed55361ea7a81b8d new file mode 100644 index 00000000..5d01e4cc Binary files /dev/null and b/fuzz/corpora/cmp/519e6b66dc427b70dd4ecac6ed55361ea7a81b8d differ diff --git a/fuzz/corpora/cmp/51a9e6b76e378433786b11bb454291315c2c82f1 b/fuzz/corpora/cmp/51a9e6b76e378433786b11bb454291315c2c82f1 new file mode 100644 index 00000000..c41787f7 Binary files /dev/null and b/fuzz/corpora/cmp/51a9e6b76e378433786b11bb454291315c2c82f1 differ diff --git a/fuzz/corpora/cmp/51af753bd32eb10f3323ebb2e0b2229be0e409f8 b/fuzz/corpora/cmp/51af753bd32eb10f3323ebb2e0b2229be0e409f8 new file mode 100644 index 00000000..bd7fe449 Binary files /dev/null and b/fuzz/corpora/cmp/51af753bd32eb10f3323ebb2e0b2229be0e409f8 differ diff --git a/fuzz/corpora/cmp/51b06e5519c79581fe429bbcf810aa52a8c39317 b/fuzz/corpora/cmp/51b06e5519c79581fe429bbcf810aa52a8c39317 new file mode 100644 index 00000000..df9325e9 Binary files /dev/null and b/fuzz/corpora/cmp/51b06e5519c79581fe429bbcf810aa52a8c39317 differ diff --git a/fuzz/corpora/cmp/51c85f8669df462e3f3d5251be836d2cf1f00a86 b/fuzz/corpora/cmp/51c85f8669df462e3f3d5251be836d2cf1f00a86 new file mode 100644 index 00000000..fbedcc47 Binary files /dev/null and b/fuzz/corpora/cmp/51c85f8669df462e3f3d5251be836d2cf1f00a86 differ diff --git a/fuzz/corpora/cmp/51d1a708105fcd5f5408f3706524a18b0818440b b/fuzz/corpora/cmp/51d1a708105fcd5f5408f3706524a18b0818440b new file mode 100644 index 00000000..72264ee9 Binary files /dev/null and b/fuzz/corpora/cmp/51d1a708105fcd5f5408f3706524a18b0818440b differ diff --git a/fuzz/corpora/cmp/51fa0ec317e4a4b28e824047ef6fd338da6431a1 b/fuzz/corpora/cmp/51fa0ec317e4a4b28e824047ef6fd338da6431a1 new file mode 100644 index 00000000..a10625df Binary files /dev/null and b/fuzz/corpora/cmp/51fa0ec317e4a4b28e824047ef6fd338da6431a1 differ diff --git a/fuzz/corpora/cmp/52029accd60722e2d8143232340157a025a7b35b b/fuzz/corpora/cmp/52029accd60722e2d8143232340157a025a7b35b new file mode 100644 index 00000000..acb71181 Binary files /dev/null and b/fuzz/corpora/cmp/52029accd60722e2d8143232340157a025a7b35b differ diff --git a/fuzz/corpora/cmp/522f85dc1fc1bd22239c11927a59a65c2481bce8 b/fuzz/corpora/cmp/522f85dc1fc1bd22239c11927a59a65c2481bce8 new file mode 100644 index 00000000..0538641a Binary files /dev/null and b/fuzz/corpora/cmp/522f85dc1fc1bd22239c11927a59a65c2481bce8 differ diff --git a/fuzz/corpora/cmp/5236a67515b82e8362b23c86247b410cfc8f9021 b/fuzz/corpora/cmp/5236a67515b82e8362b23c86247b410cfc8f9021 new file mode 100644 index 00000000..af69771c Binary files /dev/null and b/fuzz/corpora/cmp/5236a67515b82e8362b23c86247b410cfc8f9021 differ diff --git a/fuzz/corpora/cmp/5256bfcb46a0e3cdefcd3e9c0d87f0c72321702e b/fuzz/corpora/cmp/5256bfcb46a0e3cdefcd3e9c0d87f0c72321702e new file mode 100644 index 00000000..24aff5f6 Binary files /dev/null and b/fuzz/corpora/cmp/5256bfcb46a0e3cdefcd3e9c0d87f0c72321702e differ diff --git a/fuzz/corpora/cmp/525860474d2c6d48c70fd4a3ee838aa7f9784bc0 b/fuzz/corpora/cmp/525860474d2c6d48c70fd4a3ee838aa7f9784bc0 new file mode 100644 index 00000000..d299826f Binary files /dev/null and b/fuzz/corpora/cmp/525860474d2c6d48c70fd4a3ee838aa7f9784bc0 differ diff --git a/fuzz/corpora/cmp/525ad32877132c8afc54d84109dc97c16079ef3a b/fuzz/corpora/cmp/525ad32877132c8afc54d84109dc97c16079ef3a new file mode 100644 index 00000000..c9eaec3c Binary files /dev/null and b/fuzz/corpora/cmp/525ad32877132c8afc54d84109dc97c16079ef3a differ diff --git a/fuzz/corpora/cmp/5260b5257386e3154a030123a7ec19f5898aabec b/fuzz/corpora/cmp/5260b5257386e3154a030123a7ec19f5898aabec new file mode 100644 index 00000000..7415d48d Binary files /dev/null and b/fuzz/corpora/cmp/5260b5257386e3154a030123a7ec19f5898aabec differ diff --git a/fuzz/corpora/cmp/526b8a7619bc7651c0b423331bedbb57b703aba4 b/fuzz/corpora/cmp/526b8a7619bc7651c0b423331bedbb57b703aba4 new file mode 100644 index 00000000..fe92da2b Binary files /dev/null and b/fuzz/corpora/cmp/526b8a7619bc7651c0b423331bedbb57b703aba4 differ diff --git a/fuzz/corpora/cmp/526e155f4b4aae32a5309751fb48403cd6cb08a4 b/fuzz/corpora/cmp/526e155f4b4aae32a5309751fb48403cd6cb08a4 new file mode 100644 index 00000000..5c26f2a6 Binary files /dev/null and b/fuzz/corpora/cmp/526e155f4b4aae32a5309751fb48403cd6cb08a4 differ diff --git a/fuzz/corpora/cmp/527e9f0565e9fabfdb67788c418565b96304ca7a b/fuzz/corpora/cmp/527e9f0565e9fabfdb67788c418565b96304ca7a new file mode 100644 index 00000000..8756ff0a Binary files /dev/null and b/fuzz/corpora/cmp/527e9f0565e9fabfdb67788c418565b96304ca7a differ diff --git a/fuzz/corpora/cmp/52985676cd2641b2061ace9ac431e89071eb6aee b/fuzz/corpora/cmp/52985676cd2641b2061ace9ac431e89071eb6aee new file mode 100644 index 00000000..b0bc45e1 Binary files /dev/null and b/fuzz/corpora/cmp/52985676cd2641b2061ace9ac431e89071eb6aee differ diff --git a/fuzz/corpora/cmp/52a7977d5a30b1cda52e6650e5046a914ab56cc4 b/fuzz/corpora/cmp/52a7977d5a30b1cda52e6650e5046a914ab56cc4 new file mode 100644 index 00000000..2899ac6d Binary files /dev/null and b/fuzz/corpora/cmp/52a7977d5a30b1cda52e6650e5046a914ab56cc4 differ diff --git a/fuzz/corpora/cmp/52aae76c12b5c7c66c3d5ab95bb347812ecb6c68 b/fuzz/corpora/cmp/52aae76c12b5c7c66c3d5ab95bb347812ecb6c68 new file mode 100644 index 00000000..be417f0b Binary files /dev/null and b/fuzz/corpora/cmp/52aae76c12b5c7c66c3d5ab95bb347812ecb6c68 differ diff --git a/fuzz/corpora/cmp/52bb28c7fce908bff360a92a536b2cec9e982a62 b/fuzz/corpora/cmp/52bb28c7fce908bff360a92a536b2cec9e982a62 new file mode 100644 index 00000000..add43727 Binary files /dev/null and b/fuzz/corpora/cmp/52bb28c7fce908bff360a92a536b2cec9e982a62 differ diff --git a/fuzz/corpora/cmp/52bb2f4736a8be2eadddbb776e84edda9ed93470 b/fuzz/corpora/cmp/52bb2f4736a8be2eadddbb776e84edda9ed93470 new file mode 100644 index 00000000..0ba071dc Binary files /dev/null and b/fuzz/corpora/cmp/52bb2f4736a8be2eadddbb776e84edda9ed93470 differ diff --git a/fuzz/corpora/cmp/52d1315bf0c7ab63c9758d7a8182af96cdf5392f b/fuzz/corpora/cmp/52d1315bf0c7ab63c9758d7a8182af96cdf5392f new file mode 100644 index 00000000..cccb8527 Binary files /dev/null and b/fuzz/corpora/cmp/52d1315bf0c7ab63c9758d7a8182af96cdf5392f differ diff --git a/fuzz/corpora/cmp/52d8ad5ba42f8eb5d2ee7fb31867b95b72bc0fd0 b/fuzz/corpora/cmp/52d8ad5ba42f8eb5d2ee7fb31867b95b72bc0fd0 new file mode 100644 index 00000000..04a074eb Binary files /dev/null and b/fuzz/corpora/cmp/52d8ad5ba42f8eb5d2ee7fb31867b95b72bc0fd0 differ diff --git a/fuzz/corpora/cmp/52dc9ff63101a513d9074b3982aaf77aa7c5ba59 b/fuzz/corpora/cmp/52dc9ff63101a513d9074b3982aaf77aa7c5ba59 new file mode 100644 index 00000000..8efb32af Binary files /dev/null and b/fuzz/corpora/cmp/52dc9ff63101a513d9074b3982aaf77aa7c5ba59 differ diff --git a/fuzz/corpora/cmp/52de98898b9b1adc7c3f3089afc465a765cebc3e b/fuzz/corpora/cmp/52de98898b9b1adc7c3f3089afc465a765cebc3e new file mode 100644 index 00000000..2facd315 Binary files /dev/null and b/fuzz/corpora/cmp/52de98898b9b1adc7c3f3089afc465a765cebc3e differ diff --git a/fuzz/corpora/cmp/52e09dc3fa77d854294ff09dda59c4eb47d311ed b/fuzz/corpora/cmp/52e09dc3fa77d854294ff09dda59c4eb47d311ed new file mode 100644 index 00000000..b3c1e541 Binary files /dev/null and b/fuzz/corpora/cmp/52e09dc3fa77d854294ff09dda59c4eb47d311ed differ diff --git a/fuzz/corpora/cmp/52fc1dcc94b8d77da53828c564074325b25cb167 b/fuzz/corpora/cmp/52fc1dcc94b8d77da53828c564074325b25cb167 new file mode 100644 index 00000000..21b6ddac Binary files /dev/null and b/fuzz/corpora/cmp/52fc1dcc94b8d77da53828c564074325b25cb167 differ diff --git a/fuzz/corpora/cmp/532bfb4b1c7b4408a903678abedbe0a6466e9985 b/fuzz/corpora/cmp/532bfb4b1c7b4408a903678abedbe0a6466e9985 new file mode 100644 index 00000000..5ecb0ced Binary files /dev/null and b/fuzz/corpora/cmp/532bfb4b1c7b4408a903678abedbe0a6466e9985 differ diff --git a/fuzz/corpora/cmp/53321524bf6975da6f526322eeb2a68c74219954 b/fuzz/corpora/cmp/53321524bf6975da6f526322eeb2a68c74219954 new file mode 100644 index 00000000..9c4902ff Binary files /dev/null and b/fuzz/corpora/cmp/53321524bf6975da6f526322eeb2a68c74219954 differ diff --git a/fuzz/corpora/cmp/534dd1018ef92537d1dbe69b5ae9baa8dbf120e2 b/fuzz/corpora/cmp/534dd1018ef92537d1dbe69b5ae9baa8dbf120e2 new file mode 100644 index 00000000..d9e1e690 Binary files /dev/null and b/fuzz/corpora/cmp/534dd1018ef92537d1dbe69b5ae9baa8dbf120e2 differ diff --git a/fuzz/corpora/cmp/53601e42f9d2c455922b16b524a4341b2879783b b/fuzz/corpora/cmp/53601e42f9d2c455922b16b524a4341b2879783b new file mode 100644 index 00000000..a503d4c6 Binary files /dev/null and b/fuzz/corpora/cmp/53601e42f9d2c455922b16b524a4341b2879783b differ diff --git a/fuzz/corpora/cmp/5374e4b3aa9ffd7f9b52033bf907f6f28ecb7e1a b/fuzz/corpora/cmp/5374e4b3aa9ffd7f9b52033bf907f6f28ecb7e1a new file mode 100644 index 00000000..468c47de Binary files /dev/null and b/fuzz/corpora/cmp/5374e4b3aa9ffd7f9b52033bf907f6f28ecb7e1a differ diff --git a/fuzz/corpora/cmp/5384f844cad4ddfe3cb8a06be8d625604c0cb608 b/fuzz/corpora/cmp/5384f844cad4ddfe3cb8a06be8d625604c0cb608 new file mode 100644 index 00000000..349f6e3e Binary files /dev/null and b/fuzz/corpora/cmp/5384f844cad4ddfe3cb8a06be8d625604c0cb608 differ diff --git a/fuzz/corpora/cmp/5394c7e6478f8d66e632e3dbd75f331cc0fbdea8 b/fuzz/corpora/cmp/5394c7e6478f8d66e632e3dbd75f331cc0fbdea8 new file mode 100644 index 00000000..8c202411 Binary files /dev/null and b/fuzz/corpora/cmp/5394c7e6478f8d66e632e3dbd75f331cc0fbdea8 differ diff --git a/fuzz/corpora/cmp/539800637f666d1ad707ef3557da3f93a9cc3c63 b/fuzz/corpora/cmp/539800637f666d1ad707ef3557da3f93a9cc3c63 new file mode 100644 index 00000000..dfc88f4b Binary files /dev/null and b/fuzz/corpora/cmp/539800637f666d1ad707ef3557da3f93a9cc3c63 differ diff --git a/fuzz/corpora/cmp/539cadd2c28ee22ba71d7b032239c5e2618b61c4 b/fuzz/corpora/cmp/539cadd2c28ee22ba71d7b032239c5e2618b61c4 new file mode 100644 index 00000000..c96f4a15 Binary files /dev/null and b/fuzz/corpora/cmp/539cadd2c28ee22ba71d7b032239c5e2618b61c4 differ diff --git a/fuzz/corpora/cmp/53a2d0e4a265d98a3163d1adc0e1af35e10e266c b/fuzz/corpora/cmp/53a2d0e4a265d98a3163d1adc0e1af35e10e266c new file mode 100644 index 00000000..6c34a5b5 Binary files /dev/null and b/fuzz/corpora/cmp/53a2d0e4a265d98a3163d1adc0e1af35e10e266c differ diff --git a/fuzz/corpora/cmp/53b9957a86a0af74036326c1b0cf76076dc1c512 b/fuzz/corpora/cmp/53b9957a86a0af74036326c1b0cf76076dc1c512 new file mode 100644 index 00000000..4c6fc9f6 Binary files /dev/null and b/fuzz/corpora/cmp/53b9957a86a0af74036326c1b0cf76076dc1c512 differ diff --git a/fuzz/corpora/cmp/53c6c9dd85c6e01c4a795122a83377e875666092 b/fuzz/corpora/cmp/53c6c9dd85c6e01c4a795122a83377e875666092 new file mode 100644 index 00000000..062d6210 Binary files /dev/null and b/fuzz/corpora/cmp/53c6c9dd85c6e01c4a795122a83377e875666092 differ diff --git a/fuzz/corpora/cmp/53cbf971f2524791cd73e4d84c7e2caa002dc084 b/fuzz/corpora/cmp/53cbf971f2524791cd73e4d84c7e2caa002dc084 new file mode 100644 index 00000000..1affd9ca Binary files /dev/null and b/fuzz/corpora/cmp/53cbf971f2524791cd73e4d84c7e2caa002dc084 differ diff --git a/fuzz/corpora/cmp/53da63b6303c3cb177047a07dce07fc54cc5d49b b/fuzz/corpora/cmp/53da63b6303c3cb177047a07dce07fc54cc5d49b new file mode 100644 index 00000000..1a1c17ff Binary files /dev/null and b/fuzz/corpora/cmp/53da63b6303c3cb177047a07dce07fc54cc5d49b differ diff --git a/fuzz/corpora/cmp/53fa14f52da7dd4db7a350156c77483e7181f9ae b/fuzz/corpora/cmp/53fa14f52da7dd4db7a350156c77483e7181f9ae new file mode 100644 index 00000000..1dce99e7 Binary files /dev/null and b/fuzz/corpora/cmp/53fa14f52da7dd4db7a350156c77483e7181f9ae differ diff --git a/fuzz/corpora/cmp/5400a156eb6f0d44f8fc1f46caec019352b648a9 b/fuzz/corpora/cmp/5400a156eb6f0d44f8fc1f46caec019352b648a9 new file mode 100644 index 00000000..4998379f Binary files /dev/null and b/fuzz/corpora/cmp/5400a156eb6f0d44f8fc1f46caec019352b648a9 differ diff --git a/fuzz/corpora/cmp/540f0120d4d8bdc23eff4d491dbbc3a9430755a8 b/fuzz/corpora/cmp/540f0120d4d8bdc23eff4d491dbbc3a9430755a8 new file mode 100644 index 00000000..f3e7337d Binary files /dev/null and b/fuzz/corpora/cmp/540f0120d4d8bdc23eff4d491dbbc3a9430755a8 differ diff --git a/fuzz/corpora/cmp/5410eeb854f9af9fcbbf63b807093f548a75a1af b/fuzz/corpora/cmp/5410eeb854f9af9fcbbf63b807093f548a75a1af new file mode 100644 index 00000000..dd61146e Binary files /dev/null and b/fuzz/corpora/cmp/5410eeb854f9af9fcbbf63b807093f548a75a1af differ diff --git a/fuzz/corpora/cmp/5411ecaa715e33023e62b35c1eb11680598b0b45 b/fuzz/corpora/cmp/5411ecaa715e33023e62b35c1eb11680598b0b45 new file mode 100644 index 00000000..a01b112f Binary files /dev/null and b/fuzz/corpora/cmp/5411ecaa715e33023e62b35c1eb11680598b0b45 differ diff --git a/fuzz/corpora/cmp/5412da756d1b35484870714454421665335334c1 b/fuzz/corpora/cmp/5412da756d1b35484870714454421665335334c1 new file mode 100644 index 00000000..57d68716 Binary files /dev/null and b/fuzz/corpora/cmp/5412da756d1b35484870714454421665335334c1 differ diff --git a/fuzz/corpora/cmp/54138d46217e503d7d82fe3968030d4a6d72a406 b/fuzz/corpora/cmp/54138d46217e503d7d82fe3968030d4a6d72a406 new file mode 100644 index 00000000..1b097024 Binary files /dev/null and b/fuzz/corpora/cmp/54138d46217e503d7d82fe3968030d4a6d72a406 differ diff --git a/fuzz/corpora/cmp/542b6ef2566061586a93b0888336dccd5b5004b6 b/fuzz/corpora/cmp/542b6ef2566061586a93b0888336dccd5b5004b6 new file mode 100644 index 00000000..97bb135b Binary files /dev/null and b/fuzz/corpora/cmp/542b6ef2566061586a93b0888336dccd5b5004b6 differ diff --git a/fuzz/corpora/cmp/542c7d1fd59b267bd7eec03c8b31bb284fd290b7 b/fuzz/corpora/cmp/542c7d1fd59b267bd7eec03c8b31bb284fd290b7 new file mode 100644 index 00000000..4d7bdcbd Binary files /dev/null and b/fuzz/corpora/cmp/542c7d1fd59b267bd7eec03c8b31bb284fd290b7 differ diff --git a/fuzz/corpora/cmp/542e24dd4a69a19fa09745e9b8ae9589330a3d0e b/fuzz/corpora/cmp/542e24dd4a69a19fa09745e9b8ae9589330a3d0e new file mode 100644 index 00000000..f1ec621a Binary files /dev/null and b/fuzz/corpora/cmp/542e24dd4a69a19fa09745e9b8ae9589330a3d0e differ diff --git a/fuzz/corpora/cmp/543137139443b318f0c1ecbd8d1211e913e9026a b/fuzz/corpora/cmp/543137139443b318f0c1ecbd8d1211e913e9026a new file mode 100644 index 00000000..7fee8fb9 Binary files /dev/null and b/fuzz/corpora/cmp/543137139443b318f0c1ecbd8d1211e913e9026a differ diff --git a/fuzz/corpora/cmp/5439034ff7267c120a6e27c5942c676ce1fbc256 b/fuzz/corpora/cmp/5439034ff7267c120a6e27c5942c676ce1fbc256 new file mode 100644 index 00000000..3c8f3bc1 Binary files /dev/null and b/fuzz/corpora/cmp/5439034ff7267c120a6e27c5942c676ce1fbc256 differ diff --git a/fuzz/corpora/cmp/5442772c288e9c4c9bcf15c4481ef6eb854d3223 b/fuzz/corpora/cmp/5442772c288e9c4c9bcf15c4481ef6eb854d3223 new file mode 100644 index 00000000..9659c119 Binary files /dev/null and b/fuzz/corpora/cmp/5442772c288e9c4c9bcf15c4481ef6eb854d3223 differ diff --git a/fuzz/corpora/cmp/5481d90816701bd6a7d61c2a1a36828fafee42bf b/fuzz/corpora/cmp/5481d90816701bd6a7d61c2a1a36828fafee42bf new file mode 100644 index 00000000..ae5c744f Binary files /dev/null and b/fuzz/corpora/cmp/5481d90816701bd6a7d61c2a1a36828fafee42bf differ diff --git a/fuzz/corpora/cmp/54acd76805097c8926a00e1d50ea58a8bb7a932c b/fuzz/corpora/cmp/54acd76805097c8926a00e1d50ea58a8bb7a932c new file mode 100644 index 00000000..ac9cb0a6 Binary files /dev/null and b/fuzz/corpora/cmp/54acd76805097c8926a00e1d50ea58a8bb7a932c differ diff --git a/fuzz/corpora/cmp/54bf20d8065c284a665ccf386321f9c0e237a27a b/fuzz/corpora/cmp/54bf20d8065c284a665ccf386321f9c0e237a27a new file mode 100644 index 00000000..4b24a7a8 Binary files /dev/null and b/fuzz/corpora/cmp/54bf20d8065c284a665ccf386321f9c0e237a27a differ diff --git a/fuzz/corpora/cmp/54eeb9edcf8b11df1fa090b2995f6d9c556a5d9e b/fuzz/corpora/cmp/54eeb9edcf8b11df1fa090b2995f6d9c556a5d9e new file mode 100644 index 00000000..5f9cc726 Binary files /dev/null and b/fuzz/corpora/cmp/54eeb9edcf8b11df1fa090b2995f6d9c556a5d9e differ diff --git a/fuzz/corpora/cmp/54f18b77e7173787828d80079c515ca25b56ab5b b/fuzz/corpora/cmp/54f18b77e7173787828d80079c515ca25b56ab5b new file mode 100644 index 00000000..0e2b1306 Binary files /dev/null and b/fuzz/corpora/cmp/54f18b77e7173787828d80079c515ca25b56ab5b differ diff --git a/fuzz/corpora/cmp/54f7efb51bd706d35aa2aefe93630b9e8d90dee9 b/fuzz/corpora/cmp/54f7efb51bd706d35aa2aefe93630b9e8d90dee9 new file mode 100644 index 00000000..9e1ed13b Binary files /dev/null and b/fuzz/corpora/cmp/54f7efb51bd706d35aa2aefe93630b9e8d90dee9 differ diff --git a/fuzz/corpora/cmp/54fafa55deb17920eb91abfb00d7a6473f9a05a2 b/fuzz/corpora/cmp/54fafa55deb17920eb91abfb00d7a6473f9a05a2 new file mode 100644 index 00000000..0da25b2f Binary files /dev/null and b/fuzz/corpora/cmp/54fafa55deb17920eb91abfb00d7a6473f9a05a2 differ diff --git a/fuzz/corpora/cmp/55000895547ba9b8e0d78d010fd2ed18b670b0f5 b/fuzz/corpora/cmp/55000895547ba9b8e0d78d010fd2ed18b670b0f5 new file mode 100644 index 00000000..b54fd37e Binary files /dev/null and b/fuzz/corpora/cmp/55000895547ba9b8e0d78d010fd2ed18b670b0f5 differ diff --git a/fuzz/corpora/cmp/553d55abbca53f3562f332b683e4019479007082 b/fuzz/corpora/cmp/553d55abbca53f3562f332b683e4019479007082 new file mode 100644 index 00000000..68c8b4cc Binary files /dev/null and b/fuzz/corpora/cmp/553d55abbca53f3562f332b683e4019479007082 differ diff --git a/fuzz/corpora/cmp/554605fa0fd90b425c88a523ac9eab22d140c215 b/fuzz/corpora/cmp/554605fa0fd90b425c88a523ac9eab22d140c215 new file mode 100644 index 00000000..12b0b40f Binary files /dev/null and b/fuzz/corpora/cmp/554605fa0fd90b425c88a523ac9eab22d140c215 differ diff --git a/fuzz/corpora/cmp/555fcfe877a6faf57a7a4c7b13e78ec2726704f8 b/fuzz/corpora/cmp/555fcfe877a6faf57a7a4c7b13e78ec2726704f8 new file mode 100644 index 00000000..2b080f5a Binary files /dev/null and b/fuzz/corpora/cmp/555fcfe877a6faf57a7a4c7b13e78ec2726704f8 differ diff --git a/fuzz/corpora/cmp/55682869c03a4184c5428660c6a83aa0758ce368 b/fuzz/corpora/cmp/55682869c03a4184c5428660c6a83aa0758ce368 new file mode 100644 index 00000000..e897ecff Binary files /dev/null and b/fuzz/corpora/cmp/55682869c03a4184c5428660c6a83aa0758ce368 differ diff --git a/fuzz/corpora/cmp/5574d5960b96d8028cba0285ae5fc41c6afe4870 b/fuzz/corpora/cmp/5574d5960b96d8028cba0285ae5fc41c6afe4870 new file mode 100644 index 00000000..23b2d925 Binary files /dev/null and b/fuzz/corpora/cmp/5574d5960b96d8028cba0285ae5fc41c6afe4870 differ diff --git a/fuzz/corpora/cmp/5584189a8886bf802c1eb528ea67c1e44da19a58 b/fuzz/corpora/cmp/5584189a8886bf802c1eb528ea67c1e44da19a58 new file mode 100644 index 00000000..3eb178b4 Binary files /dev/null and b/fuzz/corpora/cmp/5584189a8886bf802c1eb528ea67c1e44da19a58 differ diff --git a/fuzz/corpora/cmp/558a2f17e554bd5787029eedb982808fad5cd937 b/fuzz/corpora/cmp/558a2f17e554bd5787029eedb982808fad5cd937 new file mode 100644 index 00000000..4140e5a3 Binary files /dev/null and b/fuzz/corpora/cmp/558a2f17e554bd5787029eedb982808fad5cd937 differ diff --git a/fuzz/corpora/cmp/559d2a4b5359c5ba94fcb8eeb7f738e0e9daf4f3 b/fuzz/corpora/cmp/559d2a4b5359c5ba94fcb8eeb7f738e0e9daf4f3 new file mode 100644 index 00000000..71973996 Binary files /dev/null and b/fuzz/corpora/cmp/559d2a4b5359c5ba94fcb8eeb7f738e0e9daf4f3 differ diff --git a/fuzz/corpora/cmp/55ab0ae5742f91fb3cbc1b6886405d0cca4bcaea b/fuzz/corpora/cmp/55ab0ae5742f91fb3cbc1b6886405d0cca4bcaea new file mode 100644 index 00000000..296e839f Binary files /dev/null and b/fuzz/corpora/cmp/55ab0ae5742f91fb3cbc1b6886405d0cca4bcaea differ diff --git a/fuzz/corpora/cmp/55d49e7f9704ead80e89193b4faf8e9a8747c633 b/fuzz/corpora/cmp/55d49e7f9704ead80e89193b4faf8e9a8747c633 new file mode 100644 index 00000000..2eb64406 Binary files /dev/null and b/fuzz/corpora/cmp/55d49e7f9704ead80e89193b4faf8e9a8747c633 differ diff --git a/fuzz/corpora/cmp/55dd174b348a7c6eb3ffdbbaeb4b48913959e655 b/fuzz/corpora/cmp/55dd174b348a7c6eb3ffdbbaeb4b48913959e655 new file mode 100644 index 00000000..756e3d02 Binary files /dev/null and b/fuzz/corpora/cmp/55dd174b348a7c6eb3ffdbbaeb4b48913959e655 differ diff --git a/fuzz/corpora/cmp/55f17d0228e3c5da6480dcfdaaa4b0a361d01611 b/fuzz/corpora/cmp/55f17d0228e3c5da6480dcfdaaa4b0a361d01611 new file mode 100644 index 00000000..4f20f25a Binary files /dev/null and b/fuzz/corpora/cmp/55f17d0228e3c5da6480dcfdaaa4b0a361d01611 differ diff --git a/fuzz/corpora/cmp/55fff07a54f71af400d30cb2f3afd3bcfc2f29a6 b/fuzz/corpora/cmp/55fff07a54f71af400d30cb2f3afd3bcfc2f29a6 new file mode 100644 index 00000000..c4d42d27 Binary files /dev/null and b/fuzz/corpora/cmp/55fff07a54f71af400d30cb2f3afd3bcfc2f29a6 differ diff --git a/fuzz/corpora/cmp/560c86139dfbf8ca34a1645d30c6c59f78932218 b/fuzz/corpora/cmp/560c86139dfbf8ca34a1645d30c6c59f78932218 new file mode 100644 index 00000000..ba9d60f3 Binary files /dev/null and b/fuzz/corpora/cmp/560c86139dfbf8ca34a1645d30c6c59f78932218 differ diff --git a/fuzz/corpora/cmp/5624718fb54c0952925f384e3bc432fb64e9dc59 b/fuzz/corpora/cmp/5624718fb54c0952925f384e3bc432fb64e9dc59 new file mode 100644 index 00000000..c53ff4bd Binary files /dev/null and b/fuzz/corpora/cmp/5624718fb54c0952925f384e3bc432fb64e9dc59 differ diff --git a/fuzz/corpora/cmp/563d331cf3dacb93847b7b06f541d6daf8d400e1 b/fuzz/corpora/cmp/563d331cf3dacb93847b7b06f541d6daf8d400e1 new file mode 100644 index 00000000..7b61443a Binary files /dev/null and b/fuzz/corpora/cmp/563d331cf3dacb93847b7b06f541d6daf8d400e1 differ diff --git a/fuzz/corpora/cmp/5648089a69acd3b16fed21e2eb729d0878d3e5bb b/fuzz/corpora/cmp/5648089a69acd3b16fed21e2eb729d0878d3e5bb new file mode 100644 index 00000000..bd340348 Binary files /dev/null and b/fuzz/corpora/cmp/5648089a69acd3b16fed21e2eb729d0878d3e5bb differ diff --git a/fuzz/corpora/cmp/56541c02c3b3fdb214be56c1e03e6ded69caf2d1 b/fuzz/corpora/cmp/56541c02c3b3fdb214be56c1e03e6ded69caf2d1 new file mode 100644 index 00000000..05127005 Binary files /dev/null and b/fuzz/corpora/cmp/56541c02c3b3fdb214be56c1e03e6ded69caf2d1 differ diff --git a/fuzz/corpora/cmp/5670f97365168f976fc9a7707b1b616d0acc49fd b/fuzz/corpora/cmp/5670f97365168f976fc9a7707b1b616d0acc49fd new file mode 100644 index 00000000..f07061a0 Binary files /dev/null and b/fuzz/corpora/cmp/5670f97365168f976fc9a7707b1b616d0acc49fd differ diff --git a/fuzz/corpora/cmp/56710a6793040784d2dec7cf11ba982af9c0373d b/fuzz/corpora/cmp/56710a6793040784d2dec7cf11ba982af9c0373d new file mode 100644 index 00000000..939e3ed1 Binary files /dev/null and b/fuzz/corpora/cmp/56710a6793040784d2dec7cf11ba982af9c0373d differ diff --git a/fuzz/corpora/cmp/5671a86da826bbc0ede686da66ce66b9412c1684 b/fuzz/corpora/cmp/5671a86da826bbc0ede686da66ce66b9412c1684 new file mode 100644 index 00000000..774e83bc Binary files /dev/null and b/fuzz/corpora/cmp/5671a86da826bbc0ede686da66ce66b9412c1684 differ diff --git a/fuzz/corpora/cmp/56917907fc736a347acff1d06ea703aee50b108c b/fuzz/corpora/cmp/56917907fc736a347acff1d06ea703aee50b108c new file mode 100644 index 00000000..dc8d7254 Binary files /dev/null and b/fuzz/corpora/cmp/56917907fc736a347acff1d06ea703aee50b108c differ diff --git a/fuzz/corpora/cmp/569742cd61226c635f044c1bc40772762ef48ab5 b/fuzz/corpora/cmp/569742cd61226c635f044c1bc40772762ef48ab5 new file mode 100644 index 00000000..c2550b57 Binary files /dev/null and b/fuzz/corpora/cmp/569742cd61226c635f044c1bc40772762ef48ab5 differ diff --git a/fuzz/corpora/cmp/569b77e70c3ad89eb440653b886bfe340fa62c1e b/fuzz/corpora/cmp/569b77e70c3ad89eb440653b886bfe340fa62c1e new file mode 100644 index 00000000..a6660a53 Binary files /dev/null and b/fuzz/corpora/cmp/569b77e70c3ad89eb440653b886bfe340fa62c1e differ diff --git a/fuzz/corpora/cmp/56b3648e799e54c15786abc4c6fd560b3132167c b/fuzz/corpora/cmp/56b3648e799e54c15786abc4c6fd560b3132167c new file mode 100644 index 00000000..171a3ce4 Binary files /dev/null and b/fuzz/corpora/cmp/56b3648e799e54c15786abc4c6fd560b3132167c differ diff --git a/fuzz/corpora/cmp/56ba63f60b12adc3466d9076e02c968bc01d9753 b/fuzz/corpora/cmp/56ba63f60b12adc3466d9076e02c968bc01d9753 new file mode 100644 index 00000000..f0253b51 Binary files /dev/null and b/fuzz/corpora/cmp/56ba63f60b12adc3466d9076e02c968bc01d9753 differ diff --git a/fuzz/corpora/cmp/56bdc04a096aeba36fdf0f7a79b82e68dde87421 b/fuzz/corpora/cmp/56bdc04a096aeba36fdf0f7a79b82e68dde87421 new file mode 100644 index 00000000..4055d54f Binary files /dev/null and b/fuzz/corpora/cmp/56bdc04a096aeba36fdf0f7a79b82e68dde87421 differ diff --git a/fuzz/corpora/cmp/56be64af4bf9265d7a7287935f079175a63714d8 b/fuzz/corpora/cmp/56be64af4bf9265d7a7287935f079175a63714d8 new file mode 100644 index 00000000..fd41719e Binary files /dev/null and b/fuzz/corpora/cmp/56be64af4bf9265d7a7287935f079175a63714d8 differ diff --git a/fuzz/corpora/cmp/56d178fe28022cb4491fe1a055e9cd245e42e2af b/fuzz/corpora/cmp/56d178fe28022cb4491fe1a055e9cd245e42e2af new file mode 100644 index 00000000..a211cec9 Binary files /dev/null and b/fuzz/corpora/cmp/56d178fe28022cb4491fe1a055e9cd245e42e2af differ diff --git a/fuzz/corpora/cmp/56d6e0770436180aac3a4bf50cdb7144b893f50b b/fuzz/corpora/cmp/56d6e0770436180aac3a4bf50cdb7144b893f50b new file mode 100644 index 00000000..2f858253 Binary files /dev/null and b/fuzz/corpora/cmp/56d6e0770436180aac3a4bf50cdb7144b893f50b differ diff --git a/fuzz/corpora/cmp/56e06cc390fa313d127b38f8b590b35493903ca0 b/fuzz/corpora/cmp/56e06cc390fa313d127b38f8b590b35493903ca0 new file mode 100644 index 00000000..1de407b6 Binary files /dev/null and b/fuzz/corpora/cmp/56e06cc390fa313d127b38f8b590b35493903ca0 differ diff --git a/fuzz/corpora/cmp/56e2c8e7882477487914095f3e335f06e313ac69 b/fuzz/corpora/cmp/56e2c8e7882477487914095f3e335f06e313ac69 new file mode 100644 index 00000000..9f96182f Binary files /dev/null and b/fuzz/corpora/cmp/56e2c8e7882477487914095f3e335f06e313ac69 differ diff --git a/fuzz/corpora/cmp/56f4a5e5f59b8ab0567e779a721badda15e9406c b/fuzz/corpora/cmp/56f4a5e5f59b8ab0567e779a721badda15e9406c new file mode 100644 index 00000000..0a1def3b Binary files /dev/null and b/fuzz/corpora/cmp/56f4a5e5f59b8ab0567e779a721badda15e9406c differ diff --git a/fuzz/corpora/cmp/56f711ba1cf319f1a9939ee766517d24f2648a6b b/fuzz/corpora/cmp/56f711ba1cf319f1a9939ee766517d24f2648a6b new file mode 100644 index 00000000..1687a983 Binary files /dev/null and b/fuzz/corpora/cmp/56f711ba1cf319f1a9939ee766517d24f2648a6b differ diff --git a/fuzz/corpora/cmp/570e0727ebfd04e9c711c71f59b4dd69b3cbd633 b/fuzz/corpora/cmp/570e0727ebfd04e9c711c71f59b4dd69b3cbd633 new file mode 100644 index 00000000..0dcd680c Binary files /dev/null and b/fuzz/corpora/cmp/570e0727ebfd04e9c711c71f59b4dd69b3cbd633 differ diff --git a/fuzz/corpora/cmp/571284331b320b292fcb5594770a4369b60c73e6 b/fuzz/corpora/cmp/571284331b320b292fcb5594770a4369b60c73e6 new file mode 100644 index 00000000..046f520f Binary files /dev/null and b/fuzz/corpora/cmp/571284331b320b292fcb5594770a4369b60c73e6 differ diff --git a/fuzz/corpora/cmp/5715c6facb05245f1b08326f5034a0b57c1c3b9c b/fuzz/corpora/cmp/5715c6facb05245f1b08326f5034a0b57c1c3b9c new file mode 100644 index 00000000..abeabfa3 Binary files /dev/null and b/fuzz/corpora/cmp/5715c6facb05245f1b08326f5034a0b57c1c3b9c differ diff --git a/fuzz/corpora/cmp/57187202d418980f8845e32577ff557ce45da86c b/fuzz/corpora/cmp/57187202d418980f8845e32577ff557ce45da86c new file mode 100644 index 00000000..ece3d745 Binary files /dev/null and b/fuzz/corpora/cmp/57187202d418980f8845e32577ff557ce45da86c differ diff --git a/fuzz/corpora/cmp/572b1fad165c23b4a3948a1cdac6216e9a3a6e36 b/fuzz/corpora/cmp/572b1fad165c23b4a3948a1cdac6216e9a3a6e36 new file mode 100644 index 00000000..4efcddb7 Binary files /dev/null and b/fuzz/corpora/cmp/572b1fad165c23b4a3948a1cdac6216e9a3a6e36 differ diff --git a/fuzz/corpora/cmp/5735639f00292597a53aba9f96f1b80fb7bc2630 b/fuzz/corpora/cmp/5735639f00292597a53aba9f96f1b80fb7bc2630 new file mode 100644 index 00000000..108fdbfd Binary files /dev/null and b/fuzz/corpora/cmp/5735639f00292597a53aba9f96f1b80fb7bc2630 differ diff --git a/fuzz/corpora/cmp/57531405e70f2428002a129c44194cf58c9a34c1 b/fuzz/corpora/cmp/57531405e70f2428002a129c44194cf58c9a34c1 new file mode 100644 index 00000000..14aaf515 Binary files /dev/null and b/fuzz/corpora/cmp/57531405e70f2428002a129c44194cf58c9a34c1 differ diff --git a/fuzz/corpora/cmp/577e94d981bf14343e44c6a41855d18a5a3b58e2 b/fuzz/corpora/cmp/577e94d981bf14343e44c6a41855d18a5a3b58e2 new file mode 100644 index 00000000..0557ffe5 Binary files /dev/null and b/fuzz/corpora/cmp/577e94d981bf14343e44c6a41855d18a5a3b58e2 differ diff --git a/fuzz/corpora/cmp/578967fec4dfdda6d94d4e2a6c7f3524f2bd97cc b/fuzz/corpora/cmp/578967fec4dfdda6d94d4e2a6c7f3524f2bd97cc new file mode 100644 index 00000000..df585ce4 Binary files /dev/null and b/fuzz/corpora/cmp/578967fec4dfdda6d94d4e2a6c7f3524f2bd97cc differ diff --git a/fuzz/corpora/cmp/579def3f6968bfcfae2a80c5d7c3dc83cbe20fd1 b/fuzz/corpora/cmp/579def3f6968bfcfae2a80c5d7c3dc83cbe20fd1 new file mode 100644 index 00000000..abf2425c Binary files /dev/null and b/fuzz/corpora/cmp/579def3f6968bfcfae2a80c5d7c3dc83cbe20fd1 differ diff --git a/fuzz/corpora/cmp/57af100f6e6988ebbadeb432bced5df23ccf74f3 b/fuzz/corpora/cmp/57af100f6e6988ebbadeb432bced5df23ccf74f3 new file mode 100644 index 00000000..bb0ff952 Binary files /dev/null and b/fuzz/corpora/cmp/57af100f6e6988ebbadeb432bced5df23ccf74f3 differ diff --git a/fuzz/corpora/cmp/57bbc122d273e462a177f2ac7fb49e89aeada04d b/fuzz/corpora/cmp/57bbc122d273e462a177f2ac7fb49e89aeada04d new file mode 100644 index 00000000..b51fbabb Binary files /dev/null and b/fuzz/corpora/cmp/57bbc122d273e462a177f2ac7fb49e89aeada04d differ diff --git a/fuzz/corpora/cmp/57d3bc331218c51188867b25861a46abc727b85a b/fuzz/corpora/cmp/57d3bc331218c51188867b25861a46abc727b85a new file mode 100644 index 00000000..b49495ae Binary files /dev/null and b/fuzz/corpora/cmp/57d3bc331218c51188867b25861a46abc727b85a differ diff --git a/fuzz/corpora/cmp/57e78ab39f959ccc259e8c78e7e3c653d5e8a4d1 b/fuzz/corpora/cmp/57e78ab39f959ccc259e8c78e7e3c653d5e8a4d1 new file mode 100644 index 00000000..c3e66a26 Binary files /dev/null and b/fuzz/corpora/cmp/57e78ab39f959ccc259e8c78e7e3c653d5e8a4d1 differ diff --git a/fuzz/corpora/cmp/580e1472deedbd3a94d081a87bdb37747d40308f b/fuzz/corpora/cmp/580e1472deedbd3a94d081a87bdb37747d40308f new file mode 100644 index 00000000..ca3928e1 Binary files /dev/null and b/fuzz/corpora/cmp/580e1472deedbd3a94d081a87bdb37747d40308f differ diff --git a/fuzz/corpora/cmp/5825ccf67101a9ab3d191ca953978f70e6d46862 b/fuzz/corpora/cmp/5825ccf67101a9ab3d191ca953978f70e6d46862 new file mode 100644 index 00000000..da900191 Binary files /dev/null and b/fuzz/corpora/cmp/5825ccf67101a9ab3d191ca953978f70e6d46862 differ diff --git a/fuzz/corpora/cmp/583ba9a25ba747a58a0b1f01edafaf1d73f64397 b/fuzz/corpora/cmp/583ba9a25ba747a58a0b1f01edafaf1d73f64397 new file mode 100644 index 00000000..1076f9e5 Binary files /dev/null and b/fuzz/corpora/cmp/583ba9a25ba747a58a0b1f01edafaf1d73f64397 differ diff --git a/fuzz/corpora/cmp/5859ef0d6b0b378e42d0d7f85b06e11ac61da85e b/fuzz/corpora/cmp/5859ef0d6b0b378e42d0d7f85b06e11ac61da85e new file mode 100644 index 00000000..0655974e Binary files /dev/null and b/fuzz/corpora/cmp/5859ef0d6b0b378e42d0d7f85b06e11ac61da85e differ diff --git a/fuzz/corpora/cmp/585a83bfb596aacd26e07bc22f036d01f4cd3d0b b/fuzz/corpora/cmp/585a83bfb596aacd26e07bc22f036d01f4cd3d0b new file mode 100644 index 00000000..4fff274b Binary files /dev/null and b/fuzz/corpora/cmp/585a83bfb596aacd26e07bc22f036d01f4cd3d0b differ diff --git a/fuzz/corpora/cmp/58606913fd599829477e62937405baa678be4a2c b/fuzz/corpora/cmp/58606913fd599829477e62937405baa678be4a2c new file mode 100644 index 00000000..a177f4ef Binary files /dev/null and b/fuzz/corpora/cmp/58606913fd599829477e62937405baa678be4a2c differ diff --git a/fuzz/corpora/cmp/586356dd66e9032f049a445c967dd829c5215881 b/fuzz/corpora/cmp/586356dd66e9032f049a445c967dd829c5215881 new file mode 100644 index 00000000..8b040672 Binary files /dev/null and b/fuzz/corpora/cmp/586356dd66e9032f049a445c967dd829c5215881 differ diff --git a/fuzz/corpora/cmp/58675025d552ddeabd9a30317f7e3ba7e7f501d5 b/fuzz/corpora/cmp/58675025d552ddeabd9a30317f7e3ba7e7f501d5 new file mode 100644 index 00000000..3f90ef44 Binary files /dev/null and b/fuzz/corpora/cmp/58675025d552ddeabd9a30317f7e3ba7e7f501d5 differ diff --git a/fuzz/corpora/cmp/586aeb1b0107e4c848c19828af28852f00c0da9e b/fuzz/corpora/cmp/586aeb1b0107e4c848c19828af28852f00c0da9e new file mode 100644 index 00000000..7d0c67b6 Binary files /dev/null and b/fuzz/corpora/cmp/586aeb1b0107e4c848c19828af28852f00c0da9e differ diff --git a/fuzz/corpora/cmp/58a60ba69b6a6afb397be2d2b73a44bbecb7fd95 b/fuzz/corpora/cmp/58a60ba69b6a6afb397be2d2b73a44bbecb7fd95 new file mode 100644 index 00000000..93f241cb Binary files /dev/null and b/fuzz/corpora/cmp/58a60ba69b6a6afb397be2d2b73a44bbecb7fd95 differ diff --git a/fuzz/corpora/cmp/58bdb72c2c518b2c28ce12a6f206358aecfc0ace b/fuzz/corpora/cmp/58bdb72c2c518b2c28ce12a6f206358aecfc0ace new file mode 100644 index 00000000..cc226064 Binary files /dev/null and b/fuzz/corpora/cmp/58bdb72c2c518b2c28ce12a6f206358aecfc0ace differ diff --git a/fuzz/corpora/cmp/58c3fc2e05c3aa8c128c766db78e178600eebd7b b/fuzz/corpora/cmp/58c3fc2e05c3aa8c128c766db78e178600eebd7b new file mode 100644 index 00000000..198b7f90 Binary files /dev/null and b/fuzz/corpora/cmp/58c3fc2e05c3aa8c128c766db78e178600eebd7b differ diff --git a/fuzz/corpora/cmp/58c88c0c05041b3f0d690486c5f0dff9bdbeaa21 b/fuzz/corpora/cmp/58c88c0c05041b3f0d690486c5f0dff9bdbeaa21 new file mode 100644 index 00000000..281bec97 Binary files /dev/null and b/fuzz/corpora/cmp/58c88c0c05041b3f0d690486c5f0dff9bdbeaa21 differ diff --git a/fuzz/corpora/cmp/58d80794524271c5cc5d75914d2f83e2a15e246c b/fuzz/corpora/cmp/58d80794524271c5cc5d75914d2f83e2a15e246c new file mode 100644 index 00000000..f1b150be Binary files /dev/null and b/fuzz/corpora/cmp/58d80794524271c5cc5d75914d2f83e2a15e246c differ diff --git a/fuzz/corpora/cmp/58ea501286828e3d1ff2370d5fc75da2a701c840 b/fuzz/corpora/cmp/58ea501286828e3d1ff2370d5fc75da2a701c840 new file mode 100644 index 00000000..79c9342d Binary files /dev/null and b/fuzz/corpora/cmp/58ea501286828e3d1ff2370d5fc75da2a701c840 differ diff --git a/fuzz/corpora/cmp/58eda701d778f818558d9d56cc7aed077df1039b b/fuzz/corpora/cmp/58eda701d778f818558d9d56cc7aed077df1039b new file mode 100644 index 00000000..4b0d2771 Binary files /dev/null and b/fuzz/corpora/cmp/58eda701d778f818558d9d56cc7aed077df1039b differ diff --git a/fuzz/corpora/cmp/58f3d90194e879527303c611c9b3cf297d83ce47 b/fuzz/corpora/cmp/58f3d90194e879527303c611c9b3cf297d83ce47 new file mode 100644 index 00000000..c351141d --- /dev/null +++ b/fuzz/corpora/cmp/58f3d90194e879527303c611c9b3cf297d83ce47 @@ -0,0 +1 @@ +00€ €-Uÿÿÿ)ˆ€½€ \ No newline at end of file diff --git a/fuzz/corpora/cmp/58f931b7851bf2494ec5b1523fb8b9bf40a57b8a b/fuzz/corpora/cmp/58f931b7851bf2494ec5b1523fb8b9bf40a57b8a new file mode 100644 index 00000000..8807d773 Binary files /dev/null and b/fuzz/corpora/cmp/58f931b7851bf2494ec5b1523fb8b9bf40a57b8a differ diff --git a/fuzz/corpora/cmp/58fe6da91d2bab083ef9ec840c8eaa082b8549f2 b/fuzz/corpora/cmp/58fe6da91d2bab083ef9ec840c8eaa082b8549f2 new file mode 100644 index 00000000..efa363a6 Binary files /dev/null and b/fuzz/corpora/cmp/58fe6da91d2bab083ef9ec840c8eaa082b8549f2 differ diff --git a/fuzz/corpora/cmp/59079eca1589193a3bbf2a066c2f1c7fe3d25ebe b/fuzz/corpora/cmp/59079eca1589193a3bbf2a066c2f1c7fe3d25ebe new file mode 100644 index 00000000..5e5e9d5c Binary files /dev/null and b/fuzz/corpora/cmp/59079eca1589193a3bbf2a066c2f1c7fe3d25ebe differ diff --git a/fuzz/corpora/cmp/5909fbf30b75e5a06a34e1e09966fd0874f09138 b/fuzz/corpora/cmp/5909fbf30b75e5a06a34e1e09966fd0874f09138 new file mode 100644 index 00000000..605c7df9 Binary files /dev/null and b/fuzz/corpora/cmp/5909fbf30b75e5a06a34e1e09966fd0874f09138 differ diff --git a/fuzz/corpora/cmp/590d7a2252ca390a76efed5deb604ee90074f23f b/fuzz/corpora/cmp/590d7a2252ca390a76efed5deb604ee90074f23f new file mode 100644 index 00000000..cc01ee0f Binary files /dev/null and b/fuzz/corpora/cmp/590d7a2252ca390a76efed5deb604ee90074f23f differ diff --git a/fuzz/corpora/cmp/594c36a279fb2da90d3156975067253ff3c5afe7 b/fuzz/corpora/cmp/594c36a279fb2da90d3156975067253ff3c5afe7 new file mode 100644 index 00000000..0b9ad556 Binary files /dev/null and b/fuzz/corpora/cmp/594c36a279fb2da90d3156975067253ff3c5afe7 differ diff --git a/fuzz/corpora/cmp/59568d523e8650d2c20b5805c7459e27f495c9fd b/fuzz/corpora/cmp/59568d523e8650d2c20b5805c7459e27f495c9fd new file mode 100644 index 00000000..79758a69 Binary files /dev/null and b/fuzz/corpora/cmp/59568d523e8650d2c20b5805c7459e27f495c9fd differ diff --git a/fuzz/corpora/cmp/5956c96e708b7ce9793974fea5d4ee0e250bda57 b/fuzz/corpora/cmp/5956c96e708b7ce9793974fea5d4ee0e250bda57 new file mode 100644 index 00000000..5ed16c42 Binary files /dev/null and b/fuzz/corpora/cmp/5956c96e708b7ce9793974fea5d4ee0e250bda57 differ diff --git a/fuzz/corpora/cmp/595ae20293e4796b6872472d3882aef99d5b82aa b/fuzz/corpora/cmp/595ae20293e4796b6872472d3882aef99d5b82aa new file mode 100644 index 00000000..d23f9611 Binary files /dev/null and b/fuzz/corpora/cmp/595ae20293e4796b6872472d3882aef99d5b82aa differ diff --git a/fuzz/corpora/cmp/595f31ef3a02b87d985076ac8a167b5979d83147 b/fuzz/corpora/cmp/595f31ef3a02b87d985076ac8a167b5979d83147 new file mode 100644 index 00000000..46f37d7f Binary files /dev/null and b/fuzz/corpora/cmp/595f31ef3a02b87d985076ac8a167b5979d83147 differ diff --git a/fuzz/corpora/cmp/59629ce2063bd65e2750ab4718c9380947083ed3 b/fuzz/corpora/cmp/59629ce2063bd65e2750ab4718c9380947083ed3 new file mode 100644 index 00000000..953359db Binary files /dev/null and b/fuzz/corpora/cmp/59629ce2063bd65e2750ab4718c9380947083ed3 differ diff --git a/fuzz/corpora/cmp/5962b8a275ede57b60cc929f248cd21a22372172 b/fuzz/corpora/cmp/5962b8a275ede57b60cc929f248cd21a22372172 new file mode 100644 index 00000000..d8e3bf27 Binary files /dev/null and b/fuzz/corpora/cmp/5962b8a275ede57b60cc929f248cd21a22372172 differ diff --git a/fuzz/corpora/cmp/596ae5518dfe4a960b1491d16bde52d953e297d9 b/fuzz/corpora/cmp/596ae5518dfe4a960b1491d16bde52d953e297d9 new file mode 100644 index 00000000..41a80b93 Binary files /dev/null and b/fuzz/corpora/cmp/596ae5518dfe4a960b1491d16bde52d953e297d9 differ diff --git a/fuzz/corpora/cmp/59763812fbfef0ecbac755201c2e38f73b7b9659 b/fuzz/corpora/cmp/59763812fbfef0ecbac755201c2e38f73b7b9659 new file mode 100644 index 00000000..51fd9888 Binary files /dev/null and b/fuzz/corpora/cmp/59763812fbfef0ecbac755201c2e38f73b7b9659 differ diff --git a/fuzz/corpora/cmp/597ac06a21e8a589d2e3bc7e1ab036d1a247fc67 b/fuzz/corpora/cmp/597ac06a21e8a589d2e3bc7e1ab036d1a247fc67 new file mode 100644 index 00000000..86a7cea2 Binary files /dev/null and b/fuzz/corpora/cmp/597ac06a21e8a589d2e3bc7e1ab036d1a247fc67 differ diff --git a/fuzz/corpora/cmp/599a3da856d53c6cc106bae45f3dc85230f129ec b/fuzz/corpora/cmp/599a3da856d53c6cc106bae45f3dc85230f129ec new file mode 100644 index 00000000..c2264b1a Binary files /dev/null and b/fuzz/corpora/cmp/599a3da856d53c6cc106bae45f3dc85230f129ec differ diff --git a/fuzz/corpora/cmp/599d25c6312b7c1002855851150369da05cd2e4a b/fuzz/corpora/cmp/599d25c6312b7c1002855851150369da05cd2e4a new file mode 100644 index 00000000..754da580 Binary files /dev/null and b/fuzz/corpora/cmp/599d25c6312b7c1002855851150369da05cd2e4a differ diff --git a/fuzz/corpora/cmp/599dd05a681eb905ef857a77bca54848e8fcd6e2 b/fuzz/corpora/cmp/599dd05a681eb905ef857a77bca54848e8fcd6e2 new file mode 100644 index 00000000..02c1bc91 Binary files /dev/null and b/fuzz/corpora/cmp/599dd05a681eb905ef857a77bca54848e8fcd6e2 differ diff --git a/fuzz/corpora/cmp/59a85cdabe867748e0cbdde115430b3a739a44a8 b/fuzz/corpora/cmp/59a85cdabe867748e0cbdde115430b3a739a44a8 new file mode 100644 index 00000000..ab685458 Binary files /dev/null and b/fuzz/corpora/cmp/59a85cdabe867748e0cbdde115430b3a739a44a8 differ diff --git a/fuzz/corpora/cmp/59aab897f02415c40665a7617a835ecc14ed0d20 b/fuzz/corpora/cmp/59aab897f02415c40665a7617a835ecc14ed0d20 new file mode 100644 index 00000000..c9276f69 Binary files /dev/null and b/fuzz/corpora/cmp/59aab897f02415c40665a7617a835ecc14ed0d20 differ diff --git a/fuzz/corpora/cmp/59b0dd4cd75be395f3b082337e7ff360127e45a7 b/fuzz/corpora/cmp/59b0dd4cd75be395f3b082337e7ff360127e45a7 new file mode 100644 index 00000000..612f5226 Binary files /dev/null and b/fuzz/corpora/cmp/59b0dd4cd75be395f3b082337e7ff360127e45a7 differ diff --git a/fuzz/corpora/cmp/59bea4de10cb934c348da6e17e85b1da673c9605 b/fuzz/corpora/cmp/59bea4de10cb934c348da6e17e85b1da673c9605 new file mode 100644 index 00000000..f17193d3 Binary files /dev/null and b/fuzz/corpora/cmp/59bea4de10cb934c348da6e17e85b1da673c9605 differ diff --git a/fuzz/corpora/cmp/59d30f254469db51b8fabd24d1b671ec8880e8db b/fuzz/corpora/cmp/59d30f254469db51b8fabd24d1b671ec8880e8db new file mode 100644 index 00000000..6c367b31 Binary files /dev/null and b/fuzz/corpora/cmp/59d30f254469db51b8fabd24d1b671ec8880e8db differ diff --git a/fuzz/corpora/cmp/59da6cfb75f35d9191a6e8f7d0b5a16d24e411ca b/fuzz/corpora/cmp/59da6cfb75f35d9191a6e8f7d0b5a16d24e411ca new file mode 100644 index 00000000..58af8faf Binary files /dev/null and b/fuzz/corpora/cmp/59da6cfb75f35d9191a6e8f7d0b5a16d24e411ca differ diff --git a/fuzz/corpora/cmp/59e53d01fbaa6f83e12529df723ea8756ef768d5 b/fuzz/corpora/cmp/59e53d01fbaa6f83e12529df723ea8756ef768d5 new file mode 100644 index 00000000..9066a90a Binary files /dev/null and b/fuzz/corpora/cmp/59e53d01fbaa6f83e12529df723ea8756ef768d5 differ diff --git a/fuzz/corpora/cmp/59e9cd8df1b18da8959e882810045cfcad2a39d6 b/fuzz/corpora/cmp/59e9cd8df1b18da8959e882810045cfcad2a39d6 new file mode 100644 index 00000000..b02888fe Binary files /dev/null and b/fuzz/corpora/cmp/59e9cd8df1b18da8959e882810045cfcad2a39d6 differ diff --git a/fuzz/corpora/cmp/59efc065ed08cecc8e06fa719242ef3e4d391cd6 b/fuzz/corpora/cmp/59efc065ed08cecc8e06fa719242ef3e4d391cd6 new file mode 100644 index 00000000..374e9a59 --- /dev/null +++ b/fuzz/corpora/cmp/59efc065ed08cecc8e06fa719242ef3e4d391cd6 @@ -0,0 +1 @@ +¿‹‹¶ \ No newline at end of file diff --git a/fuzz/corpora/cmp/59efff7d1fa01489844d72fba185662ca1ae3c88 b/fuzz/corpora/cmp/59efff7d1fa01489844d72fba185662ca1ae3c88 new file mode 100644 index 00000000..515d84b2 Binary files /dev/null and b/fuzz/corpora/cmp/59efff7d1fa01489844d72fba185662ca1ae3c88 differ diff --git a/fuzz/corpora/cmp/59f6afdcd07a6cfb5783ce22d2f4bbb612605e02 b/fuzz/corpora/cmp/59f6afdcd07a6cfb5783ce22d2f4bbb612605e02 new file mode 100644 index 00000000..ed51eb46 Binary files /dev/null and b/fuzz/corpora/cmp/59f6afdcd07a6cfb5783ce22d2f4bbb612605e02 differ diff --git a/fuzz/corpora/cmp/59fa7c612e55fa46bf6475febee7f48e3bc89ef1 b/fuzz/corpora/cmp/59fa7c612e55fa46bf6475febee7f48e3bc89ef1 new file mode 100644 index 00000000..b9614276 Binary files /dev/null and b/fuzz/corpora/cmp/59fa7c612e55fa46bf6475febee7f48e3bc89ef1 differ diff --git a/fuzz/corpora/cmp/59fb7139d161f032d261ed60f2025714383ec375 b/fuzz/corpora/cmp/59fb7139d161f032d261ed60f2025714383ec375 new file mode 100644 index 00000000..dd39e638 Binary files /dev/null and b/fuzz/corpora/cmp/59fb7139d161f032d261ed60f2025714383ec375 differ diff --git a/fuzz/corpora/cmp/5a0e0b4f43bed1f59ab07b9e539223ad1a1757ec b/fuzz/corpora/cmp/5a0e0b4f43bed1f59ab07b9e539223ad1a1757ec new file mode 100644 index 00000000..b5a77eaa Binary files /dev/null and b/fuzz/corpora/cmp/5a0e0b4f43bed1f59ab07b9e539223ad1a1757ec differ diff --git a/fuzz/corpora/cmp/5a1dbc32b00ba34e752d3777068c65c08087e659 b/fuzz/corpora/cmp/5a1dbc32b00ba34e752d3777068c65c08087e659 new file mode 100644 index 00000000..1cd8cb53 Binary files /dev/null and b/fuzz/corpora/cmp/5a1dbc32b00ba34e752d3777068c65c08087e659 differ diff --git a/fuzz/corpora/cmp/5a320951856b4a929f154f00be4718d587574b91 b/fuzz/corpora/cmp/5a320951856b4a929f154f00be4718d587574b91 new file mode 100644 index 00000000..4f988f0d Binary files /dev/null and b/fuzz/corpora/cmp/5a320951856b4a929f154f00be4718d587574b91 differ diff --git a/fuzz/corpora/cmp/5a358b6687deb719afb56828c0ec245e5d0d10a6 b/fuzz/corpora/cmp/5a358b6687deb719afb56828c0ec245e5d0d10a6 new file mode 100644 index 00000000..f2f6eb5b Binary files /dev/null and b/fuzz/corpora/cmp/5a358b6687deb719afb56828c0ec245e5d0d10a6 differ diff --git a/fuzz/corpora/cmp/5a36513ff90b611c97a026a9d4da70b3281394b4 b/fuzz/corpora/cmp/5a36513ff90b611c97a026a9d4da70b3281394b4 new file mode 100644 index 00000000..20066f02 Binary files /dev/null and b/fuzz/corpora/cmp/5a36513ff90b611c97a026a9d4da70b3281394b4 differ diff --git a/fuzz/corpora/cmp/5a443dd9c18773c03f0c8a49981751befb445d65 b/fuzz/corpora/cmp/5a443dd9c18773c03f0c8a49981751befb445d65 new file mode 100644 index 00000000..4177956e Binary files /dev/null and b/fuzz/corpora/cmp/5a443dd9c18773c03f0c8a49981751befb445d65 differ diff --git a/fuzz/corpora/cmp/5a5f0f5a0590eaa5606da6ae749017e1459829d4 b/fuzz/corpora/cmp/5a5f0f5a0590eaa5606da6ae749017e1459829d4 new file mode 100644 index 00000000..c5a36cbd Binary files /dev/null and b/fuzz/corpora/cmp/5a5f0f5a0590eaa5606da6ae749017e1459829d4 differ diff --git a/fuzz/corpora/cmp/5a6a344501931f61a9b172d5c6d3cacd0f8371c5 b/fuzz/corpora/cmp/5a6a344501931f61a9b172d5c6d3cacd0f8371c5 new file mode 100644 index 00000000..e7caf06b Binary files /dev/null and b/fuzz/corpora/cmp/5a6a344501931f61a9b172d5c6d3cacd0f8371c5 differ diff --git a/fuzz/corpora/cmp/5a6b86907cd6fe308a6178fcd3e4d641de1c109b b/fuzz/corpora/cmp/5a6b86907cd6fe308a6178fcd3e4d641de1c109b new file mode 100644 index 00000000..fe82981f Binary files /dev/null and b/fuzz/corpora/cmp/5a6b86907cd6fe308a6178fcd3e4d641de1c109b differ diff --git a/fuzz/corpora/cmp/5a6bd32a488d33a2c34831864b9a4193ae3fdaa5 b/fuzz/corpora/cmp/5a6bd32a488d33a2c34831864b9a4193ae3fdaa5 new file mode 100644 index 00000000..51674d46 Binary files /dev/null and b/fuzz/corpora/cmp/5a6bd32a488d33a2c34831864b9a4193ae3fdaa5 differ diff --git a/fuzz/corpora/cmp/5a97e68a4ebbad1b4855f1944b3231fd33a21373 b/fuzz/corpora/cmp/5a97e68a4ebbad1b4855f1944b3231fd33a21373 new file mode 100644 index 00000000..3602394d Binary files /dev/null and b/fuzz/corpora/cmp/5a97e68a4ebbad1b4855f1944b3231fd33a21373 differ diff --git a/fuzz/corpora/cmp/5a9f811cf57170ba2ef0d3b0fc09b8a517b764b4 b/fuzz/corpora/cmp/5a9f811cf57170ba2ef0d3b0fc09b8a517b764b4 new file mode 100644 index 00000000..612b43db Binary files /dev/null and b/fuzz/corpora/cmp/5a9f811cf57170ba2ef0d3b0fc09b8a517b764b4 differ diff --git a/fuzz/corpora/cmp/5aa775ff576cd77ee81ef6b6556c431d62628a55 b/fuzz/corpora/cmp/5aa775ff576cd77ee81ef6b6556c431d62628a55 new file mode 100644 index 00000000..d4996841 Binary files /dev/null and b/fuzz/corpora/cmp/5aa775ff576cd77ee81ef6b6556c431d62628a55 differ diff --git a/fuzz/corpora/cmp/5ab886838b35ff294c9a3c37aff634220e40c704 b/fuzz/corpora/cmp/5ab886838b35ff294c9a3c37aff634220e40c704 new file mode 100644 index 00000000..99ff6527 Binary files /dev/null and b/fuzz/corpora/cmp/5ab886838b35ff294c9a3c37aff634220e40c704 differ diff --git a/fuzz/corpora/cmp/5ac0757419b4ed2d2d03bb1d6500defd74387248 b/fuzz/corpora/cmp/5ac0757419b4ed2d2d03bb1d6500defd74387248 new file mode 100644 index 00000000..f0b61a59 Binary files /dev/null and b/fuzz/corpora/cmp/5ac0757419b4ed2d2d03bb1d6500defd74387248 differ diff --git a/fuzz/corpora/cmp/5ac410b21a4a235b5d2723166962d35f01a62ead b/fuzz/corpora/cmp/5ac410b21a4a235b5d2723166962d35f01a62ead new file mode 100644 index 00000000..a864b79c Binary files /dev/null and b/fuzz/corpora/cmp/5ac410b21a4a235b5d2723166962d35f01a62ead differ diff --git a/fuzz/corpora/cmp/5ad72e29d88b9fbe2ad1bdce6a5e32542ddc40c9 b/fuzz/corpora/cmp/5ad72e29d88b9fbe2ad1bdce6a5e32542ddc40c9 new file mode 100644 index 00000000..628d03da Binary files /dev/null and b/fuzz/corpora/cmp/5ad72e29d88b9fbe2ad1bdce6a5e32542ddc40c9 differ diff --git a/fuzz/corpora/cmp/5ada8f5d0f5e6d5e16524798ce42eb692dee2862 b/fuzz/corpora/cmp/5ada8f5d0f5e6d5e16524798ce42eb692dee2862 new file mode 100644 index 00000000..8f8ef73b Binary files /dev/null and b/fuzz/corpora/cmp/5ada8f5d0f5e6d5e16524798ce42eb692dee2862 differ diff --git a/fuzz/corpora/cmp/5ae03152fa7a60350bdc06d3b679d64f1bd4ae93 b/fuzz/corpora/cmp/5ae03152fa7a60350bdc06d3b679d64f1bd4ae93 new file mode 100644 index 00000000..39163122 Binary files /dev/null and b/fuzz/corpora/cmp/5ae03152fa7a60350bdc06d3b679d64f1bd4ae93 differ diff --git a/fuzz/corpora/cmp/5ae16ad77597ab76d4d6c12b284086d6290c28e6 b/fuzz/corpora/cmp/5ae16ad77597ab76d4d6c12b284086d6290c28e6 new file mode 100644 index 00000000..afe0cd2c Binary files /dev/null and b/fuzz/corpora/cmp/5ae16ad77597ab76d4d6c12b284086d6290c28e6 differ diff --git a/fuzz/corpora/cmp/5af76470db3100f04a9109150390d27d77b9a657 b/fuzz/corpora/cmp/5af76470db3100f04a9109150390d27d77b9a657 new file mode 100644 index 00000000..13259872 Binary files /dev/null and b/fuzz/corpora/cmp/5af76470db3100f04a9109150390d27d77b9a657 differ diff --git a/fuzz/corpora/cmp/5b04987d8528312c78e268f43631525b8653883d b/fuzz/corpora/cmp/5b04987d8528312c78e268f43631525b8653883d new file mode 100644 index 00000000..cee6921c Binary files /dev/null and b/fuzz/corpora/cmp/5b04987d8528312c78e268f43631525b8653883d differ diff --git a/fuzz/corpora/cmp/5b0950bbff9b9ab400b5adbcaa3e2d2527dc7923 b/fuzz/corpora/cmp/5b0950bbff9b9ab400b5adbcaa3e2d2527dc7923 new file mode 100644 index 00000000..442ff51b Binary files /dev/null and b/fuzz/corpora/cmp/5b0950bbff9b9ab400b5adbcaa3e2d2527dc7923 differ diff --git a/fuzz/corpora/cmp/5b0a7c072c448265ae9fd320c27dc88976f9ab11 b/fuzz/corpora/cmp/5b0a7c072c448265ae9fd320c27dc88976f9ab11 new file mode 100644 index 00000000..f5fc03e5 Binary files /dev/null and b/fuzz/corpora/cmp/5b0a7c072c448265ae9fd320c27dc88976f9ab11 differ diff --git a/fuzz/corpora/cmp/5b3fb42b05f96ae54cab1f0070abc13ed263b147 b/fuzz/corpora/cmp/5b3fb42b05f96ae54cab1f0070abc13ed263b147 new file mode 100644 index 00000000..69703fda Binary files /dev/null and b/fuzz/corpora/cmp/5b3fb42b05f96ae54cab1f0070abc13ed263b147 differ diff --git a/fuzz/corpora/cmp/5b4687b82b70cf22ed66fe87af3f42423bcf2884 b/fuzz/corpora/cmp/5b4687b82b70cf22ed66fe87af3f42423bcf2884 new file mode 100644 index 00000000..6c302b3b Binary files /dev/null and b/fuzz/corpora/cmp/5b4687b82b70cf22ed66fe87af3f42423bcf2884 differ diff --git a/fuzz/corpora/cmp/5b90df1f5335dc7812596c2fced3001290c6d20e b/fuzz/corpora/cmp/5b90df1f5335dc7812596c2fced3001290c6d20e new file mode 100644 index 00000000..18bd8ed0 Binary files /dev/null and b/fuzz/corpora/cmp/5b90df1f5335dc7812596c2fced3001290c6d20e differ diff --git a/fuzz/corpora/cmp/5b979a197b46b4207b3407752ec218dca15cf347 b/fuzz/corpora/cmp/5b979a197b46b4207b3407752ec218dca15cf347 new file mode 100644 index 00000000..b0c60fe5 Binary files /dev/null and b/fuzz/corpora/cmp/5b979a197b46b4207b3407752ec218dca15cf347 differ diff --git a/fuzz/corpora/cmp/5b9d67f4711cd356d1b04a08b19884e4f2e10ea9 b/fuzz/corpora/cmp/5b9d67f4711cd356d1b04a08b19884e4f2e10ea9 new file mode 100644 index 00000000..2bea8671 Binary files /dev/null and b/fuzz/corpora/cmp/5b9d67f4711cd356d1b04a08b19884e4f2e10ea9 differ diff --git a/fuzz/corpora/cmp/5babc0109ece88ff88142ab08302d4aa782b52cf b/fuzz/corpora/cmp/5babc0109ece88ff88142ab08302d4aa782b52cf new file mode 100644 index 00000000..93f538a5 Binary files /dev/null and b/fuzz/corpora/cmp/5babc0109ece88ff88142ab08302d4aa782b52cf differ diff --git a/fuzz/corpora/cmp/5bad4632e58038e22be813a5fe26ba666b3b9692 b/fuzz/corpora/cmp/5bad4632e58038e22be813a5fe26ba666b3b9692 new file mode 100644 index 00000000..7d3e3d13 Binary files /dev/null and b/fuzz/corpora/cmp/5bad4632e58038e22be813a5fe26ba666b3b9692 differ diff --git a/fuzz/corpora/cmp/5bb7148b7096ec245f04c46c46ec14b9229c67cb b/fuzz/corpora/cmp/5bb7148b7096ec245f04c46c46ec14b9229c67cb new file mode 100644 index 00000000..7e166191 Binary files /dev/null and b/fuzz/corpora/cmp/5bb7148b7096ec245f04c46c46ec14b9229c67cb differ diff --git a/fuzz/corpora/cmp/5bbdb1143a71c3fa6f2b260cfbab556c19e7d76f b/fuzz/corpora/cmp/5bbdb1143a71c3fa6f2b260cfbab556c19e7d76f new file mode 100644 index 00000000..070da681 Binary files /dev/null and b/fuzz/corpora/cmp/5bbdb1143a71c3fa6f2b260cfbab556c19e7d76f differ diff --git a/fuzz/corpora/cmp/5bc23f77115d3731f7f3f58d00f0338b6cf16cfd b/fuzz/corpora/cmp/5bc23f77115d3731f7f3f58d00f0338b6cf16cfd new file mode 100644 index 00000000..65e2f091 --- /dev/null +++ b/fuzz/corpora/cmp/5bc23f77115d3731f7f3f58d00f0338b6cf16cfd @@ -0,0 +1 @@ +,€½€,€½€½€,€½€,€,€½€,€½€½€,€½€,€ \ No newline at end of file diff --git a/fuzz/corpora/cmp/5bd2abac9a994645c80695095ba93ddd1da5d063 b/fuzz/corpora/cmp/5bd2abac9a994645c80695095ba93ddd1da5d063 new file mode 100644 index 00000000..bb8291e4 Binary files /dev/null and b/fuzz/corpora/cmp/5bd2abac9a994645c80695095ba93ddd1da5d063 differ diff --git a/fuzz/corpora/cmp/5bd5e983679b6947d86743c944fe65547ea66c36 b/fuzz/corpora/cmp/5bd5e983679b6947d86743c944fe65547ea66c36 new file mode 100644 index 00000000..d0a3e8c0 Binary files /dev/null and b/fuzz/corpora/cmp/5bd5e983679b6947d86743c944fe65547ea66c36 differ diff --git a/fuzz/corpora/cmp/5bd7bed57759b7c749eeed9b6b8f5de4bb978cd9 b/fuzz/corpora/cmp/5bd7bed57759b7c749eeed9b6b8f5de4bb978cd9 new file mode 100644 index 00000000..34a431dd Binary files /dev/null and b/fuzz/corpora/cmp/5bd7bed57759b7c749eeed9b6b8f5de4bb978cd9 differ diff --git a/fuzz/corpora/cmp/5be5cbf6c69da7646cfabb9493a26acfe7743aed b/fuzz/corpora/cmp/5be5cbf6c69da7646cfabb9493a26acfe7743aed new file mode 100644 index 00000000..a299e550 Binary files /dev/null and b/fuzz/corpora/cmp/5be5cbf6c69da7646cfabb9493a26acfe7743aed differ diff --git a/fuzz/corpora/cmp/5c0011cf55946b144531b362fdc950075d49f0fe b/fuzz/corpora/cmp/5c0011cf55946b144531b362fdc950075d49f0fe new file mode 100644 index 00000000..7baf8a99 Binary files /dev/null and b/fuzz/corpora/cmp/5c0011cf55946b144531b362fdc950075d49f0fe differ diff --git a/fuzz/corpora/cmp/5c041a86192c0ae650b80c22957e9c943300ac91 b/fuzz/corpora/cmp/5c041a86192c0ae650b80c22957e9c943300ac91 new file mode 100644 index 00000000..9ce09d38 Binary files /dev/null and b/fuzz/corpora/cmp/5c041a86192c0ae650b80c22957e9c943300ac91 differ diff --git a/fuzz/corpora/cmp/5c1f85611479755ce82fc2289b662d05f6da73f2 b/fuzz/corpora/cmp/5c1f85611479755ce82fc2289b662d05f6da73f2 new file mode 100644 index 00000000..3691e55e Binary files /dev/null and b/fuzz/corpora/cmp/5c1f85611479755ce82fc2289b662d05f6da73f2 differ diff --git a/fuzz/corpora/cmp/5c219b7e0a600603521607378e50f4a1627e5222 b/fuzz/corpora/cmp/5c219b7e0a600603521607378e50f4a1627e5222 new file mode 100644 index 00000000..2a6925aa Binary files /dev/null and b/fuzz/corpora/cmp/5c219b7e0a600603521607378e50f4a1627e5222 differ diff --git a/fuzz/corpora/cmp/5c24569528fd23679f3b6949786c281eabdaff32 b/fuzz/corpora/cmp/5c24569528fd23679f3b6949786c281eabdaff32 new file mode 100644 index 00000000..e3d3a141 Binary files /dev/null and b/fuzz/corpora/cmp/5c24569528fd23679f3b6949786c281eabdaff32 differ diff --git a/fuzz/corpora/cmp/5c28111919ad84928a8a35c27c23f7e23fe75882 b/fuzz/corpora/cmp/5c28111919ad84928a8a35c27c23f7e23fe75882 new file mode 100644 index 00000000..2c0b0d1b Binary files /dev/null and b/fuzz/corpora/cmp/5c28111919ad84928a8a35c27c23f7e23fe75882 differ diff --git a/fuzz/corpora/cmp/5c298ee56157c4f7cb8b83d73a84c42bc666e6af b/fuzz/corpora/cmp/5c298ee56157c4f7cb8b83d73a84c42bc666e6af new file mode 100644 index 00000000..2c607578 Binary files /dev/null and b/fuzz/corpora/cmp/5c298ee56157c4f7cb8b83d73a84c42bc666e6af differ diff --git a/fuzz/corpora/cmp/5c2b5993084345befac1cc505838db07a63dc63f b/fuzz/corpora/cmp/5c2b5993084345befac1cc505838db07a63dc63f new file mode 100644 index 00000000..eb76ef02 Binary files /dev/null and b/fuzz/corpora/cmp/5c2b5993084345befac1cc505838db07a63dc63f differ diff --git a/fuzz/corpora/cmp/5c2d1d4340395543cc391dda8e2c5e64d3175067 b/fuzz/corpora/cmp/5c2d1d4340395543cc391dda8e2c5e64d3175067 new file mode 100644 index 00000000..56ac8d83 Binary files /dev/null and b/fuzz/corpora/cmp/5c2d1d4340395543cc391dda8e2c5e64d3175067 differ diff --git a/fuzz/corpora/cmp/5c37090bfb9274c1b21face137fbe81796ceee6e b/fuzz/corpora/cmp/5c37090bfb9274c1b21face137fbe81796ceee6e new file mode 100644 index 00000000..c58d09f6 Binary files /dev/null and b/fuzz/corpora/cmp/5c37090bfb9274c1b21face137fbe81796ceee6e differ diff --git a/fuzz/corpora/cmp/5c3c3a53814b45fea82c74ae8a8e9e11a629b5f8 b/fuzz/corpora/cmp/5c3c3a53814b45fea82c74ae8a8e9e11a629b5f8 new file mode 100644 index 00000000..5d5f2cc4 Binary files /dev/null and b/fuzz/corpora/cmp/5c3c3a53814b45fea82c74ae8a8e9e11a629b5f8 differ diff --git a/fuzz/corpora/cmp/5c43631bf19f06c9925213a8798303381775b5b7 b/fuzz/corpora/cmp/5c43631bf19f06c9925213a8798303381775b5b7 new file mode 100644 index 00000000..d69568a5 Binary files /dev/null and b/fuzz/corpora/cmp/5c43631bf19f06c9925213a8798303381775b5b7 differ diff --git a/fuzz/corpora/cmp/5c4426c6720404f34f179787971724258d4f2027 b/fuzz/corpora/cmp/5c4426c6720404f34f179787971724258d4f2027 new file mode 100644 index 00000000..de8825d5 Binary files /dev/null and b/fuzz/corpora/cmp/5c4426c6720404f34f179787971724258d4f2027 differ diff --git a/fuzz/corpora/cmp/5c52d43b9eb0c351fa8fd1fcf778f0edc277c1fb b/fuzz/corpora/cmp/5c52d43b9eb0c351fa8fd1fcf778f0edc277c1fb new file mode 100644 index 00000000..56b5cb9f Binary files /dev/null and b/fuzz/corpora/cmp/5c52d43b9eb0c351fa8fd1fcf778f0edc277c1fb differ diff --git a/fuzz/corpora/cmp/5c59c8d81c49af96965fbdc69fca4f314d0e4a19 b/fuzz/corpora/cmp/5c59c8d81c49af96965fbdc69fca4f314d0e4a19 new file mode 100644 index 00000000..b0e37b6f Binary files /dev/null and b/fuzz/corpora/cmp/5c59c8d81c49af96965fbdc69fca4f314d0e4a19 differ diff --git a/fuzz/corpora/cmp/5c61313ac65776bdf7b0e3efca7fd92c378f8bdb b/fuzz/corpora/cmp/5c61313ac65776bdf7b0e3efca7fd92c378f8bdb new file mode 100644 index 00000000..b453210d Binary files /dev/null and b/fuzz/corpora/cmp/5c61313ac65776bdf7b0e3efca7fd92c378f8bdb differ diff --git a/fuzz/corpora/cmp/5c6a0702dddec389e63b87fb1809e3cdbdc9662e b/fuzz/corpora/cmp/5c6a0702dddec389e63b87fb1809e3cdbdc9662e new file mode 100644 index 00000000..4a8814d6 Binary files /dev/null and b/fuzz/corpora/cmp/5c6a0702dddec389e63b87fb1809e3cdbdc9662e differ diff --git a/fuzz/corpora/cmp/5c6a7471679e4254e8b8640929c89392845c0bde b/fuzz/corpora/cmp/5c6a7471679e4254e8b8640929c89392845c0bde new file mode 100644 index 00000000..8179c075 Binary files /dev/null and b/fuzz/corpora/cmp/5c6a7471679e4254e8b8640929c89392845c0bde differ diff --git a/fuzz/corpora/cmp/5c6ca21e31e41c5e6fcfec413efae5983778b2ef b/fuzz/corpora/cmp/5c6ca21e31e41c5e6fcfec413efae5983778b2ef new file mode 100644 index 00000000..073dc994 Binary files /dev/null and b/fuzz/corpora/cmp/5c6ca21e31e41c5e6fcfec413efae5983778b2ef differ diff --git a/fuzz/corpora/cmp/5c718c39922a85d8193900db399743c7e0f4aa6c b/fuzz/corpora/cmp/5c718c39922a85d8193900db399743c7e0f4aa6c new file mode 100644 index 00000000..beb95def Binary files /dev/null and b/fuzz/corpora/cmp/5c718c39922a85d8193900db399743c7e0f4aa6c differ diff --git a/fuzz/corpora/cmp/5c7786f721cb4e6e1bbbcbfacd3c243cdf359953 b/fuzz/corpora/cmp/5c7786f721cb4e6e1bbbcbfacd3c243cdf359953 new file mode 100644 index 00000000..31d21980 Binary files /dev/null and b/fuzz/corpora/cmp/5c7786f721cb4e6e1bbbcbfacd3c243cdf359953 differ diff --git a/fuzz/corpora/cmp/5c89a15b73127adecf620d01fee17119de66dcb9 b/fuzz/corpora/cmp/5c89a15b73127adecf620d01fee17119de66dcb9 new file mode 100644 index 00000000..d2fc212d Binary files /dev/null and b/fuzz/corpora/cmp/5c89a15b73127adecf620d01fee17119de66dcb9 differ diff --git a/fuzz/corpora/cmp/5cb134cd3eda9811f9083a2c87414e65716100df b/fuzz/corpora/cmp/5cb134cd3eda9811f9083a2c87414e65716100df new file mode 100644 index 00000000..c6207c01 Binary files /dev/null and b/fuzz/corpora/cmp/5cb134cd3eda9811f9083a2c87414e65716100df differ diff --git a/fuzz/corpora/cmp/5cbcd82ebec9f6629d01a70afb112d8e1bcf5145 b/fuzz/corpora/cmp/5cbcd82ebec9f6629d01a70afb112d8e1bcf5145 new file mode 100644 index 00000000..97cf39c5 Binary files /dev/null and b/fuzz/corpora/cmp/5cbcd82ebec9f6629d01a70afb112d8e1bcf5145 differ diff --git a/fuzz/corpora/cmp/5cc26233856cee64ab31cab183e40b4432716e19 b/fuzz/corpora/cmp/5cc26233856cee64ab31cab183e40b4432716e19 new file mode 100644 index 00000000..77c152f7 Binary files /dev/null and b/fuzz/corpora/cmp/5cc26233856cee64ab31cab183e40b4432716e19 differ diff --git a/fuzz/corpora/cmp/5ce36c895f2ec22368f8c8fae78ec04870c8b5d3 b/fuzz/corpora/cmp/5ce36c895f2ec22368f8c8fae78ec04870c8b5d3 new file mode 100644 index 00000000..46519a01 Binary files /dev/null and b/fuzz/corpora/cmp/5ce36c895f2ec22368f8c8fae78ec04870c8b5d3 differ diff --git a/fuzz/corpora/cmp/5ce41b8c1a1e3e28673c7c218f0da4499503147f b/fuzz/corpora/cmp/5ce41b8c1a1e3e28673c7c218f0da4499503147f new file mode 100644 index 00000000..c6005a44 Binary files /dev/null and b/fuzz/corpora/cmp/5ce41b8c1a1e3e28673c7c218f0da4499503147f differ diff --git a/fuzz/corpora/cmp/5d0fe8de72fcafbe2bf30d4ad14d231d760c217c b/fuzz/corpora/cmp/5d0fe8de72fcafbe2bf30d4ad14d231d760c217c new file mode 100644 index 00000000..254777aa Binary files /dev/null and b/fuzz/corpora/cmp/5d0fe8de72fcafbe2bf30d4ad14d231d760c217c differ diff --git a/fuzz/corpora/cmp/5d17be15633025582ebca2e87063a65f2b2b61f4 b/fuzz/corpora/cmp/5d17be15633025582ebca2e87063a65f2b2b61f4 new file mode 100644 index 00000000..e79c6ca0 Binary files /dev/null and b/fuzz/corpora/cmp/5d17be15633025582ebca2e87063a65f2b2b61f4 differ diff --git a/fuzz/corpora/cmp/5d2218c5feb8a09b483789e3f69233fbfe2a8e5a b/fuzz/corpora/cmp/5d2218c5feb8a09b483789e3f69233fbfe2a8e5a new file mode 100644 index 00000000..0c9162b8 Binary files /dev/null and b/fuzz/corpora/cmp/5d2218c5feb8a09b483789e3f69233fbfe2a8e5a differ diff --git a/fuzz/corpora/cmp/5d271b8affb9cc4c34a5ebc81245c7abe083ee39 b/fuzz/corpora/cmp/5d271b8affb9cc4c34a5ebc81245c7abe083ee39 new file mode 100644 index 00000000..de618df5 Binary files /dev/null and b/fuzz/corpora/cmp/5d271b8affb9cc4c34a5ebc81245c7abe083ee39 differ diff --git a/fuzz/corpora/cmp/5d29245029c6c34cb7e4a2e1a834f977f7ba8a4b b/fuzz/corpora/cmp/5d29245029c6c34cb7e4a2e1a834f977f7ba8a4b new file mode 100644 index 00000000..2d089a11 Binary files /dev/null and b/fuzz/corpora/cmp/5d29245029c6c34cb7e4a2e1a834f977f7ba8a4b differ diff --git a/fuzz/corpora/cmp/5d29c75e8ae0d91ca3412e42ae312c7803a8299a b/fuzz/corpora/cmp/5d29c75e8ae0d91ca3412e42ae312c7803a8299a new file mode 100644 index 00000000..68f34c3b Binary files /dev/null and b/fuzz/corpora/cmp/5d29c75e8ae0d91ca3412e42ae312c7803a8299a differ diff --git a/fuzz/corpora/cmp/5d2a9a8dc0c85c5254ba1e501f3c6ae2f690ec6b b/fuzz/corpora/cmp/5d2a9a8dc0c85c5254ba1e501f3c6ae2f690ec6b new file mode 100644 index 00000000..32c80f7f Binary files /dev/null and b/fuzz/corpora/cmp/5d2a9a8dc0c85c5254ba1e501f3c6ae2f690ec6b differ diff --git a/fuzz/corpora/cmp/5d32cad32aa2ce3043d3e8529b546c043c60188a b/fuzz/corpora/cmp/5d32cad32aa2ce3043d3e8529b546c043c60188a new file mode 100644 index 00000000..b5c335f7 Binary files /dev/null and b/fuzz/corpora/cmp/5d32cad32aa2ce3043d3e8529b546c043c60188a differ diff --git a/fuzz/corpora/cmp/5d3b3ddb1dfc0bea12577195c1432fc05600be98 b/fuzz/corpora/cmp/5d3b3ddb1dfc0bea12577195c1432fc05600be98 new file mode 100644 index 00000000..f11e57bc Binary files /dev/null and b/fuzz/corpora/cmp/5d3b3ddb1dfc0bea12577195c1432fc05600be98 differ diff --git a/fuzz/corpora/cmp/5d57b309fa26c1852bd51c043698374570ff4feb b/fuzz/corpora/cmp/5d57b309fa26c1852bd51c043698374570ff4feb new file mode 100644 index 00000000..e85d3d64 Binary files /dev/null and b/fuzz/corpora/cmp/5d57b309fa26c1852bd51c043698374570ff4feb differ diff --git a/fuzz/corpora/cmp/5d64ad8a77420acdd29e8a9861398ee1ee48a1f3 b/fuzz/corpora/cmp/5d64ad8a77420acdd29e8a9861398ee1ee48a1f3 new file mode 100644 index 00000000..cfa731aa Binary files /dev/null and b/fuzz/corpora/cmp/5d64ad8a77420acdd29e8a9861398ee1ee48a1f3 differ diff --git a/fuzz/corpora/cmp/5d6fd050caa55960f7085e325416a61042a9fae7 b/fuzz/corpora/cmp/5d6fd050caa55960f7085e325416a61042a9fae7 new file mode 100644 index 00000000..3ba4dbb7 Binary files /dev/null and b/fuzz/corpora/cmp/5d6fd050caa55960f7085e325416a61042a9fae7 differ diff --git a/fuzz/corpora/cmp/5d70ea30573649079c91bf09c991b5e0d309cc0f b/fuzz/corpora/cmp/5d70ea30573649079c91bf09c991b5e0d309cc0f new file mode 100644 index 00000000..1e8d1ac0 Binary files /dev/null and b/fuzz/corpora/cmp/5d70ea30573649079c91bf09c991b5e0d309cc0f differ diff --git a/fuzz/corpora/cmp/5d76066be37c213c099d8020b6c7aaad7d64cff2 b/fuzz/corpora/cmp/5d76066be37c213c099d8020b6c7aaad7d64cff2 new file mode 100644 index 00000000..d7aa13eb Binary files /dev/null and b/fuzz/corpora/cmp/5d76066be37c213c099d8020b6c7aaad7d64cff2 differ diff --git a/fuzz/corpora/cmp/5d8019164df848b8b40df0ee952a2c4520cb6ba7 b/fuzz/corpora/cmp/5d8019164df848b8b40df0ee952a2c4520cb6ba7 new file mode 100644 index 00000000..f3c74aa1 Binary files /dev/null and b/fuzz/corpora/cmp/5d8019164df848b8b40df0ee952a2c4520cb6ba7 differ diff --git a/fuzz/corpora/cmp/5d935fe2f8a107431e3032b6e926fa05172e1e98 b/fuzz/corpora/cmp/5d935fe2f8a107431e3032b6e926fa05172e1e98 new file mode 100644 index 00000000..6ead02a8 Binary files /dev/null and b/fuzz/corpora/cmp/5d935fe2f8a107431e3032b6e926fa05172e1e98 differ diff --git a/fuzz/corpora/cmp/5d982f56cbf2e5f54b0abcff8126539b41b11e4f b/fuzz/corpora/cmp/5d982f56cbf2e5f54b0abcff8126539b41b11e4f new file mode 100644 index 00000000..025e17a7 Binary files /dev/null and b/fuzz/corpora/cmp/5d982f56cbf2e5f54b0abcff8126539b41b11e4f differ diff --git a/fuzz/corpora/cmp/5dcd68c3523cbfe96342ce3f41c82631454939d1 b/fuzz/corpora/cmp/5dcd68c3523cbfe96342ce3f41c82631454939d1 new file mode 100644 index 00000000..904e2812 Binary files /dev/null and b/fuzz/corpora/cmp/5dcd68c3523cbfe96342ce3f41c82631454939d1 differ diff --git a/fuzz/corpora/cmp/5de08d9879ae7dbf5a5e101bab6fc448229d3524 b/fuzz/corpora/cmp/5de08d9879ae7dbf5a5e101bab6fc448229d3524 new file mode 100644 index 00000000..9fe359a8 Binary files /dev/null and b/fuzz/corpora/cmp/5de08d9879ae7dbf5a5e101bab6fc448229d3524 differ diff --git a/fuzz/corpora/cmp/5dec822f7e6dad5a1da44ab3e4cb6b6a811b5d40 b/fuzz/corpora/cmp/5dec822f7e6dad5a1da44ab3e4cb6b6a811b5d40 new file mode 100644 index 00000000..55e70399 Binary files /dev/null and b/fuzz/corpora/cmp/5dec822f7e6dad5a1da44ab3e4cb6b6a811b5d40 differ diff --git a/fuzz/corpora/cmp/5df1eb20eb88934b37f0533562f0fb915be2e398 b/fuzz/corpora/cmp/5df1eb20eb88934b37f0533562f0fb915be2e398 new file mode 100644 index 00000000..6f24fd5a Binary files /dev/null and b/fuzz/corpora/cmp/5df1eb20eb88934b37f0533562f0fb915be2e398 differ diff --git a/fuzz/corpora/cmp/5e2d761ce1e47d097d49a4f85d1fcf6f689f8cec b/fuzz/corpora/cmp/5e2d761ce1e47d097d49a4f85d1fcf6f689f8cec new file mode 100644 index 00000000..fcf71c5c Binary files /dev/null and b/fuzz/corpora/cmp/5e2d761ce1e47d097d49a4f85d1fcf6f689f8cec differ diff --git a/fuzz/corpora/cmp/5e39294a04d6b03fc0f784ad844343db291ae8df b/fuzz/corpora/cmp/5e39294a04d6b03fc0f784ad844343db291ae8df new file mode 100644 index 00000000..940be4f8 Binary files /dev/null and b/fuzz/corpora/cmp/5e39294a04d6b03fc0f784ad844343db291ae8df differ diff --git a/fuzz/corpora/cmp/5e3b19c825e745a6d0d7b9ccf54caf09d810b067 b/fuzz/corpora/cmp/5e3b19c825e745a6d0d7b9ccf54caf09d810b067 new file mode 100644 index 00000000..181656ed Binary files /dev/null and b/fuzz/corpora/cmp/5e3b19c825e745a6d0d7b9ccf54caf09d810b067 differ diff --git a/fuzz/corpora/cmp/5e54583bf16dac39670e1d8395b15a79a9f0a2f8 b/fuzz/corpora/cmp/5e54583bf16dac39670e1d8395b15a79a9f0a2f8 new file mode 100644 index 00000000..39a67ed0 Binary files /dev/null and b/fuzz/corpora/cmp/5e54583bf16dac39670e1d8395b15a79a9f0a2f8 differ diff --git a/fuzz/corpora/cmp/5e5b1fb377a65653c599d77571f4ea6b720a6c5a b/fuzz/corpora/cmp/5e5b1fb377a65653c599d77571f4ea6b720a6c5a new file mode 100644 index 00000000..7ec2d77e Binary files /dev/null and b/fuzz/corpora/cmp/5e5b1fb377a65653c599d77571f4ea6b720a6c5a differ diff --git a/fuzz/corpora/cmp/5e7127499bfba69f24f8f84e313076c6fd03f342 b/fuzz/corpora/cmp/5e7127499bfba69f24f8f84e313076c6fd03f342 new file mode 100644 index 00000000..209cc486 Binary files /dev/null and b/fuzz/corpora/cmp/5e7127499bfba69f24f8f84e313076c6fd03f342 differ diff --git a/fuzz/corpora/cmp/5e8c51348b9d01110c9d454d7d091cc8b861a1bc b/fuzz/corpora/cmp/5e8c51348b9d01110c9d454d7d091cc8b861a1bc new file mode 100644 index 00000000..3844f817 Binary files /dev/null and b/fuzz/corpora/cmp/5e8c51348b9d01110c9d454d7d091cc8b861a1bc differ diff --git a/fuzz/corpora/cmp/5e8c6b4b5e329c23d71c02e32ffcf626b4565a1c b/fuzz/corpora/cmp/5e8c6b4b5e329c23d71c02e32ffcf626b4565a1c new file mode 100644 index 00000000..25ef2076 Binary files /dev/null and b/fuzz/corpora/cmp/5e8c6b4b5e329c23d71c02e32ffcf626b4565a1c differ diff --git a/fuzz/corpora/cmp/5e94c7f499685d9c1b31f6ce9ccc8e90f986d4d0 b/fuzz/corpora/cmp/5e94c7f499685d9c1b31f6ce9ccc8e90f986d4d0 new file mode 100644 index 00000000..bdcdc201 Binary files /dev/null and b/fuzz/corpora/cmp/5e94c7f499685d9c1b31f6ce9ccc8e90f986d4d0 differ diff --git a/fuzz/corpora/cmp/5ea27026966b1bf0569a6fc888519d0483f29872 b/fuzz/corpora/cmp/5ea27026966b1bf0569a6fc888519d0483f29872 new file mode 100644 index 00000000..2fe46aba Binary files /dev/null and b/fuzz/corpora/cmp/5ea27026966b1bf0569a6fc888519d0483f29872 differ diff --git a/fuzz/corpora/cmp/5ed1d949ce443217f04f49a4a9cce7dec4954987 b/fuzz/corpora/cmp/5ed1d949ce443217f04f49a4a9cce7dec4954987 new file mode 100644 index 00000000..d34bc4f2 Binary files /dev/null and b/fuzz/corpora/cmp/5ed1d949ce443217f04f49a4a9cce7dec4954987 differ diff --git a/fuzz/corpora/cmp/5ed60509cd32c1c4453dff11bf44aaac3d44c225 b/fuzz/corpora/cmp/5ed60509cd32c1c4453dff11bf44aaac3d44c225 new file mode 100644 index 00000000..cb13cebc Binary files /dev/null and b/fuzz/corpora/cmp/5ed60509cd32c1c4453dff11bf44aaac3d44c225 differ diff --git a/fuzz/corpora/cmp/5efb476cfdcf96644f651a812325b6b93c16cbc8 b/fuzz/corpora/cmp/5efb476cfdcf96644f651a812325b6b93c16cbc8 new file mode 100644 index 00000000..e2a40603 Binary files /dev/null and b/fuzz/corpora/cmp/5efb476cfdcf96644f651a812325b6b93c16cbc8 differ diff --git a/fuzz/corpora/cmp/5f1400689ee7e0769c5571706e54d3a19ba2488f b/fuzz/corpora/cmp/5f1400689ee7e0769c5571706e54d3a19ba2488f new file mode 100644 index 00000000..80f214e9 Binary files /dev/null and b/fuzz/corpora/cmp/5f1400689ee7e0769c5571706e54d3a19ba2488f differ diff --git a/fuzz/corpora/cmp/5f29abf17d2aa0aa482c4f383a8f93967c5250e2 b/fuzz/corpora/cmp/5f29abf17d2aa0aa482c4f383a8f93967c5250e2 new file mode 100644 index 00000000..66b4afc9 Binary files /dev/null and b/fuzz/corpora/cmp/5f29abf17d2aa0aa482c4f383a8f93967c5250e2 differ diff --git a/fuzz/corpora/cmp/5f4347b1f38c7f17abfb84528e506a221dde9a35 b/fuzz/corpora/cmp/5f4347b1f38c7f17abfb84528e506a221dde9a35 new file mode 100644 index 00000000..df330d91 Binary files /dev/null and b/fuzz/corpora/cmp/5f4347b1f38c7f17abfb84528e506a221dde9a35 differ diff --git a/fuzz/corpora/cmp/5f4d2c453b3b9bc15cb1fd5dc4035473d9d7bee9 b/fuzz/corpora/cmp/5f4d2c453b3b9bc15cb1fd5dc4035473d9d7bee9 new file mode 100644 index 00000000..f57fb6ce Binary files /dev/null and b/fuzz/corpora/cmp/5f4d2c453b3b9bc15cb1fd5dc4035473d9d7bee9 differ diff --git a/fuzz/corpora/cmp/5f597bc7bfb6549b709c42278254f5a424e63848 b/fuzz/corpora/cmp/5f597bc7bfb6549b709c42278254f5a424e63848 new file mode 100644 index 00000000..34e101ea Binary files /dev/null and b/fuzz/corpora/cmp/5f597bc7bfb6549b709c42278254f5a424e63848 differ diff --git a/fuzz/corpora/cmp/5f7064ebcb929dc7477b99eedb78c2e79278ab10 b/fuzz/corpora/cmp/5f7064ebcb929dc7477b99eedb78c2e79278ab10 new file mode 100644 index 00000000..dcd8cb5f Binary files /dev/null and b/fuzz/corpora/cmp/5f7064ebcb929dc7477b99eedb78c2e79278ab10 differ diff --git a/fuzz/corpora/cmp/5f77edfd3904205a47896395625dd058a9969d78 b/fuzz/corpora/cmp/5f77edfd3904205a47896395625dd058a9969d78 new file mode 100644 index 00000000..6f601777 Binary files /dev/null and b/fuzz/corpora/cmp/5f77edfd3904205a47896395625dd058a9969d78 differ diff --git a/fuzz/corpora/cmp/5fa406dbae9214a6cd75ff32106a840851ff99e2 b/fuzz/corpora/cmp/5fa406dbae9214a6cd75ff32106a840851ff99e2 new file mode 100644 index 00000000..9cfc5ef0 Binary files /dev/null and b/fuzz/corpora/cmp/5fa406dbae9214a6cd75ff32106a840851ff99e2 differ diff --git a/fuzz/corpora/cmp/5fb75d1e6bd1f3940f7d7f3fa190f27b79fb42d9 b/fuzz/corpora/cmp/5fb75d1e6bd1f3940f7d7f3fa190f27b79fb42d9 new file mode 100644 index 00000000..b8998db5 Binary files /dev/null and b/fuzz/corpora/cmp/5fb75d1e6bd1f3940f7d7f3fa190f27b79fb42d9 differ diff --git a/fuzz/corpora/cmp/5fbda802d26070dacf85426d2d8507e82b04fe1e b/fuzz/corpora/cmp/5fbda802d26070dacf85426d2d8507e82b04fe1e new file mode 100644 index 00000000..62e8c31e --- /dev/null +++ b/fuzz/corpora/cmp/5fbda802d26070dacf85426d2d8507e82b04fe1e @@ -0,0 +1 @@ +,€½€,€ \ No newline at end of file diff --git a/fuzz/corpora/cmp/5fc17669a5ad1959123b732ba7529e5524ae6cac b/fuzz/corpora/cmp/5fc17669a5ad1959123b732ba7529e5524ae6cac new file mode 100644 index 00000000..c252358d Binary files /dev/null and b/fuzz/corpora/cmp/5fc17669a5ad1959123b732ba7529e5524ae6cac differ diff --git a/fuzz/corpora/cmp/5fc3b34c095808fbf3a316f72c8ae13f9d67fa4e b/fuzz/corpora/cmp/5fc3b34c095808fbf3a316f72c8ae13f9d67fa4e new file mode 100644 index 00000000..0ef18487 Binary files /dev/null and b/fuzz/corpora/cmp/5fc3b34c095808fbf3a316f72c8ae13f9d67fa4e differ diff --git a/fuzz/corpora/cmp/5fc8b9c3cce50d6eb10da3a7adca7b79d5d551cf b/fuzz/corpora/cmp/5fc8b9c3cce50d6eb10da3a7adca7b79d5d551cf new file mode 100644 index 00000000..3d62f6fb --- /dev/null +++ b/fuzz/corpora/cmp/5fc8b9c3cce50d6eb10da3a7adca7b79d5d551cf @@ -0,0 +1 @@ +0€AFA- \ No newline at end of file diff --git a/fuzz/corpora/cmp/5fdb4f5e93ca7311a778fd8b252048c75e4d20c5 b/fuzz/corpora/cmp/5fdb4f5e93ca7311a778fd8b252048c75e4d20c5 new file mode 100644 index 00000000..883a420a Binary files /dev/null and b/fuzz/corpora/cmp/5fdb4f5e93ca7311a778fd8b252048c75e4d20c5 differ diff --git a/fuzz/corpora/cmp/5ff587301daf1e785d8617687f307635e5f66c7b b/fuzz/corpora/cmp/5ff587301daf1e785d8617687f307635e5f66c7b new file mode 100644 index 00000000..a33f7f0b Binary files /dev/null and b/fuzz/corpora/cmp/5ff587301daf1e785d8617687f307635e5f66c7b differ diff --git a/fuzz/corpora/cmp/60138ce05a59992ed5dc3d47fcd8c0e2da728db9 b/fuzz/corpora/cmp/60138ce05a59992ed5dc3d47fcd8c0e2da728db9 new file mode 100644 index 00000000..05b0633a Binary files /dev/null and b/fuzz/corpora/cmp/60138ce05a59992ed5dc3d47fcd8c0e2da728db9 differ diff --git a/fuzz/corpora/cmp/601ca25cab8ce2c72d5fc3292d90ac6540442ad5 b/fuzz/corpora/cmp/601ca25cab8ce2c72d5fc3292d90ac6540442ad5 new file mode 100644 index 00000000..4c61a5ac Binary files /dev/null and b/fuzz/corpora/cmp/601ca25cab8ce2c72d5fc3292d90ac6540442ad5 differ diff --git a/fuzz/corpora/cmp/6036cf8d3b9339111ad685a07b72ed9b5ff5461a b/fuzz/corpora/cmp/6036cf8d3b9339111ad685a07b72ed9b5ff5461a new file mode 100644 index 00000000..25b025c6 Binary files /dev/null and b/fuzz/corpora/cmp/6036cf8d3b9339111ad685a07b72ed9b5ff5461a differ diff --git a/fuzz/corpora/cmp/603a44fe109d7f91dec52daa5ffe8fa047a726ae b/fuzz/corpora/cmp/603a44fe109d7f91dec52daa5ffe8fa047a726ae new file mode 100644 index 00000000..18550043 Binary files /dev/null and b/fuzz/corpora/cmp/603a44fe109d7f91dec52daa5ffe8fa047a726ae differ diff --git a/fuzz/corpora/cmp/60440d54824cfdfbcfde43d59f9a4278f1135bfc b/fuzz/corpora/cmp/60440d54824cfdfbcfde43d59f9a4278f1135bfc new file mode 100644 index 00000000..b1c66bb6 Binary files /dev/null and b/fuzz/corpora/cmp/60440d54824cfdfbcfde43d59f9a4278f1135bfc differ diff --git a/fuzz/corpora/cmp/605eb8bed094d4250c67168a239976942ec94e94 b/fuzz/corpora/cmp/605eb8bed094d4250c67168a239976942ec94e94 new file mode 100644 index 00000000..fb857ffc Binary files /dev/null and b/fuzz/corpora/cmp/605eb8bed094d4250c67168a239976942ec94e94 differ diff --git a/fuzz/corpora/cmp/60659778a9c406e6324b7801332e7bfb122d9398 b/fuzz/corpora/cmp/60659778a9c406e6324b7801332e7bfb122d9398 new file mode 100644 index 00000000..9c6361c2 Binary files /dev/null and b/fuzz/corpora/cmp/60659778a9c406e6324b7801332e7bfb122d9398 differ diff --git a/fuzz/corpora/cmp/60671935f6062fa79bbd48628afedf279fb67daa b/fuzz/corpora/cmp/60671935f6062fa79bbd48628afedf279fb67daa new file mode 100644 index 00000000..4bbb6384 Binary files /dev/null and b/fuzz/corpora/cmp/60671935f6062fa79bbd48628afedf279fb67daa differ diff --git a/fuzz/corpora/cmp/609d75ed8794b429cf4a2693b3fed27aa5c7e5a4 b/fuzz/corpora/cmp/609d75ed8794b429cf4a2693b3fed27aa5c7e5a4 new file mode 100644 index 00000000..a77f307f Binary files /dev/null and b/fuzz/corpora/cmp/609d75ed8794b429cf4a2693b3fed27aa5c7e5a4 differ diff --git a/fuzz/corpora/cmp/60a5612a7e503ac373dfe8dfc807f9985f959fc3 b/fuzz/corpora/cmp/60a5612a7e503ac373dfe8dfc807f9985f959fc3 new file mode 100644 index 00000000..b63d1335 Binary files /dev/null and b/fuzz/corpora/cmp/60a5612a7e503ac373dfe8dfc807f9985f959fc3 differ diff --git a/fuzz/corpora/cmp/60b1195f424f3e74d30be933942e3fd37ca90b0f b/fuzz/corpora/cmp/60b1195f424f3e74d30be933942e3fd37ca90b0f new file mode 100644 index 00000000..d93552c1 Binary files /dev/null and b/fuzz/corpora/cmp/60b1195f424f3e74d30be933942e3fd37ca90b0f differ diff --git a/fuzz/corpora/cmp/60b76c7cdd05da816849518d55e68a60a1e74c67 b/fuzz/corpora/cmp/60b76c7cdd05da816849518d55e68a60a1e74c67 new file mode 100644 index 00000000..9c8a987a Binary files /dev/null and b/fuzz/corpora/cmp/60b76c7cdd05da816849518d55e68a60a1e74c67 differ diff --git a/fuzz/corpora/cmp/60b9b9c8ed404447c0e1059f3220181a02afab58 b/fuzz/corpora/cmp/60b9b9c8ed404447c0e1059f3220181a02afab58 new file mode 100644 index 00000000..d8e8c63a Binary files /dev/null and b/fuzz/corpora/cmp/60b9b9c8ed404447c0e1059f3220181a02afab58 differ diff --git a/fuzz/corpora/cmp/60da27f3761d67442c1f9faa112e0dff6eb98a17 b/fuzz/corpora/cmp/60da27f3761d67442c1f9faa112e0dff6eb98a17 new file mode 100644 index 00000000..8a4d1843 Binary files /dev/null and b/fuzz/corpora/cmp/60da27f3761d67442c1f9faa112e0dff6eb98a17 differ diff --git a/fuzz/corpora/cmp/60dc7bf2e41576c6262b440751d8c4303ba6d176 b/fuzz/corpora/cmp/60dc7bf2e41576c6262b440751d8c4303ba6d176 new file mode 100644 index 00000000..8fa1ee00 Binary files /dev/null and b/fuzz/corpora/cmp/60dc7bf2e41576c6262b440751d8c4303ba6d176 differ diff --git a/fuzz/corpora/cmp/60e8e6c3449b814375bd9d4a175f82cc534e7de3 b/fuzz/corpora/cmp/60e8e6c3449b814375bd9d4a175f82cc534e7de3 new file mode 100644 index 00000000..e57f8038 Binary files /dev/null and b/fuzz/corpora/cmp/60e8e6c3449b814375bd9d4a175f82cc534e7de3 differ diff --git a/fuzz/corpora/cmp/60edd7c9cc7bfa2835b2d79118938a1733d0a2e1 b/fuzz/corpora/cmp/60edd7c9cc7bfa2835b2d79118938a1733d0a2e1 new file mode 100644 index 00000000..ed0994fb Binary files /dev/null and b/fuzz/corpora/cmp/60edd7c9cc7bfa2835b2d79118938a1733d0a2e1 differ diff --git a/fuzz/corpora/cmp/6119b62668fde21586c40ecbb939cbf97b252885 b/fuzz/corpora/cmp/6119b62668fde21586c40ecbb939cbf97b252885 new file mode 100644 index 00000000..f1ecd697 Binary files /dev/null and b/fuzz/corpora/cmp/6119b62668fde21586c40ecbb939cbf97b252885 differ diff --git a/fuzz/corpora/cmp/611b370e35076dde57508be2731684687e7841b4 b/fuzz/corpora/cmp/611b370e35076dde57508be2731684687e7841b4 new file mode 100644 index 00000000..0152f2cb Binary files /dev/null and b/fuzz/corpora/cmp/611b370e35076dde57508be2731684687e7841b4 differ diff --git a/fuzz/corpora/cmp/611f7fb7984573afc13a7d4bc16f214a19b4a7d6 b/fuzz/corpora/cmp/611f7fb7984573afc13a7d4bc16f214a19b4a7d6 new file mode 100644 index 00000000..b8ba2771 Binary files /dev/null and b/fuzz/corpora/cmp/611f7fb7984573afc13a7d4bc16f214a19b4a7d6 differ diff --git a/fuzz/corpora/cmp/61215b3da71301438ca8f825bd42e42a42d639af b/fuzz/corpora/cmp/61215b3da71301438ca8f825bd42e42a42d639af new file mode 100644 index 00000000..64d2542d Binary files /dev/null and b/fuzz/corpora/cmp/61215b3da71301438ca8f825bd42e42a42d639af differ diff --git a/fuzz/corpora/cmp/6133db6419c5c92b9d19000a18475fced48ba597 b/fuzz/corpora/cmp/6133db6419c5c92b9d19000a18475fced48ba597 new file mode 100644 index 00000000..ca6fc84a Binary files /dev/null and b/fuzz/corpora/cmp/6133db6419c5c92b9d19000a18475fced48ba597 differ diff --git a/fuzz/corpora/cmp/6134a91542778f2d8e8ec0840bdd71ce70c8fb28 b/fuzz/corpora/cmp/6134a91542778f2d8e8ec0840bdd71ce70c8fb28 new file mode 100644 index 00000000..8c8c57b2 Binary files /dev/null and b/fuzz/corpora/cmp/6134a91542778f2d8e8ec0840bdd71ce70c8fb28 differ diff --git a/fuzz/corpora/cmp/61591a9b6ef6883a4efe481d1eb3248c9c72cc2f b/fuzz/corpora/cmp/61591a9b6ef6883a4efe481d1eb3248c9c72cc2f new file mode 100644 index 00000000..5b3710c0 Binary files /dev/null and b/fuzz/corpora/cmp/61591a9b6ef6883a4efe481d1eb3248c9c72cc2f differ diff --git a/fuzz/corpora/cmp/6162f2e5bd8e8e311386881b534703e0b4ddb50c b/fuzz/corpora/cmp/6162f2e5bd8e8e311386881b534703e0b4ddb50c new file mode 100644 index 00000000..f1530fe0 Binary files /dev/null and b/fuzz/corpora/cmp/6162f2e5bd8e8e311386881b534703e0b4ddb50c differ diff --git a/fuzz/corpora/cmp/616d64d463fe45f2472be3b84b595d1af471cbcf b/fuzz/corpora/cmp/616d64d463fe45f2472be3b84b595d1af471cbcf new file mode 100644 index 00000000..d2d955c3 Binary files /dev/null and b/fuzz/corpora/cmp/616d64d463fe45f2472be3b84b595d1af471cbcf differ diff --git a/fuzz/corpora/cmp/618afd163762e0f0fab6613be20c1a154b39677d b/fuzz/corpora/cmp/618afd163762e0f0fab6613be20c1a154b39677d new file mode 100644 index 00000000..6733ecb7 Binary files /dev/null and b/fuzz/corpora/cmp/618afd163762e0f0fab6613be20c1a154b39677d differ diff --git a/fuzz/corpora/cmp/61942a9a8b60a8faa80f4036e03e6207d55bce90 b/fuzz/corpora/cmp/61942a9a8b60a8faa80f4036e03e6207d55bce90 new file mode 100644 index 00000000..319480fc Binary files /dev/null and b/fuzz/corpora/cmp/61942a9a8b60a8faa80f4036e03e6207d55bce90 differ diff --git a/fuzz/corpora/cmp/6194e1926fb25e895c740f123a238edb83865fec b/fuzz/corpora/cmp/6194e1926fb25e895c740f123a238edb83865fec new file mode 100644 index 00000000..419f385e Binary files /dev/null and b/fuzz/corpora/cmp/6194e1926fb25e895c740f123a238edb83865fec differ diff --git a/fuzz/corpora/cmp/61a93687f37922620b4098da11f9fade0273509e b/fuzz/corpora/cmp/61a93687f37922620b4098da11f9fade0273509e new file mode 100644 index 00000000..8a84efcc Binary files /dev/null and b/fuzz/corpora/cmp/61a93687f37922620b4098da11f9fade0273509e differ diff --git a/fuzz/corpora/cmp/61ad30603a674938fff3f4416e412bf3faf7bb19 b/fuzz/corpora/cmp/61ad30603a674938fff3f4416e412bf3faf7bb19 new file mode 100644 index 00000000..2191e463 Binary files /dev/null and b/fuzz/corpora/cmp/61ad30603a674938fff3f4416e412bf3faf7bb19 differ diff --git a/fuzz/corpora/cmp/61c1e728796f161c8cb61e61b733474a6058c7f1 b/fuzz/corpora/cmp/61c1e728796f161c8cb61e61b733474a6058c7f1 new file mode 100644 index 00000000..e9947f3d Binary files /dev/null and b/fuzz/corpora/cmp/61c1e728796f161c8cb61e61b733474a6058c7f1 differ diff --git a/fuzz/corpora/cmp/61c47aae3e62d9d6a4432195732dbccd91142610 b/fuzz/corpora/cmp/61c47aae3e62d9d6a4432195732dbccd91142610 new file mode 100644 index 00000000..da330a96 Binary files /dev/null and b/fuzz/corpora/cmp/61c47aae3e62d9d6a4432195732dbccd91142610 differ diff --git a/fuzz/corpora/cmp/61c9f759d94c07bae3c710f472749c36cc64c1d6 b/fuzz/corpora/cmp/61c9f759d94c07bae3c710f472749c36cc64c1d6 new file mode 100644 index 00000000..a64628d8 Binary files /dev/null and b/fuzz/corpora/cmp/61c9f759d94c07bae3c710f472749c36cc64c1d6 differ diff --git a/fuzz/corpora/cmp/61c9fe3d584ff01bf75be78754162d7026e706c0 b/fuzz/corpora/cmp/61c9fe3d584ff01bf75be78754162d7026e706c0 new file mode 100644 index 00000000..fe1ff476 Binary files /dev/null and b/fuzz/corpora/cmp/61c9fe3d584ff01bf75be78754162d7026e706c0 differ diff --git a/fuzz/corpora/cmp/61cee9ab689ae8c99ea3e9940ce88ab1f50988f6 b/fuzz/corpora/cmp/61cee9ab689ae8c99ea3e9940ce88ab1f50988f6 new file mode 100644 index 00000000..10b47c10 Binary files /dev/null and b/fuzz/corpora/cmp/61cee9ab689ae8c99ea3e9940ce88ab1f50988f6 differ diff --git a/fuzz/corpora/cmp/61e16c5e91346e97e36ddbfb76e37e092b089eeb b/fuzz/corpora/cmp/61e16c5e91346e97e36ddbfb76e37e092b089eeb new file mode 100644 index 00000000..f3ede87f Binary files /dev/null and b/fuzz/corpora/cmp/61e16c5e91346e97e36ddbfb76e37e092b089eeb differ diff --git a/fuzz/corpora/cmp/61e55ca1a1843a764986a994ed02e0a65c4bd175 b/fuzz/corpora/cmp/61e55ca1a1843a764986a994ed02e0a65c4bd175 new file mode 100644 index 00000000..c7caf85f Binary files /dev/null and b/fuzz/corpora/cmp/61e55ca1a1843a764986a994ed02e0a65c4bd175 differ diff --git a/fuzz/corpora/cmp/61e97453a63b44de1ec32e4196cf253d0d03dded b/fuzz/corpora/cmp/61e97453a63b44de1ec32e4196cf253d0d03dded new file mode 100644 index 00000000..d0c9de2b Binary files /dev/null and b/fuzz/corpora/cmp/61e97453a63b44de1ec32e4196cf253d0d03dded differ diff --git a/fuzz/corpora/cmp/61e98ed1ec5f12d7bd8a51077c0a51208e452c40 b/fuzz/corpora/cmp/61e98ed1ec5f12d7bd8a51077c0a51208e452c40 new file mode 100644 index 00000000..2d530401 Binary files /dev/null and b/fuzz/corpora/cmp/61e98ed1ec5f12d7bd8a51077c0a51208e452c40 differ diff --git a/fuzz/corpora/cmp/61f0e7a712ed310ad7cf08fa26b62556f00a8db8 b/fuzz/corpora/cmp/61f0e7a712ed310ad7cf08fa26b62556f00a8db8 new file mode 100644 index 00000000..54ee435b Binary files /dev/null and b/fuzz/corpora/cmp/61f0e7a712ed310ad7cf08fa26b62556f00a8db8 differ diff --git a/fuzz/corpora/cmp/61f1edba5e520f26a5551384dea3d65a7b360514 b/fuzz/corpora/cmp/61f1edba5e520f26a5551384dea3d65a7b360514 new file mode 100644 index 00000000..efc97fb9 Binary files /dev/null and b/fuzz/corpora/cmp/61f1edba5e520f26a5551384dea3d65a7b360514 differ diff --git a/fuzz/corpora/cmp/61fea2f7db3bbe2029bd8b4e052b1fefb0a6368c b/fuzz/corpora/cmp/61fea2f7db3bbe2029bd8b4e052b1fefb0a6368c new file mode 100644 index 00000000..d00716d0 Binary files /dev/null and b/fuzz/corpora/cmp/61fea2f7db3bbe2029bd8b4e052b1fefb0a6368c differ diff --git a/fuzz/corpora/cmp/62149ebeddb5a74d8561dad3011e07ee4677ffc5 b/fuzz/corpora/cmp/62149ebeddb5a74d8561dad3011e07ee4677ffc5 new file mode 100644 index 00000000..79f09308 Binary files /dev/null and b/fuzz/corpora/cmp/62149ebeddb5a74d8561dad3011e07ee4677ffc5 differ diff --git a/fuzz/corpora/cmp/6214e4487bb84bccb2bf93af15e4026c5a14a427 b/fuzz/corpora/cmp/6214e4487bb84bccb2bf93af15e4026c5a14a427 new file mode 100644 index 00000000..12d0b264 Binary files /dev/null and b/fuzz/corpora/cmp/6214e4487bb84bccb2bf93af15e4026c5a14a427 differ diff --git a/fuzz/corpora/cmp/62170345c64065f6f23a184f32e0e7e474a8fdc8 b/fuzz/corpora/cmp/62170345c64065f6f23a184f32e0e7e474a8fdc8 new file mode 100644 index 00000000..9a7ba342 Binary files /dev/null and b/fuzz/corpora/cmp/62170345c64065f6f23a184f32e0e7e474a8fdc8 differ diff --git a/fuzz/corpora/cmp/62214ee981f58d4659679242e34c936f9cb84403 b/fuzz/corpora/cmp/62214ee981f58d4659679242e34c936f9cb84403 new file mode 100644 index 00000000..a5733212 Binary files /dev/null and b/fuzz/corpora/cmp/62214ee981f58d4659679242e34c936f9cb84403 differ diff --git a/fuzz/corpora/cmp/623589cd35eebac9008a2d63e1ff349a17186a53 b/fuzz/corpora/cmp/623589cd35eebac9008a2d63e1ff349a17186a53 new file mode 100644 index 00000000..42194849 Binary files /dev/null and b/fuzz/corpora/cmp/623589cd35eebac9008a2d63e1ff349a17186a53 differ diff --git a/fuzz/corpora/cmp/6242388ee5ef6a724cac13beaa6dd88e84f9a484 b/fuzz/corpora/cmp/6242388ee5ef6a724cac13beaa6dd88e84f9a484 new file mode 100644 index 00000000..bfa42694 Binary files /dev/null and b/fuzz/corpora/cmp/6242388ee5ef6a724cac13beaa6dd88e84f9a484 differ diff --git a/fuzz/corpora/cmp/626d5c1aae27129849d7947ebe67cde2e03b8c01 b/fuzz/corpora/cmp/626d5c1aae27129849d7947ebe67cde2e03b8c01 new file mode 100644 index 00000000..f1e4349f Binary files /dev/null and b/fuzz/corpora/cmp/626d5c1aae27129849d7947ebe67cde2e03b8c01 differ diff --git a/fuzz/corpora/cmp/628e775f04e2c79efafe5921f85bceaf826b0e86 b/fuzz/corpora/cmp/628e775f04e2c79efafe5921f85bceaf826b0e86 new file mode 100644 index 00000000..f8aa5056 Binary files /dev/null and b/fuzz/corpora/cmp/628e775f04e2c79efafe5921f85bceaf826b0e86 differ diff --git a/fuzz/corpora/cmp/62954f2ef62a0c74919116072c9173c2cb0c6601 b/fuzz/corpora/cmp/62954f2ef62a0c74919116072c9173c2cb0c6601 new file mode 100644 index 00000000..8780c41c Binary files /dev/null and b/fuzz/corpora/cmp/62954f2ef62a0c74919116072c9173c2cb0c6601 differ diff --git a/fuzz/corpora/cmp/62a99addadec4cd1adc21ba6887048147d893b92 b/fuzz/corpora/cmp/62a99addadec4cd1adc21ba6887048147d893b92 new file mode 100644 index 00000000..ee4b7385 Binary files /dev/null and b/fuzz/corpora/cmp/62a99addadec4cd1adc21ba6887048147d893b92 differ diff --git a/fuzz/corpora/cmp/62a99c4948aad2f6362cc0344b1930631ae6f23d b/fuzz/corpora/cmp/62a99c4948aad2f6362cc0344b1930631ae6f23d new file mode 100644 index 00000000..bc6d5d4d Binary files /dev/null and b/fuzz/corpora/cmp/62a99c4948aad2f6362cc0344b1930631ae6f23d differ diff --git a/fuzz/corpora/cmp/62ac402ea8284125516be1868e2fd281ee553643 b/fuzz/corpora/cmp/62ac402ea8284125516be1868e2fd281ee553643 new file mode 100644 index 00000000..ef810daa Binary files /dev/null and b/fuzz/corpora/cmp/62ac402ea8284125516be1868e2fd281ee553643 differ diff --git a/fuzz/corpora/cmp/62dce902bf249aa29914b96fb1e922d08f7954f8 b/fuzz/corpora/cmp/62dce902bf249aa29914b96fb1e922d08f7954f8 new file mode 100644 index 00000000..0ddcb8f8 Binary files /dev/null and b/fuzz/corpora/cmp/62dce902bf249aa29914b96fb1e922d08f7954f8 differ diff --git a/fuzz/corpora/cmp/62f14f65d5f5af8e6f8ba3b29c163b9193a6b636 b/fuzz/corpora/cmp/62f14f65d5f5af8e6f8ba3b29c163b9193a6b636 new file mode 100644 index 00000000..12704884 Binary files /dev/null and b/fuzz/corpora/cmp/62f14f65d5f5af8e6f8ba3b29c163b9193a6b636 differ diff --git a/fuzz/corpora/cmp/62f7cc46e82d4c3e27e2d644d6c0718466db4bb1 b/fuzz/corpora/cmp/62f7cc46e82d4c3e27e2d644d6c0718466db4bb1 new file mode 100644 index 00000000..46a0319c Binary files /dev/null and b/fuzz/corpora/cmp/62f7cc46e82d4c3e27e2d644d6c0718466db4bb1 differ diff --git a/fuzz/corpora/cmp/62ff5759b5c4682b72b99ebc1b423d19e39442e5 b/fuzz/corpora/cmp/62ff5759b5c4682b72b99ebc1b423d19e39442e5 new file mode 100644 index 00000000..6d53a65f Binary files /dev/null and b/fuzz/corpora/cmp/62ff5759b5c4682b72b99ebc1b423d19e39442e5 differ diff --git a/fuzz/corpora/cmp/630505c9d56211ba0db98b63bc2da437434aae8f b/fuzz/corpora/cmp/630505c9d56211ba0db98b63bc2da437434aae8f new file mode 100644 index 00000000..322b4a95 Binary files /dev/null and b/fuzz/corpora/cmp/630505c9d56211ba0db98b63bc2da437434aae8f differ diff --git a/fuzz/corpora/cmp/630b5e033c4ef42660a5eaed634dc9ab067631ba b/fuzz/corpora/cmp/630b5e033c4ef42660a5eaed634dc9ab067631ba new file mode 100644 index 00000000..3d83296f Binary files /dev/null and b/fuzz/corpora/cmp/630b5e033c4ef42660a5eaed634dc9ab067631ba differ diff --git a/fuzz/corpora/cmp/631135404ce6131e8098703f2ca0e9ab5042948e b/fuzz/corpora/cmp/631135404ce6131e8098703f2ca0e9ab5042948e new file mode 100644 index 00000000..c3019cec Binary files /dev/null and b/fuzz/corpora/cmp/631135404ce6131e8098703f2ca0e9ab5042948e differ diff --git a/fuzz/corpora/cmp/631adf37f98758dcc99ac5c57e718fb32fea50d1 b/fuzz/corpora/cmp/631adf37f98758dcc99ac5c57e718fb32fea50d1 new file mode 100644 index 00000000..f3f5f9b3 Binary files /dev/null and b/fuzz/corpora/cmp/631adf37f98758dcc99ac5c57e718fb32fea50d1 differ diff --git a/fuzz/corpora/cmp/6331efdb5dc9977a752b2878be1d9d178f19ba44 b/fuzz/corpora/cmp/6331efdb5dc9977a752b2878be1d9d178f19ba44 new file mode 100644 index 00000000..eb0d2105 Binary files /dev/null and b/fuzz/corpora/cmp/6331efdb5dc9977a752b2878be1d9d178f19ba44 differ diff --git a/fuzz/corpora/cmp/6332eda576f31828bc793e5f4991d27a3d8828c2 b/fuzz/corpora/cmp/6332eda576f31828bc793e5f4991d27a3d8828c2 new file mode 100644 index 00000000..3a73fdf0 Binary files /dev/null and b/fuzz/corpora/cmp/6332eda576f31828bc793e5f4991d27a3d8828c2 differ diff --git a/fuzz/corpora/cmp/634744d641b4ea9899a4d01fdca125731408c089 b/fuzz/corpora/cmp/634744d641b4ea9899a4d01fdca125731408c089 new file mode 100644 index 00000000..590dc757 Binary files /dev/null and b/fuzz/corpora/cmp/634744d641b4ea9899a4d01fdca125731408c089 differ diff --git a/fuzz/corpora/cmp/634c988749263a77615208ddb058b6e0c6b80504 b/fuzz/corpora/cmp/634c988749263a77615208ddb058b6e0c6b80504 new file mode 100644 index 00000000..36dc07b1 Binary files /dev/null and b/fuzz/corpora/cmp/634c988749263a77615208ddb058b6e0c6b80504 differ diff --git a/fuzz/corpora/cmp/634e0a6e360c9a88a954b2110ff3a37ba811a917 b/fuzz/corpora/cmp/634e0a6e360c9a88a954b2110ff3a37ba811a917 new file mode 100644 index 00000000..fa2aa315 Binary files /dev/null and b/fuzz/corpora/cmp/634e0a6e360c9a88a954b2110ff3a37ba811a917 differ diff --git a/fuzz/corpora/cmp/6374c298492c094b7b30729115b3b743caa25e9d b/fuzz/corpora/cmp/6374c298492c094b7b30729115b3b743caa25e9d new file mode 100644 index 00000000..76c3cca0 Binary files /dev/null and b/fuzz/corpora/cmp/6374c298492c094b7b30729115b3b743caa25e9d differ diff --git a/fuzz/corpora/cmp/6378d80bb7a4a976799182a2ca42b24358f2aa01 b/fuzz/corpora/cmp/6378d80bb7a4a976799182a2ca42b24358f2aa01 new file mode 100644 index 00000000..53c2a7c8 Binary files /dev/null and b/fuzz/corpora/cmp/6378d80bb7a4a976799182a2ca42b24358f2aa01 differ diff --git a/fuzz/corpora/cmp/637bc90e1d6c999b36269e18edcbd3a698480f38 b/fuzz/corpora/cmp/637bc90e1d6c999b36269e18edcbd3a698480f38 new file mode 100644 index 00000000..f4444199 Binary files /dev/null and b/fuzz/corpora/cmp/637bc90e1d6c999b36269e18edcbd3a698480f38 differ diff --git a/fuzz/corpora/cmp/63abd221434cb74e839626e137c772533f8b12fc b/fuzz/corpora/cmp/63abd221434cb74e839626e137c772533f8b12fc new file mode 100644 index 00000000..d3cc3b4c Binary files /dev/null and b/fuzz/corpora/cmp/63abd221434cb74e839626e137c772533f8b12fc differ diff --git a/fuzz/corpora/cmp/63bc3190c1c9f6f0f89820797c1c8dfcd11f22cb b/fuzz/corpora/cmp/63bc3190c1c9f6f0f89820797c1c8dfcd11f22cb new file mode 100644 index 00000000..fdf80354 Binary files /dev/null and b/fuzz/corpora/cmp/63bc3190c1c9f6f0f89820797c1c8dfcd11f22cb differ diff --git a/fuzz/corpora/cmp/63c8984b2b59ad1edbd886eed940e7d31e521a3f b/fuzz/corpora/cmp/63c8984b2b59ad1edbd886eed940e7d31e521a3f new file mode 100644 index 00000000..66371ba9 Binary files /dev/null and b/fuzz/corpora/cmp/63c8984b2b59ad1edbd886eed940e7d31e521a3f differ diff --git a/fuzz/corpora/cmp/63d87f527a85ba9881976a6f16c5c7ec2119c488 b/fuzz/corpora/cmp/63d87f527a85ba9881976a6f16c5c7ec2119c488 new file mode 100644 index 00000000..fcc3e68e Binary files /dev/null and b/fuzz/corpora/cmp/63d87f527a85ba9881976a6f16c5c7ec2119c488 differ diff --git a/fuzz/corpora/cmp/63edd94fc7009ca590300abe2b85a7e9990604de b/fuzz/corpora/cmp/63edd94fc7009ca590300abe2b85a7e9990604de new file mode 100644 index 00000000..002da263 Binary files /dev/null and b/fuzz/corpora/cmp/63edd94fc7009ca590300abe2b85a7e9990604de differ diff --git a/fuzz/corpora/cmp/63f8b046adb1104ffc057f8630f2a4e45902d4bc b/fuzz/corpora/cmp/63f8b046adb1104ffc057f8630f2a4e45902d4bc new file mode 100644 index 00000000..39edf07f Binary files /dev/null and b/fuzz/corpora/cmp/63f8b046adb1104ffc057f8630f2a4e45902d4bc differ diff --git a/fuzz/corpora/cmp/63f98586ab0a81cfb948f8c20cb1b507a9c6ddef b/fuzz/corpora/cmp/63f98586ab0a81cfb948f8c20cb1b507a9c6ddef new file mode 100644 index 00000000..4912eee1 Binary files /dev/null and b/fuzz/corpora/cmp/63f98586ab0a81cfb948f8c20cb1b507a9c6ddef differ diff --git a/fuzz/corpora/cmp/6405d14a698d2ddf73d5cf29a91a799a77584f96 b/fuzz/corpora/cmp/6405d14a698d2ddf73d5cf29a91a799a77584f96 new file mode 100644 index 00000000..6fb0bdc9 Binary files /dev/null and b/fuzz/corpora/cmp/6405d14a698d2ddf73d5cf29a91a799a77584f96 differ diff --git a/fuzz/corpora/cmp/64175da86c4ff8fc47bc59eb071b03b7ea2199ea b/fuzz/corpora/cmp/64175da86c4ff8fc47bc59eb071b03b7ea2199ea new file mode 100644 index 00000000..5021b835 Binary files /dev/null and b/fuzz/corpora/cmp/64175da86c4ff8fc47bc59eb071b03b7ea2199ea differ diff --git a/fuzz/corpora/cmp/64364bff769c5ff096aab559d15e5d6b303d0e7d b/fuzz/corpora/cmp/64364bff769c5ff096aab559d15e5d6b303d0e7d new file mode 100644 index 00000000..5fff651f Binary files /dev/null and b/fuzz/corpora/cmp/64364bff769c5ff096aab559d15e5d6b303d0e7d differ diff --git a/fuzz/corpora/cmp/645690ba7c7135cc9c43f3616fd9625fbd5b5334 b/fuzz/corpora/cmp/645690ba7c7135cc9c43f3616fd9625fbd5b5334 new file mode 100644 index 00000000..2023e174 Binary files /dev/null and b/fuzz/corpora/cmp/645690ba7c7135cc9c43f3616fd9625fbd5b5334 differ diff --git a/fuzz/corpora/cmp/646281d2ae51adde041ee9141acd085d8598ebde b/fuzz/corpora/cmp/646281d2ae51adde041ee9141acd085d8598ebde new file mode 100644 index 00000000..7d6a9180 Binary files /dev/null and b/fuzz/corpora/cmp/646281d2ae51adde041ee9141acd085d8598ebde differ diff --git a/fuzz/corpora/cmp/6465fcd021da61409275c16606696a1bf9ab8ca5 b/fuzz/corpora/cmp/6465fcd021da61409275c16606696a1bf9ab8ca5 new file mode 100644 index 00000000..dc65259c Binary files /dev/null and b/fuzz/corpora/cmp/6465fcd021da61409275c16606696a1bf9ab8ca5 differ diff --git a/fuzz/corpora/cmp/6469862d574228b332f8dd38cfcfd77d64c74c4a b/fuzz/corpora/cmp/6469862d574228b332f8dd38cfcfd77d64c74c4a new file mode 100644 index 00000000..ebd25f30 Binary files /dev/null and b/fuzz/corpora/cmp/6469862d574228b332f8dd38cfcfd77d64c74c4a differ diff --git a/fuzz/corpora/cmp/6474e94ae552fe4f2e917dd2182112dce2d77b6a b/fuzz/corpora/cmp/6474e94ae552fe4f2e917dd2182112dce2d77b6a new file mode 100644 index 00000000..6d27e1c0 Binary files /dev/null and b/fuzz/corpora/cmp/6474e94ae552fe4f2e917dd2182112dce2d77b6a differ diff --git a/fuzz/corpora/cmp/6479d8f7991df2ede8d0cb2636c15652ffcc1bb3 b/fuzz/corpora/cmp/6479d8f7991df2ede8d0cb2636c15652ffcc1bb3 new file mode 100644 index 00000000..1adb1c00 Binary files /dev/null and b/fuzz/corpora/cmp/6479d8f7991df2ede8d0cb2636c15652ffcc1bb3 differ diff --git a/fuzz/corpora/cmp/647b88a737c4d6b5fbc2b3b693dae4afe4e8f77f b/fuzz/corpora/cmp/647b88a737c4d6b5fbc2b3b693dae4afe4e8f77f new file mode 100644 index 00000000..c1632a4b Binary files /dev/null and b/fuzz/corpora/cmp/647b88a737c4d6b5fbc2b3b693dae4afe4e8f77f differ diff --git a/fuzz/corpora/cmp/64a3bd328dfb942b00a669f8e376a9bffd2c2764 b/fuzz/corpora/cmp/64a3bd328dfb942b00a669f8e376a9bffd2c2764 new file mode 100644 index 00000000..07b1dde8 Binary files /dev/null and b/fuzz/corpora/cmp/64a3bd328dfb942b00a669f8e376a9bffd2c2764 differ diff --git a/fuzz/corpora/cmp/64abb61d4df043ab0369c2ace4c18b27d3643517 b/fuzz/corpora/cmp/64abb61d4df043ab0369c2ace4c18b27d3643517 new file mode 100644 index 00000000..c06c6e2f Binary files /dev/null and b/fuzz/corpora/cmp/64abb61d4df043ab0369c2ace4c18b27d3643517 differ diff --git a/fuzz/corpora/cmp/64bcb7d0a4872af5cfac3afc07b257a164190caa b/fuzz/corpora/cmp/64bcb7d0a4872af5cfac3afc07b257a164190caa new file mode 100644 index 00000000..09b6c3f5 Binary files /dev/null and b/fuzz/corpora/cmp/64bcb7d0a4872af5cfac3afc07b257a164190caa differ diff --git a/fuzz/corpora/cmp/64caec96e9fb92d88f42c04ddb90f590143e44c1 b/fuzz/corpora/cmp/64caec96e9fb92d88f42c04ddb90f590143e44c1 new file mode 100644 index 00000000..950ebeff Binary files /dev/null and b/fuzz/corpora/cmp/64caec96e9fb92d88f42c04ddb90f590143e44c1 differ diff --git a/fuzz/corpora/cmp/64dad3c1659fbae08b82714438b06dd12eca7af3 b/fuzz/corpora/cmp/64dad3c1659fbae08b82714438b06dd12eca7af3 new file mode 100644 index 00000000..8eec1bec Binary files /dev/null and b/fuzz/corpora/cmp/64dad3c1659fbae08b82714438b06dd12eca7af3 differ diff --git a/fuzz/corpora/cmp/65031c6fd607e3e5e93ccbe89590289708e6ed15 b/fuzz/corpora/cmp/65031c6fd607e3e5e93ccbe89590289708e6ed15 new file mode 100644 index 00000000..c428aa83 Binary files /dev/null and b/fuzz/corpora/cmp/65031c6fd607e3e5e93ccbe89590289708e6ed15 differ diff --git a/fuzz/corpora/cmp/65037a0b599407d838b4c3fcc3f8ad9d7002af32 b/fuzz/corpora/cmp/65037a0b599407d838b4c3fcc3f8ad9d7002af32 new file mode 100644 index 00000000..5285aba9 Binary files /dev/null and b/fuzz/corpora/cmp/65037a0b599407d838b4c3fcc3f8ad9d7002af32 differ diff --git a/fuzz/corpora/cmp/650a827c3d0efd71080858dc7c02c96c3ed31d25 b/fuzz/corpora/cmp/650a827c3d0efd71080858dc7c02c96c3ed31d25 new file mode 100644 index 00000000..be61e00d Binary files /dev/null and b/fuzz/corpora/cmp/650a827c3d0efd71080858dc7c02c96c3ed31d25 differ diff --git a/fuzz/corpora/cmp/650e91c9fa4631dc3c8da00dc148bf46b3df71be b/fuzz/corpora/cmp/650e91c9fa4631dc3c8da00dc148bf46b3df71be new file mode 100644 index 00000000..05695140 Binary files /dev/null and b/fuzz/corpora/cmp/650e91c9fa4631dc3c8da00dc148bf46b3df71be differ diff --git a/fuzz/corpora/cmp/6510107ed43f2125a22e6c9186469204dae82be2 b/fuzz/corpora/cmp/6510107ed43f2125a22e6c9186469204dae82be2 new file mode 100644 index 00000000..1f44e12f Binary files /dev/null and b/fuzz/corpora/cmp/6510107ed43f2125a22e6c9186469204dae82be2 differ diff --git a/fuzz/corpora/cmp/6515cdd9c5e1582f98ef1afc8855b87d9de1e3c0 b/fuzz/corpora/cmp/6515cdd9c5e1582f98ef1afc8855b87d9de1e3c0 new file mode 100644 index 00000000..94d126ee Binary files /dev/null and b/fuzz/corpora/cmp/6515cdd9c5e1582f98ef1afc8855b87d9de1e3c0 differ diff --git a/fuzz/corpora/cmp/651c1bb377610b7673cd16948982e45e4dcc7035 b/fuzz/corpora/cmp/651c1bb377610b7673cd16948982e45e4dcc7035 new file mode 100644 index 00000000..7868b38e Binary files /dev/null and b/fuzz/corpora/cmp/651c1bb377610b7673cd16948982e45e4dcc7035 differ diff --git a/fuzz/corpora/cmp/651f4f2d3efec6b059c4cf0fdca7aa0deb2b5246 b/fuzz/corpora/cmp/651f4f2d3efec6b059c4cf0fdca7aa0deb2b5246 new file mode 100644 index 00000000..5f98762f Binary files /dev/null and b/fuzz/corpora/cmp/651f4f2d3efec6b059c4cf0fdca7aa0deb2b5246 differ diff --git a/fuzz/corpora/cmp/65203d56243c5f09a4734b464c4a6e488add086d b/fuzz/corpora/cmp/65203d56243c5f09a4734b464c4a6e488add086d new file mode 100644 index 00000000..6daace9d Binary files /dev/null and b/fuzz/corpora/cmp/65203d56243c5f09a4734b464c4a6e488add086d differ diff --git a/fuzz/corpora/cmp/652f99402d478afa80ad9c0574a365317ea8bbd8 b/fuzz/corpora/cmp/652f99402d478afa80ad9c0574a365317ea8bbd8 new file mode 100644 index 00000000..abc2966b Binary files /dev/null and b/fuzz/corpora/cmp/652f99402d478afa80ad9c0574a365317ea8bbd8 differ diff --git a/fuzz/corpora/cmp/653f8d7853ee3e8e2b126d5624c2a89ac5f712de b/fuzz/corpora/cmp/653f8d7853ee3e8e2b126d5624c2a89ac5f712de new file mode 100644 index 00000000..36050fe2 Binary files /dev/null and b/fuzz/corpora/cmp/653f8d7853ee3e8e2b126d5624c2a89ac5f712de differ diff --git a/fuzz/corpora/cmp/65435f113419587ae31c49df7fec01d5bbbd7027 b/fuzz/corpora/cmp/65435f113419587ae31c49df7fec01d5bbbd7027 new file mode 100644 index 00000000..c4336e33 Binary files /dev/null and b/fuzz/corpora/cmp/65435f113419587ae31c49df7fec01d5bbbd7027 differ diff --git a/fuzz/corpora/cmp/655691644127267a15f9a75deb00430e0168cd79 b/fuzz/corpora/cmp/655691644127267a15f9a75deb00430e0168cd79 new file mode 100644 index 00000000..f576ba37 Binary files /dev/null and b/fuzz/corpora/cmp/655691644127267a15f9a75deb00430e0168cd79 differ diff --git a/fuzz/corpora/cmp/65664f43e7e8a9aa8d5348db1b2fe16501d4bfa9 b/fuzz/corpora/cmp/65664f43e7e8a9aa8d5348db1b2fe16501d4bfa9 new file mode 100644 index 00000000..c25d96f5 Binary files /dev/null and b/fuzz/corpora/cmp/65664f43e7e8a9aa8d5348db1b2fe16501d4bfa9 differ diff --git a/fuzz/corpora/cmp/65813cfedcb83d2e62da3d02b04859dbe88f5ddd b/fuzz/corpora/cmp/65813cfedcb83d2e62da3d02b04859dbe88f5ddd new file mode 100644 index 00000000..44d2af89 Binary files /dev/null and b/fuzz/corpora/cmp/65813cfedcb83d2e62da3d02b04859dbe88f5ddd differ diff --git a/fuzz/corpora/cmp/6585f3c13df2812a6a3bdbf2a9a3da05232726a6 b/fuzz/corpora/cmp/6585f3c13df2812a6a3bdbf2a9a3da05232726a6 new file mode 100644 index 00000000..96758bd7 Binary files /dev/null and b/fuzz/corpora/cmp/6585f3c13df2812a6a3bdbf2a9a3da05232726a6 differ diff --git a/fuzz/corpora/cmp/6587ad9aab8ad0359c831de192454dedcad6e12a b/fuzz/corpora/cmp/6587ad9aab8ad0359c831de192454dedcad6e12a new file mode 100644 index 00000000..4aaef7e3 Binary files /dev/null and b/fuzz/corpora/cmp/6587ad9aab8ad0359c831de192454dedcad6e12a differ diff --git a/fuzz/corpora/cmp/65a0aca4ef6f56b6a13566bb16d0c0cf6eeaebc4 b/fuzz/corpora/cmp/65a0aca4ef6f56b6a13566bb16d0c0cf6eeaebc4 new file mode 100644 index 00000000..5bc134c4 Binary files /dev/null and b/fuzz/corpora/cmp/65a0aca4ef6f56b6a13566bb16d0c0cf6eeaebc4 differ diff --git a/fuzz/corpora/cmp/65ad1d098e646f46aec97342a1beafa5d2aadbe2 b/fuzz/corpora/cmp/65ad1d098e646f46aec97342a1beafa5d2aadbe2 new file mode 100644 index 00000000..dc7c9ed6 Binary files /dev/null and b/fuzz/corpora/cmp/65ad1d098e646f46aec97342a1beafa5d2aadbe2 differ diff --git a/fuzz/corpora/cmp/65cb9790ebdb0236da644f4c4fd34f718019b85c b/fuzz/corpora/cmp/65cb9790ebdb0236da644f4c4fd34f718019b85c new file mode 100644 index 00000000..a93c4be6 Binary files /dev/null and b/fuzz/corpora/cmp/65cb9790ebdb0236da644f4c4fd34f718019b85c differ diff --git a/fuzz/corpora/cmp/65e5754977be457791c7834dad1f024bee40c74f b/fuzz/corpora/cmp/65e5754977be457791c7834dad1f024bee40c74f new file mode 100644 index 00000000..0bc48b67 Binary files /dev/null and b/fuzz/corpora/cmp/65e5754977be457791c7834dad1f024bee40c74f differ diff --git a/fuzz/corpora/cmp/65e826abe516a33898c453b06feeb58377e179f7 b/fuzz/corpora/cmp/65e826abe516a33898c453b06feeb58377e179f7 new file mode 100644 index 00000000..31170cb2 Binary files /dev/null and b/fuzz/corpora/cmp/65e826abe516a33898c453b06feeb58377e179f7 differ diff --git a/fuzz/corpora/cmp/65e8edf3993b5cebe65178e9ab4ba22d7fd48c51 b/fuzz/corpora/cmp/65e8edf3993b5cebe65178e9ab4ba22d7fd48c51 new file mode 100644 index 00000000..9c6ab0e1 Binary files /dev/null and b/fuzz/corpora/cmp/65e8edf3993b5cebe65178e9ab4ba22d7fd48c51 differ diff --git a/fuzz/corpora/cmp/65ec6b1d84f21aaa47562f1715c758f1bde65042 b/fuzz/corpora/cmp/65ec6b1d84f21aaa47562f1715c758f1bde65042 new file mode 100644 index 00000000..47079f24 Binary files /dev/null and b/fuzz/corpora/cmp/65ec6b1d84f21aaa47562f1715c758f1bde65042 differ diff --git a/fuzz/corpora/cmp/65fcdc5da8517795fd319cb0feb762cf07a554f7 b/fuzz/corpora/cmp/65fcdc5da8517795fd319cb0feb762cf07a554f7 new file mode 100644 index 00000000..a8d656cf Binary files /dev/null and b/fuzz/corpora/cmp/65fcdc5da8517795fd319cb0feb762cf07a554f7 differ diff --git a/fuzz/corpora/cmp/65fd9ade4abe9e3d8a420496cd6807724ccb33a9 b/fuzz/corpora/cmp/65fd9ade4abe9e3d8a420496cd6807724ccb33a9 new file mode 100644 index 00000000..2a48021e Binary files /dev/null and b/fuzz/corpora/cmp/65fd9ade4abe9e3d8a420496cd6807724ccb33a9 differ diff --git a/fuzz/corpora/cmp/66022bc7c52d930830f0ec15fb811340ad25910f b/fuzz/corpora/cmp/66022bc7c52d930830f0ec15fb811340ad25910f new file mode 100644 index 00000000..1901c4c8 Binary files /dev/null and b/fuzz/corpora/cmp/66022bc7c52d930830f0ec15fb811340ad25910f differ diff --git a/fuzz/corpora/cmp/6610a2aa5e5f1846cac6beb2cc2753ffdeaa2bcd b/fuzz/corpora/cmp/6610a2aa5e5f1846cac6beb2cc2753ffdeaa2bcd new file mode 100644 index 00000000..f759942b Binary files /dev/null and b/fuzz/corpora/cmp/6610a2aa5e5f1846cac6beb2cc2753ffdeaa2bcd differ diff --git a/fuzz/corpora/cmp/661a52c835eab6c483a543c7f0fb763f1fda53a3 b/fuzz/corpora/cmp/661a52c835eab6c483a543c7f0fb763f1fda53a3 new file mode 100644 index 00000000..e11b59ed Binary files /dev/null and b/fuzz/corpora/cmp/661a52c835eab6c483a543c7f0fb763f1fda53a3 differ diff --git a/fuzz/corpora/cmp/6621bd96d07e643c0dd3683e97900f905548654a b/fuzz/corpora/cmp/6621bd96d07e643c0dd3683e97900f905548654a new file mode 100644 index 00000000..f65e99a8 Binary files /dev/null and b/fuzz/corpora/cmp/6621bd96d07e643c0dd3683e97900f905548654a differ diff --git a/fuzz/corpora/cmp/663fd3cfb3faad5ee45e6ad84f8731894ee67ae3 b/fuzz/corpora/cmp/663fd3cfb3faad5ee45e6ad84f8731894ee67ae3 new file mode 100644 index 00000000..e036cf75 Binary files /dev/null and b/fuzz/corpora/cmp/663fd3cfb3faad5ee45e6ad84f8731894ee67ae3 differ diff --git a/fuzz/corpora/cmp/6650c44329461265f87cbe8c1d0618cf2c649576 b/fuzz/corpora/cmp/6650c44329461265f87cbe8c1d0618cf2c649576 new file mode 100644 index 00000000..caa0bc06 Binary files /dev/null and b/fuzz/corpora/cmp/6650c44329461265f87cbe8c1d0618cf2c649576 differ diff --git a/fuzz/corpora/cmp/66545e1f57266d70373383765d003adbab85c4fe b/fuzz/corpora/cmp/66545e1f57266d70373383765d003adbab85c4fe new file mode 100644 index 00000000..a9fc4e09 Binary files /dev/null and b/fuzz/corpora/cmp/66545e1f57266d70373383765d003adbab85c4fe differ diff --git a/fuzz/corpora/cmp/6655764bca56e5f243d24e66cc13ecca187e057e b/fuzz/corpora/cmp/6655764bca56e5f243d24e66cc13ecca187e057e new file mode 100644 index 00000000..c2c539be Binary files /dev/null and b/fuzz/corpora/cmp/6655764bca56e5f243d24e66cc13ecca187e057e differ diff --git a/fuzz/corpora/cmp/66acb7ec31bb9159a050b8072ceb6b3e3df8064f b/fuzz/corpora/cmp/66acb7ec31bb9159a050b8072ceb6b3e3df8064f new file mode 100644 index 00000000..c0fd5c7e Binary files /dev/null and b/fuzz/corpora/cmp/66acb7ec31bb9159a050b8072ceb6b3e3df8064f differ diff --git a/fuzz/corpora/cmp/66ad5f42a0353df5bed25c1ede36092d4e68e98d b/fuzz/corpora/cmp/66ad5f42a0353df5bed25c1ede36092d4e68e98d new file mode 100644 index 00000000..0580f8bc Binary files /dev/null and b/fuzz/corpora/cmp/66ad5f42a0353df5bed25c1ede36092d4e68e98d differ diff --git a/fuzz/corpora/cmp/66e6c62301796a40768480ec53f2e630596048bb b/fuzz/corpora/cmp/66e6c62301796a40768480ec53f2e630596048bb new file mode 100644 index 00000000..6c80a63d Binary files /dev/null and b/fuzz/corpora/cmp/66e6c62301796a40768480ec53f2e630596048bb differ diff --git a/fuzz/corpora/cmp/66f3f5ac209b0f70bcfbbb44544646e0c29830b3 b/fuzz/corpora/cmp/66f3f5ac209b0f70bcfbbb44544646e0c29830b3 new file mode 100644 index 00000000..748d1be5 Binary files /dev/null and b/fuzz/corpora/cmp/66f3f5ac209b0f70bcfbbb44544646e0c29830b3 differ diff --git a/fuzz/corpora/cmp/66fcf54f806998e4b2137c14788e77880988ddf3 b/fuzz/corpora/cmp/66fcf54f806998e4b2137c14788e77880988ddf3 new file mode 100644 index 00000000..ea8a7f84 Binary files /dev/null and b/fuzz/corpora/cmp/66fcf54f806998e4b2137c14788e77880988ddf3 differ diff --git a/fuzz/corpora/cmp/6713b0423ffe7b038865a16a6c2d52ad974ea094 b/fuzz/corpora/cmp/6713b0423ffe7b038865a16a6c2d52ad974ea094 new file mode 100644 index 00000000..2ad5e503 Binary files /dev/null and b/fuzz/corpora/cmp/6713b0423ffe7b038865a16a6c2d52ad974ea094 differ diff --git a/fuzz/corpora/cmp/6720d8982c13d0c9f7d8fe95bb75886262ed955a b/fuzz/corpora/cmp/6720d8982c13d0c9f7d8fe95bb75886262ed955a new file mode 100644 index 00000000..d185502b Binary files /dev/null and b/fuzz/corpora/cmp/6720d8982c13d0c9f7d8fe95bb75886262ed955a differ diff --git a/fuzz/corpora/cmp/672e46d69c10561f18adc039c8c8d0ecb9a1995e b/fuzz/corpora/cmp/672e46d69c10561f18adc039c8c8d0ecb9a1995e new file mode 100644 index 00000000..d57cccfd Binary files /dev/null and b/fuzz/corpora/cmp/672e46d69c10561f18adc039c8c8d0ecb9a1995e differ diff --git a/fuzz/corpora/cmp/673ebdda50c055647aec1854485bebeef4947035 b/fuzz/corpora/cmp/673ebdda50c055647aec1854485bebeef4947035 new file mode 100644 index 00000000..5ce29791 Binary files /dev/null and b/fuzz/corpora/cmp/673ebdda50c055647aec1854485bebeef4947035 differ diff --git a/fuzz/corpora/cmp/6742381a92bc8e78990d63efa9d46732d757dbd7 b/fuzz/corpora/cmp/6742381a92bc8e78990d63efa9d46732d757dbd7 new file mode 100644 index 00000000..be53f329 Binary files /dev/null and b/fuzz/corpora/cmp/6742381a92bc8e78990d63efa9d46732d757dbd7 differ diff --git a/fuzz/corpora/cmp/674b60b13b49f33d71afe683e90075061571dc75 b/fuzz/corpora/cmp/674b60b13b49f33d71afe683e90075061571dc75 new file mode 100644 index 00000000..1977bc26 Binary files /dev/null and b/fuzz/corpora/cmp/674b60b13b49f33d71afe683e90075061571dc75 differ diff --git a/fuzz/corpora/cmp/6777d860e15649876dc0c150d2acbb4d724d51ba b/fuzz/corpora/cmp/6777d860e15649876dc0c150d2acbb4d724d51ba new file mode 100644 index 00000000..09ef4b05 Binary files /dev/null and b/fuzz/corpora/cmp/6777d860e15649876dc0c150d2acbb4d724d51ba differ diff --git a/fuzz/corpora/cmp/677df13a6fc93c08cbef299460c23cea0127ed79 b/fuzz/corpora/cmp/677df13a6fc93c08cbef299460c23cea0127ed79 new file mode 100644 index 00000000..8b5643e5 Binary files /dev/null and b/fuzz/corpora/cmp/677df13a6fc93c08cbef299460c23cea0127ed79 differ diff --git a/fuzz/corpora/cmp/67912040762527ef4968706aa1fe7e77a62e6d17 b/fuzz/corpora/cmp/67912040762527ef4968706aa1fe7e77a62e6d17 new file mode 100644 index 00000000..1f3a8491 Binary files /dev/null and b/fuzz/corpora/cmp/67912040762527ef4968706aa1fe7e77a62e6d17 differ diff --git a/fuzz/corpora/cmp/67aa249cd873ede3a7a789abdce2c361f839e124 b/fuzz/corpora/cmp/67aa249cd873ede3a7a789abdce2c361f839e124 new file mode 100644 index 00000000..69756df9 Binary files /dev/null and b/fuzz/corpora/cmp/67aa249cd873ede3a7a789abdce2c361f839e124 differ diff --git a/fuzz/corpora/cmp/67ae0a5b5aeef5dc10a515827a94fb67dc967138 b/fuzz/corpora/cmp/67ae0a5b5aeef5dc10a515827a94fb67dc967138 new file mode 100644 index 00000000..c348d6a9 Binary files /dev/null and b/fuzz/corpora/cmp/67ae0a5b5aeef5dc10a515827a94fb67dc967138 differ diff --git a/fuzz/corpora/cmp/67c5ab06656771e7a7be08ed88afad87e415ffdc b/fuzz/corpora/cmp/67c5ab06656771e7a7be08ed88afad87e415ffdc new file mode 100644 index 00000000..10749ef0 Binary files /dev/null and b/fuzz/corpora/cmp/67c5ab06656771e7a7be08ed88afad87e415ffdc differ diff --git a/fuzz/corpora/cmp/67eb1e4df359a51d00af134ed49571cc58d592b6 b/fuzz/corpora/cmp/67eb1e4df359a51d00af134ed49571cc58d592b6 new file mode 100644 index 00000000..dfe92d68 Binary files /dev/null and b/fuzz/corpora/cmp/67eb1e4df359a51d00af134ed49571cc58d592b6 differ diff --git a/fuzz/corpora/cmp/67f72508e7b8ef82328747c7766841393941c860 b/fuzz/corpora/cmp/67f72508e7b8ef82328747c7766841393941c860 new file mode 100644 index 00000000..2356020b Binary files /dev/null and b/fuzz/corpora/cmp/67f72508e7b8ef82328747c7766841393941c860 differ diff --git a/fuzz/corpora/cmp/67fbe36fe4110b51fac232294187ba89914ab057 b/fuzz/corpora/cmp/67fbe36fe4110b51fac232294187ba89914ab057 new file mode 100644 index 00000000..e8a0adc3 Binary files /dev/null and b/fuzz/corpora/cmp/67fbe36fe4110b51fac232294187ba89914ab057 differ diff --git a/fuzz/corpora/cmp/67fbe67139f7c277daddcf1d5826e9718b3ea727 b/fuzz/corpora/cmp/67fbe67139f7c277daddcf1d5826e9718b3ea727 new file mode 100644 index 00000000..45c5fcef Binary files /dev/null and b/fuzz/corpora/cmp/67fbe67139f7c277daddcf1d5826e9718b3ea727 differ diff --git a/fuzz/corpora/cmp/680d0fd709c90d52eb49c617153917693f024d0e b/fuzz/corpora/cmp/680d0fd709c90d52eb49c617153917693f024d0e new file mode 100644 index 00000000..2d3f026a Binary files /dev/null and b/fuzz/corpora/cmp/680d0fd709c90d52eb49c617153917693f024d0e differ diff --git a/fuzz/corpora/cmp/68321128871d6e039d549ab144ec0492cd65af3b b/fuzz/corpora/cmp/68321128871d6e039d549ab144ec0492cd65af3b new file mode 100644 index 00000000..e39c3c12 Binary files /dev/null and b/fuzz/corpora/cmp/68321128871d6e039d549ab144ec0492cd65af3b differ diff --git a/fuzz/corpora/cmp/683d823e44fce2c5c10b7b8a7de47c23ab0be56d b/fuzz/corpora/cmp/683d823e44fce2c5c10b7b8a7de47c23ab0be56d new file mode 100644 index 00000000..ee733f98 Binary files /dev/null and b/fuzz/corpora/cmp/683d823e44fce2c5c10b7b8a7de47c23ab0be56d differ diff --git a/fuzz/corpora/cmp/684280f4b6b935a6ac83101a03d80672bbe861c6 b/fuzz/corpora/cmp/684280f4b6b935a6ac83101a03d80672bbe861c6 new file mode 100644 index 00000000..41e7288f Binary files /dev/null and b/fuzz/corpora/cmp/684280f4b6b935a6ac83101a03d80672bbe861c6 differ diff --git a/fuzz/corpora/cmp/68534f5be396a10122148a94c6e005bb23d410a4 b/fuzz/corpora/cmp/68534f5be396a10122148a94c6e005bb23d410a4 new file mode 100644 index 00000000..98bb335d Binary files /dev/null and b/fuzz/corpora/cmp/68534f5be396a10122148a94c6e005bb23d410a4 differ diff --git a/fuzz/corpora/cmp/68629fb3e562c59698b14d227b691a24d3ff59ab b/fuzz/corpora/cmp/68629fb3e562c59698b14d227b691a24d3ff59ab new file mode 100644 index 00000000..1566945a Binary files /dev/null and b/fuzz/corpora/cmp/68629fb3e562c59698b14d227b691a24d3ff59ab differ diff --git a/fuzz/corpora/cmp/687e9ce7d5cf4db45d1c03522a717b96d4097d64 b/fuzz/corpora/cmp/687e9ce7d5cf4db45d1c03522a717b96d4097d64 new file mode 100644 index 00000000..36fa7ab1 Binary files /dev/null and b/fuzz/corpora/cmp/687e9ce7d5cf4db45d1c03522a717b96d4097d64 differ diff --git a/fuzz/corpora/cmp/689050d5482a26f7658e771e37dde51bbbfe3d50 b/fuzz/corpora/cmp/689050d5482a26f7658e771e37dde51bbbfe3d50 new file mode 100644 index 00000000..ff169a35 Binary files /dev/null and b/fuzz/corpora/cmp/689050d5482a26f7658e771e37dde51bbbfe3d50 differ diff --git a/fuzz/corpora/cmp/68a24bf8e4aed522e4f0cfcd046555ec020bdab5 b/fuzz/corpora/cmp/68a24bf8e4aed522e4f0cfcd046555ec020bdab5 new file mode 100644 index 00000000..7793de00 Binary files /dev/null and b/fuzz/corpora/cmp/68a24bf8e4aed522e4f0cfcd046555ec020bdab5 differ diff --git a/fuzz/corpora/cmp/68a9dcc1b6401bd2422ed6ba5d13d33dfdc9585c b/fuzz/corpora/cmp/68a9dcc1b6401bd2422ed6ba5d13d33dfdc9585c new file mode 100644 index 00000000..17251776 Binary files /dev/null and b/fuzz/corpora/cmp/68a9dcc1b6401bd2422ed6ba5d13d33dfdc9585c differ diff --git a/fuzz/corpora/cmp/68c8a62922ff08a2c09ebf7244d6c347e76e6656 b/fuzz/corpora/cmp/68c8a62922ff08a2c09ebf7244d6c347e76e6656 new file mode 100644 index 00000000..b9f4a7c2 Binary files /dev/null and b/fuzz/corpora/cmp/68c8a62922ff08a2c09ebf7244d6c347e76e6656 differ diff --git a/fuzz/corpora/cmp/68d49e5d8ac30c82dd6a6325117fcf864b542afc b/fuzz/corpora/cmp/68d49e5d8ac30c82dd6a6325117fcf864b542afc new file mode 100644 index 00000000..83da598c Binary files /dev/null and b/fuzz/corpora/cmp/68d49e5d8ac30c82dd6a6325117fcf864b542afc differ diff --git a/fuzz/corpora/cmp/68e26b41f052966e4fc7128a5553b4afa265acf3 b/fuzz/corpora/cmp/68e26b41f052966e4fc7128a5553b4afa265acf3 new file mode 100644 index 00000000..9a86d364 Binary files /dev/null and b/fuzz/corpora/cmp/68e26b41f052966e4fc7128a5553b4afa265acf3 differ diff --git a/fuzz/corpora/cmp/68ff610d8b077969625c391b63833aef286ba562 b/fuzz/corpora/cmp/68ff610d8b077969625c391b63833aef286ba562 new file mode 100644 index 00000000..2d7ec5ad Binary files /dev/null and b/fuzz/corpora/cmp/68ff610d8b077969625c391b63833aef286ba562 differ diff --git a/fuzz/corpora/cmp/69159b587834300aa350af298c60c308338b7ce8 b/fuzz/corpora/cmp/69159b587834300aa350af298c60c308338b7ce8 new file mode 100644 index 00000000..c1e0326b Binary files /dev/null and b/fuzz/corpora/cmp/69159b587834300aa350af298c60c308338b7ce8 differ diff --git a/fuzz/corpora/cmp/691fea422294c323b49f8f82c51859e8782590bb b/fuzz/corpora/cmp/691fea422294c323b49f8f82c51859e8782590bb new file mode 100644 index 00000000..380c4834 Binary files /dev/null and b/fuzz/corpora/cmp/691fea422294c323b49f8f82c51859e8782590bb differ diff --git a/fuzz/corpora/cmp/69231e730525afb758a1674b439cfcb9e6d3fc78 b/fuzz/corpora/cmp/69231e730525afb758a1674b439cfcb9e6d3fc78 new file mode 100644 index 00000000..3e95de7f Binary files /dev/null and b/fuzz/corpora/cmp/69231e730525afb758a1674b439cfcb9e6d3fc78 differ diff --git a/fuzz/corpora/cmp/692c1c61587fbc7b0de9e0e87c3f83d82b9d6e71 b/fuzz/corpora/cmp/692c1c61587fbc7b0de9e0e87c3f83d82b9d6e71 new file mode 100644 index 00000000..f7455642 Binary files /dev/null and b/fuzz/corpora/cmp/692c1c61587fbc7b0de9e0e87c3f83d82b9d6e71 differ diff --git a/fuzz/corpora/cmp/693e91a7d4ac9851e841a1e08e38efe658c6a4b6 b/fuzz/corpora/cmp/693e91a7d4ac9851e841a1e08e38efe658c6a4b6 new file mode 100644 index 00000000..01fe6dc0 Binary files /dev/null and b/fuzz/corpora/cmp/693e91a7d4ac9851e841a1e08e38efe658c6a4b6 differ diff --git a/fuzz/corpora/cmp/695f3319feacb80e69a48adb5b497d7a44b8d4b4 b/fuzz/corpora/cmp/695f3319feacb80e69a48adb5b497d7a44b8d4b4 new file mode 100644 index 00000000..32354557 Binary files /dev/null and b/fuzz/corpora/cmp/695f3319feacb80e69a48adb5b497d7a44b8d4b4 differ diff --git a/fuzz/corpora/cmp/696199cd9e6d89357e09c59c4369f39d0152120a b/fuzz/corpora/cmp/696199cd9e6d89357e09c59c4369f39d0152120a new file mode 100644 index 00000000..9f80f245 Binary files /dev/null and b/fuzz/corpora/cmp/696199cd9e6d89357e09c59c4369f39d0152120a differ diff --git a/fuzz/corpora/cmp/697379c2bb6d5e2d87555df9bab8388e8b900a99 b/fuzz/corpora/cmp/697379c2bb6d5e2d87555df9bab8388e8b900a99 new file mode 100644 index 00000000..086d1ce3 Binary files /dev/null and b/fuzz/corpora/cmp/697379c2bb6d5e2d87555df9bab8388e8b900a99 differ diff --git a/fuzz/corpora/cmp/698c19459e34371178744a25087fc99d9a57cc87 b/fuzz/corpora/cmp/698c19459e34371178744a25087fc99d9a57cc87 new file mode 100644 index 00000000..eddf2f14 Binary files /dev/null and b/fuzz/corpora/cmp/698c19459e34371178744a25087fc99d9a57cc87 differ diff --git a/fuzz/corpora/cmp/69e5d4b9ec16d1d33ae525cc6fbcfdfc7ecfb7d9 b/fuzz/corpora/cmp/69e5d4b9ec16d1d33ae525cc6fbcfdfc7ecfb7d9 new file mode 100644 index 00000000..4c1a4dab Binary files /dev/null and b/fuzz/corpora/cmp/69e5d4b9ec16d1d33ae525cc6fbcfdfc7ecfb7d9 differ diff --git a/fuzz/corpora/cmp/69f0e75715bd6a1c3141727570984f449869e84d b/fuzz/corpora/cmp/69f0e75715bd6a1c3141727570984f449869e84d new file mode 100644 index 00000000..79f2c185 Binary files /dev/null and b/fuzz/corpora/cmp/69f0e75715bd6a1c3141727570984f449869e84d differ diff --git a/fuzz/corpora/cmp/6a047907345d54ba505b370610837a59b14e7734 b/fuzz/corpora/cmp/6a047907345d54ba505b370610837a59b14e7734 new file mode 100644 index 00000000..bb9bc1a6 Binary files /dev/null and b/fuzz/corpora/cmp/6a047907345d54ba505b370610837a59b14e7734 differ diff --git a/fuzz/corpora/cmp/6a0b94cecd62511482c0166530897dd0c7a32fb0 b/fuzz/corpora/cmp/6a0b94cecd62511482c0166530897dd0c7a32fb0 new file mode 100644 index 00000000..b827ff27 Binary files /dev/null and b/fuzz/corpora/cmp/6a0b94cecd62511482c0166530897dd0c7a32fb0 differ diff --git a/fuzz/corpora/cmp/6a1400dcaa1717c1cebd6ea13bf7c857b31b28af b/fuzz/corpora/cmp/6a1400dcaa1717c1cebd6ea13bf7c857b31b28af new file mode 100644 index 00000000..62cf48c0 Binary files /dev/null and b/fuzz/corpora/cmp/6a1400dcaa1717c1cebd6ea13bf7c857b31b28af differ diff --git a/fuzz/corpora/cmp/6a1c9b28808a209e14bbce211cc09ae776fe1766 b/fuzz/corpora/cmp/6a1c9b28808a209e14bbce211cc09ae776fe1766 new file mode 100644 index 00000000..001e95cd Binary files /dev/null and b/fuzz/corpora/cmp/6a1c9b28808a209e14bbce211cc09ae776fe1766 differ diff --git a/fuzz/corpora/cmp/6a1ed597990a35a753ade6493181eef1f8825ff4 b/fuzz/corpora/cmp/6a1ed597990a35a753ade6493181eef1f8825ff4 new file mode 100644 index 00000000..c352aeba Binary files /dev/null and b/fuzz/corpora/cmp/6a1ed597990a35a753ade6493181eef1f8825ff4 differ diff --git a/fuzz/corpora/cmp/6a25b895ec29e8324a287d699d7d127605e2e6da b/fuzz/corpora/cmp/6a25b895ec29e8324a287d699d7d127605e2e6da new file mode 100644 index 00000000..0a91aea2 Binary files /dev/null and b/fuzz/corpora/cmp/6a25b895ec29e8324a287d699d7d127605e2e6da differ diff --git a/fuzz/corpora/cmp/6a2d8a988022dd3012f6ec2ba1ecb3dce47b89fc b/fuzz/corpora/cmp/6a2d8a988022dd3012f6ec2ba1ecb3dce47b89fc new file mode 100644 index 00000000..4ef4e4ab Binary files /dev/null and b/fuzz/corpora/cmp/6a2d8a988022dd3012f6ec2ba1ecb3dce47b89fc differ diff --git a/fuzz/corpora/cmp/6a4c2fc1a400b7ef53d637a105fc14e7277d5282 b/fuzz/corpora/cmp/6a4c2fc1a400b7ef53d637a105fc14e7277d5282 new file mode 100644 index 00000000..f8693e19 Binary files /dev/null and b/fuzz/corpora/cmp/6a4c2fc1a400b7ef53d637a105fc14e7277d5282 differ diff --git a/fuzz/corpora/cmp/6a4d93fc5e2c2ca323602d1e9b07ad20f92a7725 b/fuzz/corpora/cmp/6a4d93fc5e2c2ca323602d1e9b07ad20f92a7725 new file mode 100644 index 00000000..a195d7db Binary files /dev/null and b/fuzz/corpora/cmp/6a4d93fc5e2c2ca323602d1e9b07ad20f92a7725 differ diff --git a/fuzz/corpora/cmp/6a4df7a77866be8ccc195b4ad04a94fa21cfbe65 b/fuzz/corpora/cmp/6a4df7a77866be8ccc195b4ad04a94fa21cfbe65 new file mode 100644 index 00000000..2b2276da Binary files /dev/null and b/fuzz/corpora/cmp/6a4df7a77866be8ccc195b4ad04a94fa21cfbe65 differ diff --git a/fuzz/corpora/cmp/6a522629b12c03cf47711cf0d507f5eb1d37a1b0 b/fuzz/corpora/cmp/6a522629b12c03cf47711cf0d507f5eb1d37a1b0 new file mode 100644 index 00000000..39576fd4 Binary files /dev/null and b/fuzz/corpora/cmp/6a522629b12c03cf47711cf0d507f5eb1d37a1b0 differ diff --git a/fuzz/corpora/cmp/6a5e53edbf6667e3b0e59c1c12bc56b938faa870 b/fuzz/corpora/cmp/6a5e53edbf6667e3b0e59c1c12bc56b938faa870 new file mode 100644 index 00000000..97a74ffb Binary files /dev/null and b/fuzz/corpora/cmp/6a5e53edbf6667e3b0e59c1c12bc56b938faa870 differ diff --git a/fuzz/corpora/cmp/6a5eb9bc376af3db5767b8f7f384a2a7fcc9dca0 b/fuzz/corpora/cmp/6a5eb9bc376af3db5767b8f7f384a2a7fcc9dca0 new file mode 100644 index 00000000..30db6cd2 Binary files /dev/null and b/fuzz/corpora/cmp/6a5eb9bc376af3db5767b8f7f384a2a7fcc9dca0 differ diff --git a/fuzz/corpora/cmp/6aced46d2b88836dc2ca521d33a712a0616d4b3d b/fuzz/corpora/cmp/6aced46d2b88836dc2ca521d33a712a0616d4b3d new file mode 100644 index 00000000..daa845b6 Binary files /dev/null and b/fuzz/corpora/cmp/6aced46d2b88836dc2ca521d33a712a0616d4b3d differ diff --git a/fuzz/corpora/cmp/6ad8e45b760e86326c77b0cc9bce73c0b089012c b/fuzz/corpora/cmp/6ad8e45b760e86326c77b0cc9bce73c0b089012c new file mode 100644 index 00000000..495d049b Binary files /dev/null and b/fuzz/corpora/cmp/6ad8e45b760e86326c77b0cc9bce73c0b089012c differ diff --git a/fuzz/corpora/cmp/6ae74e7ddf3df8a4185d5c941911491d87f922c7 b/fuzz/corpora/cmp/6ae74e7ddf3df8a4185d5c941911491d87f922c7 new file mode 100644 index 00000000..d6c59bea Binary files /dev/null and b/fuzz/corpora/cmp/6ae74e7ddf3df8a4185d5c941911491d87f922c7 differ diff --git a/fuzz/corpora/cmp/6aee90fd19c4d9ae688e4dd1fe64814f960f4b54 b/fuzz/corpora/cmp/6aee90fd19c4d9ae688e4dd1fe64814f960f4b54 new file mode 100644 index 00000000..a9808183 Binary files /dev/null and b/fuzz/corpora/cmp/6aee90fd19c4d9ae688e4dd1fe64814f960f4b54 differ diff --git a/fuzz/corpora/cmp/6af1be8f6305b1cdae701107c3c94684682ff229 b/fuzz/corpora/cmp/6af1be8f6305b1cdae701107c3c94684682ff229 new file mode 100644 index 00000000..767486d7 Binary files /dev/null and b/fuzz/corpora/cmp/6af1be8f6305b1cdae701107c3c94684682ff229 differ diff --git a/fuzz/corpora/cmp/6afc841061c7cedbfce24ad5b20a50066d8ab84b b/fuzz/corpora/cmp/6afc841061c7cedbfce24ad5b20a50066d8ab84b new file mode 100644 index 00000000..555ddb0f Binary files /dev/null and b/fuzz/corpora/cmp/6afc841061c7cedbfce24ad5b20a50066d8ab84b differ diff --git a/fuzz/corpora/cmp/6afde97c64f91a8bbf348bf2f410d712492d3eaa b/fuzz/corpora/cmp/6afde97c64f91a8bbf348bf2f410d712492d3eaa new file mode 100644 index 00000000..6b606500 Binary files /dev/null and b/fuzz/corpora/cmp/6afde97c64f91a8bbf348bf2f410d712492d3eaa differ diff --git a/fuzz/corpora/cmp/6b0b02ae6da78bea5343541446be15b7da77998d b/fuzz/corpora/cmp/6b0b02ae6da78bea5343541446be15b7da77998d new file mode 100644 index 00000000..dead2d68 Binary files /dev/null and b/fuzz/corpora/cmp/6b0b02ae6da78bea5343541446be15b7da77998d differ diff --git a/fuzz/corpora/cmp/6b11eac88348df8f832e6704e76c49a8125b5dc4 b/fuzz/corpora/cmp/6b11eac88348df8f832e6704e76c49a8125b5dc4 new file mode 100644 index 00000000..f67ffe20 Binary files /dev/null and b/fuzz/corpora/cmp/6b11eac88348df8f832e6704e76c49a8125b5dc4 differ diff --git a/fuzz/corpora/cmp/6b1708830fe1b7e0bb56a7562240c8328a2d11e1 b/fuzz/corpora/cmp/6b1708830fe1b7e0bb56a7562240c8328a2d11e1 new file mode 100644 index 00000000..f289c6dd Binary files /dev/null and b/fuzz/corpora/cmp/6b1708830fe1b7e0bb56a7562240c8328a2d11e1 differ diff --git a/fuzz/corpora/cmp/6b2ebda4ac19b2822caae59ab290d370bddf85c0 b/fuzz/corpora/cmp/6b2ebda4ac19b2822caae59ab290d370bddf85c0 new file mode 100644 index 00000000..804b7e1f Binary files /dev/null and b/fuzz/corpora/cmp/6b2ebda4ac19b2822caae59ab290d370bddf85c0 differ diff --git a/fuzz/corpora/cmp/6b3cdb809b481da5faf4d7f69a3acfe54460b5e9 b/fuzz/corpora/cmp/6b3cdb809b481da5faf4d7f69a3acfe54460b5e9 new file mode 100644 index 00000000..edda69bb Binary files /dev/null and b/fuzz/corpora/cmp/6b3cdb809b481da5faf4d7f69a3acfe54460b5e9 differ diff --git a/fuzz/corpora/cmp/6b4c3aedcc322fa9053a3e6ceb71b3d10031a87f b/fuzz/corpora/cmp/6b4c3aedcc322fa9053a3e6ceb71b3d10031a87f new file mode 100644 index 00000000..fa2cf753 Binary files /dev/null and b/fuzz/corpora/cmp/6b4c3aedcc322fa9053a3e6ceb71b3d10031a87f differ diff --git a/fuzz/corpora/cmp/6b51096f87c497e0fe23b953ee2e87ec67406e0d b/fuzz/corpora/cmp/6b51096f87c497e0fe23b953ee2e87ec67406e0d new file mode 100644 index 00000000..2c064f63 Binary files /dev/null and b/fuzz/corpora/cmp/6b51096f87c497e0fe23b953ee2e87ec67406e0d differ diff --git a/fuzz/corpora/cmp/6b5d19446c8346d45bb1fef6e048271bbc50f0df b/fuzz/corpora/cmp/6b5d19446c8346d45bb1fef6e048271bbc50f0df new file mode 100644 index 00000000..f9ac3591 Binary files /dev/null and b/fuzz/corpora/cmp/6b5d19446c8346d45bb1fef6e048271bbc50f0df differ diff --git a/fuzz/corpora/cmp/6b81144fdd5b8d45ade347db8126d3b125852a8f b/fuzz/corpora/cmp/6b81144fdd5b8d45ade347db8126d3b125852a8f new file mode 100644 index 00000000..2873808c Binary files /dev/null and b/fuzz/corpora/cmp/6b81144fdd5b8d45ade347db8126d3b125852a8f differ diff --git a/fuzz/corpora/cmp/6ba0c35e2b542172680ba7252c8d3ed3dabbc7f3 b/fuzz/corpora/cmp/6ba0c35e2b542172680ba7252c8d3ed3dabbc7f3 new file mode 100644 index 00000000..34f134e2 Binary files /dev/null and b/fuzz/corpora/cmp/6ba0c35e2b542172680ba7252c8d3ed3dabbc7f3 differ diff --git a/fuzz/corpora/cmp/6bad5c3a7d82b6adbaeb322f7049c1aef6fa63d1 b/fuzz/corpora/cmp/6bad5c3a7d82b6adbaeb322f7049c1aef6fa63d1 new file mode 100644 index 00000000..d1bed780 Binary files /dev/null and b/fuzz/corpora/cmp/6bad5c3a7d82b6adbaeb322f7049c1aef6fa63d1 differ diff --git a/fuzz/corpora/cmp/6bf186ee28fa098b09f86e3eaf82ae99d29cb5ed b/fuzz/corpora/cmp/6bf186ee28fa098b09f86e3eaf82ae99d29cb5ed new file mode 100644 index 00000000..ae8a9861 Binary files /dev/null and b/fuzz/corpora/cmp/6bf186ee28fa098b09f86e3eaf82ae99d29cb5ed differ diff --git a/fuzz/corpora/cmp/6c1070e396c7995bebd1158af0128f4b61511eb7 b/fuzz/corpora/cmp/6c1070e396c7995bebd1158af0128f4b61511eb7 new file mode 100644 index 00000000..66483616 Binary files /dev/null and b/fuzz/corpora/cmp/6c1070e396c7995bebd1158af0128f4b61511eb7 differ diff --git a/fuzz/corpora/cmp/6c1584a64185ddfc292b4a0225c9b6a22b2ad228 b/fuzz/corpora/cmp/6c1584a64185ddfc292b4a0225c9b6a22b2ad228 new file mode 100644 index 00000000..ed6c4f2d Binary files /dev/null and b/fuzz/corpora/cmp/6c1584a64185ddfc292b4a0225c9b6a22b2ad228 differ diff --git a/fuzz/corpora/cmp/6c2e6732f13b7b611fd466e41ce036a2e5535880 b/fuzz/corpora/cmp/6c2e6732f13b7b611fd466e41ce036a2e5535880 new file mode 100644 index 00000000..1809e5bf Binary files /dev/null and b/fuzz/corpora/cmp/6c2e6732f13b7b611fd466e41ce036a2e5535880 differ diff --git a/fuzz/corpora/cmp/6c303bad3801969a1dacd2cae5b919780b130675 b/fuzz/corpora/cmp/6c303bad3801969a1dacd2cae5b919780b130675 new file mode 100644 index 00000000..4e1cfd53 Binary files /dev/null and b/fuzz/corpora/cmp/6c303bad3801969a1dacd2cae5b919780b130675 differ diff --git a/fuzz/corpora/cmp/6c5063072477d429edf82baa7d970813984c0779 b/fuzz/corpora/cmp/6c5063072477d429edf82baa7d970813984c0779 new file mode 100644 index 00000000..63fc76ca Binary files /dev/null and b/fuzz/corpora/cmp/6c5063072477d429edf82baa7d970813984c0779 differ diff --git a/fuzz/corpora/cmp/6c5a0de00a2bfb230dfde807a03291b7723d90dd b/fuzz/corpora/cmp/6c5a0de00a2bfb230dfde807a03291b7723d90dd new file mode 100644 index 00000000..d850d70f Binary files /dev/null and b/fuzz/corpora/cmp/6c5a0de00a2bfb230dfde807a03291b7723d90dd differ diff --git a/fuzz/corpora/cmp/6c70eb103e84a8478e1127e5101fafa475d84f61 b/fuzz/corpora/cmp/6c70eb103e84a8478e1127e5101fafa475d84f61 new file mode 100644 index 00000000..edd0a5e4 Binary files /dev/null and b/fuzz/corpora/cmp/6c70eb103e84a8478e1127e5101fafa475d84f61 differ diff --git a/fuzz/corpora/cmp/6c7767a7eec1033baa9b91aa16a3384891d4c840 b/fuzz/corpora/cmp/6c7767a7eec1033baa9b91aa16a3384891d4c840 new file mode 100644 index 00000000..00a1f867 Binary files /dev/null and b/fuzz/corpora/cmp/6c7767a7eec1033baa9b91aa16a3384891d4c840 differ diff --git a/fuzz/corpora/cmp/6c7fef6fb07154955a2655ff7ec0ddd44822837b b/fuzz/corpora/cmp/6c7fef6fb07154955a2655ff7ec0ddd44822837b new file mode 100644 index 00000000..8fc85b82 Binary files /dev/null and b/fuzz/corpora/cmp/6c7fef6fb07154955a2655ff7ec0ddd44822837b differ diff --git a/fuzz/corpora/cmp/6c9207eb57f4cc78bb0224c6792d9bda79611c96 b/fuzz/corpora/cmp/6c9207eb57f4cc78bb0224c6792d9bda79611c96 new file mode 100644 index 00000000..8df4a7be Binary files /dev/null and b/fuzz/corpora/cmp/6c9207eb57f4cc78bb0224c6792d9bda79611c96 differ diff --git a/fuzz/corpora/cmp/6c93dd5dda4330e0b47a697f69e561e0519cf63d b/fuzz/corpora/cmp/6c93dd5dda4330e0b47a697f69e561e0519cf63d new file mode 100644 index 00000000..8410a175 Binary files /dev/null and b/fuzz/corpora/cmp/6c93dd5dda4330e0b47a697f69e561e0519cf63d differ diff --git a/fuzz/corpora/cmp/6c9932ae4262b85e204882f7f85989444e2a38e6 b/fuzz/corpora/cmp/6c9932ae4262b85e204882f7f85989444e2a38e6 new file mode 100644 index 00000000..be33a8f2 Binary files /dev/null and b/fuzz/corpora/cmp/6c9932ae4262b85e204882f7f85989444e2a38e6 differ diff --git a/fuzz/corpora/cmp/6ca05cd7477729fac7430c01a265025531cbab72 b/fuzz/corpora/cmp/6ca05cd7477729fac7430c01a265025531cbab72 new file mode 100644 index 00000000..acd691e9 Binary files /dev/null and b/fuzz/corpora/cmp/6ca05cd7477729fac7430c01a265025531cbab72 differ diff --git a/fuzz/corpora/cmp/6ca6125ababbaae4edd4fb527bb4449f374d07af b/fuzz/corpora/cmp/6ca6125ababbaae4edd4fb527bb4449f374d07af new file mode 100644 index 00000000..206a0653 Binary files /dev/null and b/fuzz/corpora/cmp/6ca6125ababbaae4edd4fb527bb4449f374d07af differ diff --git a/fuzz/corpora/cmp/6cb23d42117a41e13080bf6767d6724137e5eaa3 b/fuzz/corpora/cmp/6cb23d42117a41e13080bf6767d6724137e5eaa3 new file mode 100644 index 00000000..554bc5e9 Binary files /dev/null and b/fuzz/corpora/cmp/6cb23d42117a41e13080bf6767d6724137e5eaa3 differ diff --git a/fuzz/corpora/cmp/6cb706428e21df6b8f5c0872d7eda187510a337a b/fuzz/corpora/cmp/6cb706428e21df6b8f5c0872d7eda187510a337a new file mode 100644 index 00000000..7ee03b7e Binary files /dev/null and b/fuzz/corpora/cmp/6cb706428e21df6b8f5c0872d7eda187510a337a differ diff --git a/fuzz/corpora/cmp/6cdad3e8f4bf9ee313c2e8e7b27de9fa2fe9697c b/fuzz/corpora/cmp/6cdad3e8f4bf9ee313c2e8e7b27de9fa2fe9697c new file mode 100644 index 00000000..c2205a8a Binary files /dev/null and b/fuzz/corpora/cmp/6cdad3e8f4bf9ee313c2e8e7b27de9fa2fe9697c differ diff --git a/fuzz/corpora/cmp/6cecbc054f60931e21de8d6c04d266d0830e093b b/fuzz/corpora/cmp/6cecbc054f60931e21de8d6c04d266d0830e093b new file mode 100644 index 00000000..fe11fb9c --- /dev/null +++ b/fuzz/corpora/cmp/6cecbc054f60931e21de8d6c04d266d0830e093b @@ -0,0 +1 @@ +,€ -*ÿÿÿ-qÿ]ÿÿÿ€vvvv, \ No newline at end of file diff --git a/fuzz/corpora/cmp/6d01a7b1226d14cd2342395829c97a70f82b7e9c b/fuzz/corpora/cmp/6d01a7b1226d14cd2342395829c97a70f82b7e9c new file mode 100644 index 00000000..ffc50360 Binary files /dev/null and b/fuzz/corpora/cmp/6d01a7b1226d14cd2342395829c97a70f82b7e9c differ diff --git a/fuzz/corpora/cmp/6d02b5d4fa413238c318d5bcccfe1b54b2ab3347 b/fuzz/corpora/cmp/6d02b5d4fa413238c318d5bcccfe1b54b2ab3347 new file mode 100644 index 00000000..be8d3bcb Binary files /dev/null and b/fuzz/corpora/cmp/6d02b5d4fa413238c318d5bcccfe1b54b2ab3347 differ diff --git a/fuzz/corpora/cmp/6d3298b470fb2f1266c2258bdb60366ee5ed973d b/fuzz/corpora/cmp/6d3298b470fb2f1266c2258bdb60366ee5ed973d new file mode 100644 index 00000000..4b6ad644 Binary files /dev/null and b/fuzz/corpora/cmp/6d3298b470fb2f1266c2258bdb60366ee5ed973d differ diff --git a/fuzz/corpora/cmp/6d3cca21179e75cc4493bb75c3a78640d664190d b/fuzz/corpora/cmp/6d3cca21179e75cc4493bb75c3a78640d664190d new file mode 100644 index 00000000..dbd5570b Binary files /dev/null and b/fuzz/corpora/cmp/6d3cca21179e75cc4493bb75c3a78640d664190d differ diff --git a/fuzz/corpora/cmp/6d46caf84af2b19e9df519e70accf3b678059a67 b/fuzz/corpora/cmp/6d46caf84af2b19e9df519e70accf3b678059a67 new file mode 100644 index 00000000..b9d248b4 Binary files /dev/null and b/fuzz/corpora/cmp/6d46caf84af2b19e9df519e70accf3b678059a67 differ diff --git a/fuzz/corpora/cmp/6d4b11bb31f395d8f67b5ae766ddb76850e84e1e b/fuzz/corpora/cmp/6d4b11bb31f395d8f67b5ae766ddb76850e84e1e new file mode 100644 index 00000000..983b8115 Binary files /dev/null and b/fuzz/corpora/cmp/6d4b11bb31f395d8f67b5ae766ddb76850e84e1e differ diff --git a/fuzz/corpora/cmp/6d57e6a721b9b516d30d11a414f76f5bfb2140c9 b/fuzz/corpora/cmp/6d57e6a721b9b516d30d11a414f76f5bfb2140c9 new file mode 100644 index 00000000..46b8d986 Binary files /dev/null and b/fuzz/corpora/cmp/6d57e6a721b9b516d30d11a414f76f5bfb2140c9 differ diff --git a/fuzz/corpora/cmp/6d6fb71c06bac8c81693d879971028455ae40e3e b/fuzz/corpora/cmp/6d6fb71c06bac8c81693d879971028455ae40e3e new file mode 100644 index 00000000..e93aafc9 Binary files /dev/null and b/fuzz/corpora/cmp/6d6fb71c06bac8c81693d879971028455ae40e3e differ diff --git a/fuzz/corpora/cmp/6d85ead9ba7fd52fb0720467dbe14784bf19c7b1 b/fuzz/corpora/cmp/6d85ead9ba7fd52fb0720467dbe14784bf19c7b1 new file mode 100644 index 00000000..1e14163a Binary files /dev/null and b/fuzz/corpora/cmp/6d85ead9ba7fd52fb0720467dbe14784bf19c7b1 differ diff --git a/fuzz/corpora/cmp/6d96480a5988df681359f9276ae1913bf031c551 b/fuzz/corpora/cmp/6d96480a5988df681359f9276ae1913bf031c551 new file mode 100644 index 00000000..c7fb7dc6 Binary files /dev/null and b/fuzz/corpora/cmp/6d96480a5988df681359f9276ae1913bf031c551 differ diff --git a/fuzz/corpora/cmp/6d9bbdcbf465fbca1029c7bfa43cc9709f26fd0f b/fuzz/corpora/cmp/6d9bbdcbf465fbca1029c7bfa43cc9709f26fd0f new file mode 100644 index 00000000..92e71e3c Binary files /dev/null and b/fuzz/corpora/cmp/6d9bbdcbf465fbca1029c7bfa43cc9709f26fd0f differ diff --git a/fuzz/corpora/cmp/6d9e8849bf96626bc0511f2e1436f107afd157f2 b/fuzz/corpora/cmp/6d9e8849bf96626bc0511f2e1436f107afd157f2 new file mode 100644 index 00000000..2eb92c7e Binary files /dev/null and b/fuzz/corpora/cmp/6d9e8849bf96626bc0511f2e1436f107afd157f2 differ diff --git a/fuzz/corpora/cmp/6da416b3537afe09538a1db3ccb625462259b97e b/fuzz/corpora/cmp/6da416b3537afe09538a1db3ccb625462259b97e new file mode 100644 index 00000000..d9b95249 Binary files /dev/null and b/fuzz/corpora/cmp/6da416b3537afe09538a1db3ccb625462259b97e differ diff --git a/fuzz/corpora/cmp/6da46b00282b01abb534beb2c7fdb02ddb61081c b/fuzz/corpora/cmp/6da46b00282b01abb534beb2c7fdb02ddb61081c new file mode 100644 index 00000000..98f37c30 Binary files /dev/null and b/fuzz/corpora/cmp/6da46b00282b01abb534beb2c7fdb02ddb61081c differ diff --git a/fuzz/corpora/cmp/6da5733cd4426d69f0887352f26028497a56e1ad b/fuzz/corpora/cmp/6da5733cd4426d69f0887352f26028497a56e1ad new file mode 100644 index 00000000..10215cdf Binary files /dev/null and b/fuzz/corpora/cmp/6da5733cd4426d69f0887352f26028497a56e1ad differ diff --git a/fuzz/corpora/cmp/6db08cff2726886440abb6baca919533ad5d62ec b/fuzz/corpora/cmp/6db08cff2726886440abb6baca919533ad5d62ec new file mode 100644 index 00000000..943f08c2 Binary files /dev/null and b/fuzz/corpora/cmp/6db08cff2726886440abb6baca919533ad5d62ec differ diff --git a/fuzz/corpora/cmp/6dbedf39686bf4de3104fcd4f3c786e0a55f9eb9 b/fuzz/corpora/cmp/6dbedf39686bf4de3104fcd4f3c786e0a55f9eb9 new file mode 100644 index 00000000..4c2e04fc Binary files /dev/null and b/fuzz/corpora/cmp/6dbedf39686bf4de3104fcd4f3c786e0a55f9eb9 differ diff --git a/fuzz/corpora/cmp/6dc6f3af9131a29524ad5583c7cdb489cb24d5ac b/fuzz/corpora/cmp/6dc6f3af9131a29524ad5583c7cdb489cb24d5ac new file mode 100644 index 00000000..3f5b89db Binary files /dev/null and b/fuzz/corpora/cmp/6dc6f3af9131a29524ad5583c7cdb489cb24d5ac differ diff --git a/fuzz/corpora/cmp/6dcbaa665da3649b69dd43e7d4b70bfd0a3bc26e b/fuzz/corpora/cmp/6dcbaa665da3649b69dd43e7d4b70bfd0a3bc26e new file mode 100644 index 00000000..ec081db8 Binary files /dev/null and b/fuzz/corpora/cmp/6dcbaa665da3649b69dd43e7d4b70bfd0a3bc26e differ diff --git a/fuzz/corpora/cmp/6dcffb745b7ba6d2d2e36ed67566aaf71ba793b2 b/fuzz/corpora/cmp/6dcffb745b7ba6d2d2e36ed67566aaf71ba793b2 new file mode 100644 index 00000000..03832907 Binary files /dev/null and b/fuzz/corpora/cmp/6dcffb745b7ba6d2d2e36ed67566aaf71ba793b2 differ diff --git a/fuzz/corpora/cmp/6de6af88faa645dae435c658eadc58bfe0867269 b/fuzz/corpora/cmp/6de6af88faa645dae435c658eadc58bfe0867269 new file mode 100644 index 00000000..6e8bec0e Binary files /dev/null and b/fuzz/corpora/cmp/6de6af88faa645dae435c658eadc58bfe0867269 differ diff --git a/fuzz/corpora/cmp/6df4871f9f8b77949fbc7fd6200985239d7a5428 b/fuzz/corpora/cmp/6df4871f9f8b77949fbc7fd6200985239d7a5428 new file mode 100644 index 00000000..c9fe7185 Binary files /dev/null and b/fuzz/corpora/cmp/6df4871f9f8b77949fbc7fd6200985239d7a5428 differ diff --git a/fuzz/corpora/cmp/6df6acc196159335e4e2bb468106e70a597adfa8 b/fuzz/corpora/cmp/6df6acc196159335e4e2bb468106e70a597adfa8 new file mode 100644 index 00000000..7aa65d69 Binary files /dev/null and b/fuzz/corpora/cmp/6df6acc196159335e4e2bb468106e70a597adfa8 differ diff --git a/fuzz/corpora/cmp/6dfb77121c3f6c79c6148c4f27bdc5330f16fb8f b/fuzz/corpora/cmp/6dfb77121c3f6c79c6148c4f27bdc5330f16fb8f new file mode 100644 index 00000000..7998da04 Binary files /dev/null and b/fuzz/corpora/cmp/6dfb77121c3f6c79c6148c4f27bdc5330f16fb8f differ diff --git a/fuzz/corpora/cmp/6e0c2456d22fc12d8af0a070ca74179208a5e77e b/fuzz/corpora/cmp/6e0c2456d22fc12d8af0a070ca74179208a5e77e new file mode 100644 index 00000000..0c253d93 Binary files /dev/null and b/fuzz/corpora/cmp/6e0c2456d22fc12d8af0a070ca74179208a5e77e differ diff --git a/fuzz/corpora/cmp/6e0ddba0f6eac81f6ca145318ee235179b0b1b44 b/fuzz/corpora/cmp/6e0ddba0f6eac81f6ca145318ee235179b0b1b44 new file mode 100644 index 00000000..5c5ce1c2 Binary files /dev/null and b/fuzz/corpora/cmp/6e0ddba0f6eac81f6ca145318ee235179b0b1b44 differ diff --git a/fuzz/corpora/cmp/6e16b203eec89e282a780abc4d7b9ebfb1c000e8 b/fuzz/corpora/cmp/6e16b203eec89e282a780abc4d7b9ebfb1c000e8 new file mode 100644 index 00000000..2dbeb935 Binary files /dev/null and b/fuzz/corpora/cmp/6e16b203eec89e282a780abc4d7b9ebfb1c000e8 differ diff --git a/fuzz/corpora/cmp/6e36fe454a53419a154a3ebee62da80c3ed34f4a b/fuzz/corpora/cmp/6e36fe454a53419a154a3ebee62da80c3ed34f4a new file mode 100644 index 00000000..b939b0bb Binary files /dev/null and b/fuzz/corpora/cmp/6e36fe454a53419a154a3ebee62da80c3ed34f4a differ diff --git a/fuzz/corpora/cmp/6e3e1e6355e25a53692883be6fcad6aaef7730fd b/fuzz/corpora/cmp/6e3e1e6355e25a53692883be6fcad6aaef7730fd new file mode 100644 index 00000000..588350b2 Binary files /dev/null and b/fuzz/corpora/cmp/6e3e1e6355e25a53692883be6fcad6aaef7730fd differ diff --git a/fuzz/corpora/cmp/6e4887d37dcccbbeb612fa4c25ae90910fee1681 b/fuzz/corpora/cmp/6e4887d37dcccbbeb612fa4c25ae90910fee1681 new file mode 100644 index 00000000..40ef250f Binary files /dev/null and b/fuzz/corpora/cmp/6e4887d37dcccbbeb612fa4c25ae90910fee1681 differ diff --git a/fuzz/corpora/cmp/6e507cf8d2d0a7f112a66af814b82c76b2b64bca b/fuzz/corpora/cmp/6e507cf8d2d0a7f112a66af814b82c76b2b64bca new file mode 100644 index 00000000..4bbbb7d9 Binary files /dev/null and b/fuzz/corpora/cmp/6e507cf8d2d0a7f112a66af814b82c76b2b64bca differ diff --git a/fuzz/corpora/cmp/6e56ed8729d8e0f3fba773414b3af9e1b8dec831 b/fuzz/corpora/cmp/6e56ed8729d8e0f3fba773414b3af9e1b8dec831 new file mode 100644 index 00000000..1e1d9529 Binary files /dev/null and b/fuzz/corpora/cmp/6e56ed8729d8e0f3fba773414b3af9e1b8dec831 differ diff --git a/fuzz/corpora/cmp/6e5e9b737a40ec95afa2f3e673a413cf42ab6cc7 b/fuzz/corpora/cmp/6e5e9b737a40ec95afa2f3e673a413cf42ab6cc7 new file mode 100644 index 00000000..4e130d26 Binary files /dev/null and b/fuzz/corpora/cmp/6e5e9b737a40ec95afa2f3e673a413cf42ab6cc7 differ diff --git a/fuzz/corpora/cmp/6e64a109f4386bd24eee17b39a79ac83528b3a1a b/fuzz/corpora/cmp/6e64a109f4386bd24eee17b39a79ac83528b3a1a new file mode 100644 index 00000000..92818e19 Binary files /dev/null and b/fuzz/corpora/cmp/6e64a109f4386bd24eee17b39a79ac83528b3a1a differ diff --git a/fuzz/corpora/cmp/6e6dacc6a5834a1b1d476df0e79894f4cecd41ee b/fuzz/corpora/cmp/6e6dacc6a5834a1b1d476df0e79894f4cecd41ee new file mode 100644 index 00000000..6bc0bf07 Binary files /dev/null and b/fuzz/corpora/cmp/6e6dacc6a5834a1b1d476df0e79894f4cecd41ee differ diff --git a/fuzz/corpora/cmp/6e6fa9aa5ba1106235c767e933be5d7bbd997e5c b/fuzz/corpora/cmp/6e6fa9aa5ba1106235c767e933be5d7bbd997e5c new file mode 100644 index 00000000..ac440672 Binary files /dev/null and b/fuzz/corpora/cmp/6e6fa9aa5ba1106235c767e933be5d7bbd997e5c differ diff --git a/fuzz/corpora/cmp/6e8f2b234f2234338ae2f8c28a55dff7a09311a7 b/fuzz/corpora/cmp/6e8f2b234f2234338ae2f8c28a55dff7a09311a7 new file mode 100644 index 00000000..9be82a0d Binary files /dev/null and b/fuzz/corpora/cmp/6e8f2b234f2234338ae2f8c28a55dff7a09311a7 differ diff --git a/fuzz/corpora/cmp/6ec1f5e35472028879cbb0a2cba123f327d1495e b/fuzz/corpora/cmp/6ec1f5e35472028879cbb0a2cba123f327d1495e new file mode 100644 index 00000000..cb1c3da0 Binary files /dev/null and b/fuzz/corpora/cmp/6ec1f5e35472028879cbb0a2cba123f327d1495e differ diff --git a/fuzz/corpora/cmp/6ec34ae15fe54900b934e65e9f70fc691d570b75 b/fuzz/corpora/cmp/6ec34ae15fe54900b934e65e9f70fc691d570b75 new file mode 100644 index 00000000..e900361f Binary files /dev/null and b/fuzz/corpora/cmp/6ec34ae15fe54900b934e65e9f70fc691d570b75 differ diff --git a/fuzz/corpora/cmp/6ec568d45fef57608a6ec7118727e44562df6d62 b/fuzz/corpora/cmp/6ec568d45fef57608a6ec7118727e44562df6d62 new file mode 100644 index 00000000..3da694d0 Binary files /dev/null and b/fuzz/corpora/cmp/6ec568d45fef57608a6ec7118727e44562df6d62 differ diff --git a/fuzz/corpora/cmp/6ed584e587ac916aef307267baf64c21836ab195 b/fuzz/corpora/cmp/6ed584e587ac916aef307267baf64c21836ab195 new file mode 100644 index 00000000..50f995da Binary files /dev/null and b/fuzz/corpora/cmp/6ed584e587ac916aef307267baf64c21836ab195 differ diff --git a/fuzz/corpora/cmp/6edc99bcd093fd7d1f5e4af8a14394e6c003c587 b/fuzz/corpora/cmp/6edc99bcd093fd7d1f5e4af8a14394e6c003c587 new file mode 100644 index 00000000..c08ec894 Binary files /dev/null and b/fuzz/corpora/cmp/6edc99bcd093fd7d1f5e4af8a14394e6c003c587 differ diff --git a/fuzz/corpora/cmp/6f14dbcc2ca6b835620a904bf8297eb86b75aebb b/fuzz/corpora/cmp/6f14dbcc2ca6b835620a904bf8297eb86b75aebb new file mode 100644 index 00000000..e1422c58 Binary files /dev/null and b/fuzz/corpora/cmp/6f14dbcc2ca6b835620a904bf8297eb86b75aebb differ diff --git a/fuzz/corpora/cmp/6f19a8dd5962fead2f544b1ee91061f512898032 b/fuzz/corpora/cmp/6f19a8dd5962fead2f544b1ee91061f512898032 new file mode 100644 index 00000000..b337238b Binary files /dev/null and b/fuzz/corpora/cmp/6f19a8dd5962fead2f544b1ee91061f512898032 differ diff --git a/fuzz/corpora/cmp/6f34f23869a2335f587c1bf5dd69ab70b6a51cc4 b/fuzz/corpora/cmp/6f34f23869a2335f587c1bf5dd69ab70b6a51cc4 new file mode 100644 index 00000000..701fcdee Binary files /dev/null and b/fuzz/corpora/cmp/6f34f23869a2335f587c1bf5dd69ab70b6a51cc4 differ diff --git a/fuzz/corpora/cmp/6f3516960d0166ab9b2f9164a0519ba15377442c b/fuzz/corpora/cmp/6f3516960d0166ab9b2f9164a0519ba15377442c new file mode 100644 index 00000000..22868018 Binary files /dev/null and b/fuzz/corpora/cmp/6f3516960d0166ab9b2f9164a0519ba15377442c differ diff --git a/fuzz/corpora/cmp/6f6a953de9680b0c3d018c575c4b7f5650d51f30 b/fuzz/corpora/cmp/6f6a953de9680b0c3d018c575c4b7f5650d51f30 new file mode 100644 index 00000000..beba87e3 Binary files /dev/null and b/fuzz/corpora/cmp/6f6a953de9680b0c3d018c575c4b7f5650d51f30 differ diff --git a/fuzz/corpora/cmp/6fc788a1826ae5484ec559925bab409d1afa52fd b/fuzz/corpora/cmp/6fc788a1826ae5484ec559925bab409d1afa52fd new file mode 100644 index 00000000..6c1b4822 Binary files /dev/null and b/fuzz/corpora/cmp/6fc788a1826ae5484ec559925bab409d1afa52fd differ diff --git a/fuzz/corpora/cmp/6fd42e671f3c23f96264054d2845e968b880b131 b/fuzz/corpora/cmp/6fd42e671f3c23f96264054d2845e968b880b131 new file mode 100644 index 00000000..244c610d Binary files /dev/null and b/fuzz/corpora/cmp/6fd42e671f3c23f96264054d2845e968b880b131 differ diff --git a/fuzz/corpora/cmp/6fd5cbd43968dd2a69c0f40679a3675c8a4855f7 b/fuzz/corpora/cmp/6fd5cbd43968dd2a69c0f40679a3675c8a4855f7 new file mode 100644 index 00000000..d1a84514 Binary files /dev/null and b/fuzz/corpora/cmp/6fd5cbd43968dd2a69c0f40679a3675c8a4855f7 differ diff --git a/fuzz/corpora/cmp/6fdc76e64f69e190e5af7464994aec7691d232bc b/fuzz/corpora/cmp/6fdc76e64f69e190e5af7464994aec7691d232bc new file mode 100644 index 00000000..f9c402d8 Binary files /dev/null and b/fuzz/corpora/cmp/6fdc76e64f69e190e5af7464994aec7691d232bc differ diff --git a/fuzz/corpora/cmp/6fe392cf27d6be54039c34ec647a05f9f65e3d02 b/fuzz/corpora/cmp/6fe392cf27d6be54039c34ec647a05f9f65e3d02 new file mode 100644 index 00000000..34e1527b Binary files /dev/null and b/fuzz/corpora/cmp/6fe392cf27d6be54039c34ec647a05f9f65e3d02 differ diff --git a/fuzz/corpora/cmp/700076c3ab6e3a648aed6863c7e786e7c3c26a7c b/fuzz/corpora/cmp/700076c3ab6e3a648aed6863c7e786e7c3c26a7c new file mode 100644 index 00000000..475ffe26 Binary files /dev/null and b/fuzz/corpora/cmp/700076c3ab6e3a648aed6863c7e786e7c3c26a7c differ diff --git a/fuzz/corpora/cmp/700db458f7b16c6b5363c6136a0c447a0535ac5f b/fuzz/corpora/cmp/700db458f7b16c6b5363c6136a0c447a0535ac5f new file mode 100644 index 00000000..8d022039 Binary files /dev/null and b/fuzz/corpora/cmp/700db458f7b16c6b5363c6136a0c447a0535ac5f differ diff --git a/fuzz/corpora/cmp/7013c74254b14945bae27ac27939c713f86002d1 b/fuzz/corpora/cmp/7013c74254b14945bae27ac27939c713f86002d1 new file mode 100644 index 00000000..bf889008 Binary files /dev/null and b/fuzz/corpora/cmp/7013c74254b14945bae27ac27939c713f86002d1 differ diff --git a/fuzz/corpora/cmp/7020bd513919e9f525087af5a69ac735ed56f18b b/fuzz/corpora/cmp/7020bd513919e9f525087af5a69ac735ed56f18b new file mode 100644 index 00000000..0ac5a116 Binary files /dev/null and b/fuzz/corpora/cmp/7020bd513919e9f525087af5a69ac735ed56f18b differ diff --git a/fuzz/corpora/cmp/702821d0dfca23086a661599d4823ee196205f0a b/fuzz/corpora/cmp/702821d0dfca23086a661599d4823ee196205f0a new file mode 100644 index 00000000..451bf642 Binary files /dev/null and b/fuzz/corpora/cmp/702821d0dfca23086a661599d4823ee196205f0a differ diff --git a/fuzz/corpora/cmp/703097a684dce41cb5431ae220928a17aba47e30 b/fuzz/corpora/cmp/703097a684dce41cb5431ae220928a17aba47e30 new file mode 100644 index 00000000..2ee2ffdd Binary files /dev/null and b/fuzz/corpora/cmp/703097a684dce41cb5431ae220928a17aba47e30 differ diff --git a/fuzz/corpora/cmp/70349101b241322205924ad4933e5a70f15c8ec1 b/fuzz/corpora/cmp/70349101b241322205924ad4933e5a70f15c8ec1 new file mode 100644 index 00000000..efdf9d6d Binary files /dev/null and b/fuzz/corpora/cmp/70349101b241322205924ad4933e5a70f15c8ec1 differ diff --git a/fuzz/corpora/cmp/703f01ce96bd45165efcc961599e2c413e8bcd7c b/fuzz/corpora/cmp/703f01ce96bd45165efcc961599e2c413e8bcd7c new file mode 100644 index 00000000..2e5db02c Binary files /dev/null and b/fuzz/corpora/cmp/703f01ce96bd45165efcc961599e2c413e8bcd7c differ diff --git a/fuzz/corpora/cmp/70492a5b8d87053a555452ca45419325eb0396cd b/fuzz/corpora/cmp/70492a5b8d87053a555452ca45419325eb0396cd new file mode 100644 index 00000000..cb067c6f Binary files /dev/null and b/fuzz/corpora/cmp/70492a5b8d87053a555452ca45419325eb0396cd differ diff --git a/fuzz/corpora/cmp/705c22cfbae8ac474497d3476b8f0c8d832d7999 b/fuzz/corpora/cmp/705c22cfbae8ac474497d3476b8f0c8d832d7999 new file mode 100644 index 00000000..eef57366 Binary files /dev/null and b/fuzz/corpora/cmp/705c22cfbae8ac474497d3476b8f0c8d832d7999 differ diff --git a/fuzz/corpora/cmp/706e4151b4e6d0d1535cae2e1ca636f96e06f836 b/fuzz/corpora/cmp/706e4151b4e6d0d1535cae2e1ca636f96e06f836 new file mode 100644 index 00000000..ec3ac591 Binary files /dev/null and b/fuzz/corpora/cmp/706e4151b4e6d0d1535cae2e1ca636f96e06f836 differ diff --git a/fuzz/corpora/cmp/7075478d67a5f2a4b28cf3594cec9dca3f706f5c b/fuzz/corpora/cmp/7075478d67a5f2a4b28cf3594cec9dca3f706f5c new file mode 100644 index 00000000..7c2539cc Binary files /dev/null and b/fuzz/corpora/cmp/7075478d67a5f2a4b28cf3594cec9dca3f706f5c differ diff --git a/fuzz/corpora/cmp/707570db2bf7f02a80af64e5fcd52a4d8786e6e6 b/fuzz/corpora/cmp/707570db2bf7f02a80af64e5fcd52a4d8786e6e6 new file mode 100644 index 00000000..75f09a5a Binary files /dev/null and b/fuzz/corpora/cmp/707570db2bf7f02a80af64e5fcd52a4d8786e6e6 differ diff --git a/fuzz/corpora/cmp/708625c4823b44b9d8078f194e42191dba2caa0f b/fuzz/corpora/cmp/708625c4823b44b9d8078f194e42191dba2caa0f new file mode 100644 index 00000000..9ed46f0f Binary files /dev/null and b/fuzz/corpora/cmp/708625c4823b44b9d8078f194e42191dba2caa0f differ diff --git a/fuzz/corpora/cmp/7098be8200e656243a4d89f45ac8c7800edad7d3 b/fuzz/corpora/cmp/7098be8200e656243a4d89f45ac8c7800edad7d3 new file mode 100644 index 00000000..a4e25c94 Binary files /dev/null and b/fuzz/corpora/cmp/7098be8200e656243a4d89f45ac8c7800edad7d3 differ diff --git a/fuzz/corpora/cmp/709dd3480bce2e2afe1a333ad31a85c0ee4c4090 b/fuzz/corpora/cmp/709dd3480bce2e2afe1a333ad31a85c0ee4c4090 new file mode 100644 index 00000000..e697de96 Binary files /dev/null and b/fuzz/corpora/cmp/709dd3480bce2e2afe1a333ad31a85c0ee4c4090 differ diff --git a/fuzz/corpora/cmp/709f52a2b7259149a6ac6323bba34a8862cf2cb4 b/fuzz/corpora/cmp/709f52a2b7259149a6ac6323bba34a8862cf2cb4 new file mode 100644 index 00000000..fecbbdfb Binary files /dev/null and b/fuzz/corpora/cmp/709f52a2b7259149a6ac6323bba34a8862cf2cb4 differ diff --git a/fuzz/corpora/cmp/70a4a6953b25a1a45d49573898479fd552425bee b/fuzz/corpora/cmp/70a4a6953b25a1a45d49573898479fd552425bee new file mode 100644 index 00000000..223d02d3 Binary files /dev/null and b/fuzz/corpora/cmp/70a4a6953b25a1a45d49573898479fd552425bee differ diff --git a/fuzz/corpora/cmp/70a57763a9270d1c77ca240cd04c2d0018b7cd60 b/fuzz/corpora/cmp/70a57763a9270d1c77ca240cd04c2d0018b7cd60 new file mode 100644 index 00000000..e0284c00 Binary files /dev/null and b/fuzz/corpora/cmp/70a57763a9270d1c77ca240cd04c2d0018b7cd60 differ diff --git a/fuzz/corpora/cmp/70cc1eeb670ea24772dd8a20bb97fc2c3053eb77 b/fuzz/corpora/cmp/70cc1eeb670ea24772dd8a20bb97fc2c3053eb77 new file mode 100644 index 00000000..a4e59d8e Binary files /dev/null and b/fuzz/corpora/cmp/70cc1eeb670ea24772dd8a20bb97fc2c3053eb77 differ diff --git a/fuzz/corpora/cmp/70d3df327d7267f17ee76aa9ec74ec5264c48194 b/fuzz/corpora/cmp/70d3df327d7267f17ee76aa9ec74ec5264c48194 new file mode 100644 index 00000000..550f6b4b Binary files /dev/null and b/fuzz/corpora/cmp/70d3df327d7267f17ee76aa9ec74ec5264c48194 differ diff --git a/fuzz/corpora/cmp/70e24e4c5bcd25dbbd3a6ac7f5c8cd58cccb3873 b/fuzz/corpora/cmp/70e24e4c5bcd25dbbd3a6ac7f5c8cd58cccb3873 new file mode 100644 index 00000000..58dc283e Binary files /dev/null and b/fuzz/corpora/cmp/70e24e4c5bcd25dbbd3a6ac7f5c8cd58cccb3873 differ diff --git a/fuzz/corpora/cmp/70eb6dc69ea6b2d80942b0c7db640ef846fa1756 b/fuzz/corpora/cmp/70eb6dc69ea6b2d80942b0c7db640ef846fa1756 new file mode 100644 index 00000000..0c7c1017 Binary files /dev/null and b/fuzz/corpora/cmp/70eb6dc69ea6b2d80942b0c7db640ef846fa1756 differ diff --git a/fuzz/corpora/cmp/70f09b8e7a9940d9de0f833fc1f62a866d3a198f b/fuzz/corpora/cmp/70f09b8e7a9940d9de0f833fc1f62a866d3a198f new file mode 100644 index 00000000..415132c2 Binary files /dev/null and b/fuzz/corpora/cmp/70f09b8e7a9940d9de0f833fc1f62a866d3a198f differ diff --git a/fuzz/corpora/cmp/7121e0a56917fe4ae915f71bcbfdb3356f937882 b/fuzz/corpora/cmp/7121e0a56917fe4ae915f71bcbfdb3356f937882 new file mode 100644 index 00000000..cc97b37d Binary files /dev/null and b/fuzz/corpora/cmp/7121e0a56917fe4ae915f71bcbfdb3356f937882 differ diff --git a/fuzz/corpora/cmp/712d3b1065332bd293ff8d6a27db7e47140e65f8 b/fuzz/corpora/cmp/712d3b1065332bd293ff8d6a27db7e47140e65f8 new file mode 100644 index 00000000..f4467921 Binary files /dev/null and b/fuzz/corpora/cmp/712d3b1065332bd293ff8d6a27db7e47140e65f8 differ diff --git a/fuzz/corpora/cmp/712fd4864464c65d06fcf4b1bd2bfe994b415e79 b/fuzz/corpora/cmp/712fd4864464c65d06fcf4b1bd2bfe994b415e79 new file mode 100644 index 00000000..4a2a4215 Binary files /dev/null and b/fuzz/corpora/cmp/712fd4864464c65d06fcf4b1bd2bfe994b415e79 differ diff --git a/fuzz/corpora/cmp/714279ee2608203019bcbddd4bf8a82489b1c125 b/fuzz/corpora/cmp/714279ee2608203019bcbddd4bf8a82489b1c125 new file mode 100644 index 00000000..c180e373 Binary files /dev/null and b/fuzz/corpora/cmp/714279ee2608203019bcbddd4bf8a82489b1c125 differ diff --git a/fuzz/corpora/cmp/71540fd1bbefb97fe6782e64e2158f8e09c364ec b/fuzz/corpora/cmp/71540fd1bbefb97fe6782e64e2158f8e09c364ec new file mode 100644 index 00000000..420f2e03 Binary files /dev/null and b/fuzz/corpora/cmp/71540fd1bbefb97fe6782e64e2158f8e09c364ec differ diff --git a/fuzz/corpora/cmp/7159a4b4966090a92168dc2ac551446941614477 b/fuzz/corpora/cmp/7159a4b4966090a92168dc2ac551446941614477 new file mode 100644 index 00000000..8264213a Binary files /dev/null and b/fuzz/corpora/cmp/7159a4b4966090a92168dc2ac551446941614477 differ diff --git a/fuzz/corpora/cmp/71754ddd1c74b93f8d8031d463ff72e5908dde6b b/fuzz/corpora/cmp/71754ddd1c74b93f8d8031d463ff72e5908dde6b new file mode 100644 index 00000000..4dc2b0f9 Binary files /dev/null and b/fuzz/corpora/cmp/71754ddd1c74b93f8d8031d463ff72e5908dde6b differ diff --git a/fuzz/corpora/cmp/717907877b427897cd27dcdd783f1024dae82770 b/fuzz/corpora/cmp/717907877b427897cd27dcdd783f1024dae82770 new file mode 100644 index 00000000..a4af029d Binary files /dev/null and b/fuzz/corpora/cmp/717907877b427897cd27dcdd783f1024dae82770 differ diff --git a/fuzz/corpora/cmp/71809d38eabc4db68cf0b7bf9c338908663f1353 b/fuzz/corpora/cmp/71809d38eabc4db68cf0b7bf9c338908663f1353 new file mode 100644 index 00000000..c4e28d22 Binary files /dev/null and b/fuzz/corpora/cmp/71809d38eabc4db68cf0b7bf9c338908663f1353 differ diff --git a/fuzz/corpora/cmp/71853c6197a6a7f222db0f1978c7cb232b87c5ee b/fuzz/corpora/cmp/71853c6197a6a7f222db0f1978c7cb232b87c5ee new file mode 100644 index 00000000..139597f9 --- /dev/null +++ b/fuzz/corpora/cmp/71853c6197a6a7f222db0f1978c7cb232b87c5ee @@ -0,0 +1,2 @@ + + diff --git a/fuzz/corpora/cmp/71990a11a4e35ec7174a792dcdab09964b581b72 b/fuzz/corpora/cmp/71990a11a4e35ec7174a792dcdab09964b581b72 new file mode 100644 index 00000000..d7da7762 Binary files /dev/null and b/fuzz/corpora/cmp/71990a11a4e35ec7174a792dcdab09964b581b72 differ diff --git a/fuzz/corpora/cmp/719f7dfe1dbb520b4f12081a3e6ff928545de615 b/fuzz/corpora/cmp/719f7dfe1dbb520b4f12081a3e6ff928545de615 new file mode 100644 index 00000000..47ead9d0 Binary files /dev/null and b/fuzz/corpora/cmp/719f7dfe1dbb520b4f12081a3e6ff928545de615 differ diff --git a/fuzz/corpora/cmp/71a98bb3f53f3a498183254d31fb5cda46479bbe b/fuzz/corpora/cmp/71a98bb3f53f3a498183254d31fb5cda46479bbe new file mode 100644 index 00000000..f116eb48 Binary files /dev/null and b/fuzz/corpora/cmp/71a98bb3f53f3a498183254d31fb5cda46479bbe differ diff --git a/fuzz/corpora/cmp/71b7ec5872bd993dc496e79ac71e274dbf36e256 b/fuzz/corpora/cmp/71b7ec5872bd993dc496e79ac71e274dbf36e256 new file mode 100644 index 00000000..9ba233df Binary files /dev/null and b/fuzz/corpora/cmp/71b7ec5872bd993dc496e79ac71e274dbf36e256 differ diff --git a/fuzz/corpora/cmp/71cd4cee3f232e595520f108a1094cef05aa4159 b/fuzz/corpora/cmp/71cd4cee3f232e595520f108a1094cef05aa4159 new file mode 100644 index 00000000..27117f20 Binary files /dev/null and b/fuzz/corpora/cmp/71cd4cee3f232e595520f108a1094cef05aa4159 differ diff --git a/fuzz/corpora/cmp/71d834f9abe474c6db16e6ab0993500b51e22d71 b/fuzz/corpora/cmp/71d834f9abe474c6db16e6ab0993500b51e22d71 new file mode 100644 index 00000000..c334ea02 Binary files /dev/null and b/fuzz/corpora/cmp/71d834f9abe474c6db16e6ab0993500b51e22d71 differ diff --git a/fuzz/corpora/cmp/71e50051d3e5c08ec846a0040cc0cbbdff5984b3 b/fuzz/corpora/cmp/71e50051d3e5c08ec846a0040cc0cbbdff5984b3 new file mode 100644 index 00000000..c7a28efd Binary files /dev/null and b/fuzz/corpora/cmp/71e50051d3e5c08ec846a0040cc0cbbdff5984b3 differ diff --git a/fuzz/corpora/cmp/71f0902181ad75b9436379950778732aa8dee862 b/fuzz/corpora/cmp/71f0902181ad75b9436379950778732aa8dee862 new file mode 100644 index 00000000..b352e9d6 Binary files /dev/null and b/fuzz/corpora/cmp/71f0902181ad75b9436379950778732aa8dee862 differ diff --git a/fuzz/corpora/cmp/71f348d4bf9d105b1d82a07662537505acf2f121 b/fuzz/corpora/cmp/71f348d4bf9d105b1d82a07662537505acf2f121 new file mode 100644 index 00000000..cc851d53 Binary files /dev/null and b/fuzz/corpora/cmp/71f348d4bf9d105b1d82a07662537505acf2f121 differ diff --git a/fuzz/corpora/cmp/72000528390c7d6b000b7bb393827fda36d20548 b/fuzz/corpora/cmp/72000528390c7d6b000b7bb393827fda36d20548 new file mode 100644 index 00000000..42c5d30e Binary files /dev/null and b/fuzz/corpora/cmp/72000528390c7d6b000b7bb393827fda36d20548 differ diff --git a/fuzz/corpora/cmp/7211975658233621216038ea52d7896fec0bffc7 b/fuzz/corpora/cmp/7211975658233621216038ea52d7896fec0bffc7 new file mode 100644 index 00000000..fdb4ce9c Binary files /dev/null and b/fuzz/corpora/cmp/7211975658233621216038ea52d7896fec0bffc7 differ diff --git a/fuzz/corpora/cmp/721976ad38e7f80f09db67aa3524fdaf1cdd5798 b/fuzz/corpora/cmp/721976ad38e7f80f09db67aa3524fdaf1cdd5798 new file mode 100644 index 00000000..c333532f Binary files /dev/null and b/fuzz/corpora/cmp/721976ad38e7f80f09db67aa3524fdaf1cdd5798 differ diff --git a/fuzz/corpora/cmp/722cdcbc7080e5093caf8beed53961b6800987a1 b/fuzz/corpora/cmp/722cdcbc7080e5093caf8beed53961b6800987a1 new file mode 100644 index 00000000..165ee01f Binary files /dev/null and b/fuzz/corpora/cmp/722cdcbc7080e5093caf8beed53961b6800987a1 differ diff --git a/fuzz/corpora/cmp/722dc68aa71fd7651aa37d30ffaeaf9ffa85d276 b/fuzz/corpora/cmp/722dc68aa71fd7651aa37d30ffaeaf9ffa85d276 new file mode 100644 index 00000000..09760b04 Binary files /dev/null and b/fuzz/corpora/cmp/722dc68aa71fd7651aa37d30ffaeaf9ffa85d276 differ diff --git a/fuzz/corpora/cmp/72492267e5a07eddf390fad6d8817fab0c076614 b/fuzz/corpora/cmp/72492267e5a07eddf390fad6d8817fab0c076614 new file mode 100644 index 00000000..fe4ee436 Binary files /dev/null and b/fuzz/corpora/cmp/72492267e5a07eddf390fad6d8817fab0c076614 differ diff --git a/fuzz/corpora/cmp/724d84fe17d24a17767219f6942be63dceb72ff1 b/fuzz/corpora/cmp/724d84fe17d24a17767219f6942be63dceb72ff1 new file mode 100644 index 00000000..541cf61c Binary files /dev/null and b/fuzz/corpora/cmp/724d84fe17d24a17767219f6942be63dceb72ff1 differ diff --git a/fuzz/corpora/cmp/7272532a9bcedfcbd254726aa7c69a0f7b4a320d b/fuzz/corpora/cmp/7272532a9bcedfcbd254726aa7c69a0f7b4a320d new file mode 100644 index 00000000..e638f02c Binary files /dev/null and b/fuzz/corpora/cmp/7272532a9bcedfcbd254726aa7c69a0f7b4a320d differ diff --git a/fuzz/corpora/cmp/72b074227555229c052f6510838b6af51ee059d3 b/fuzz/corpora/cmp/72b074227555229c052f6510838b6af51ee059d3 new file mode 100644 index 00000000..10c6483d Binary files /dev/null and b/fuzz/corpora/cmp/72b074227555229c052f6510838b6af51ee059d3 differ diff --git a/fuzz/corpora/cmp/72c5c53f0533e6a2b795c7bf6a3196376ffb7f1c b/fuzz/corpora/cmp/72c5c53f0533e6a2b795c7bf6a3196376ffb7f1c new file mode 100644 index 00000000..bf54d2ec Binary files /dev/null and b/fuzz/corpora/cmp/72c5c53f0533e6a2b795c7bf6a3196376ffb7f1c differ diff --git a/fuzz/corpora/cmp/72cf5d4ea935ece961ed1c0f47a980a9319afcda b/fuzz/corpora/cmp/72cf5d4ea935ece961ed1c0f47a980a9319afcda new file mode 100644 index 00000000..7dcc062b Binary files /dev/null and b/fuzz/corpora/cmp/72cf5d4ea935ece961ed1c0f47a980a9319afcda differ diff --git a/fuzz/corpora/cmp/72d7b7e2c7ea55e7d1119b323da283c09d747f8e b/fuzz/corpora/cmp/72d7b7e2c7ea55e7d1119b323da283c09d747f8e new file mode 100644 index 00000000..e6c5b351 Binary files /dev/null and b/fuzz/corpora/cmp/72d7b7e2c7ea55e7d1119b323da283c09d747f8e differ diff --git a/fuzz/corpora/cmp/72dd01474dbdf54509f0b7b5c490104a801f40a1 b/fuzz/corpora/cmp/72dd01474dbdf54509f0b7b5c490104a801f40a1 new file mode 100644 index 00000000..1e28e112 Binary files /dev/null and b/fuzz/corpora/cmp/72dd01474dbdf54509f0b7b5c490104a801f40a1 differ diff --git a/fuzz/corpora/cmp/72f68c2cf19f356a479a97fd606169633dcb896e b/fuzz/corpora/cmp/72f68c2cf19f356a479a97fd606169633dcb896e new file mode 100644 index 00000000..592784c7 Binary files /dev/null and b/fuzz/corpora/cmp/72f68c2cf19f356a479a97fd606169633dcb896e differ diff --git a/fuzz/corpora/cmp/7305134a25054bb2379d608208259d66b0febab9 b/fuzz/corpora/cmp/7305134a25054bb2379d608208259d66b0febab9 new file mode 100644 index 00000000..0a3763dd Binary files /dev/null and b/fuzz/corpora/cmp/7305134a25054bb2379d608208259d66b0febab9 differ diff --git a/fuzz/corpora/cmp/730e3bf3e5b7bcdaa897c48c99291528206b8e0e b/fuzz/corpora/cmp/730e3bf3e5b7bcdaa897c48c99291528206b8e0e new file mode 100644 index 00000000..dbd2285d Binary files /dev/null and b/fuzz/corpora/cmp/730e3bf3e5b7bcdaa897c48c99291528206b8e0e differ diff --git a/fuzz/corpora/cmp/731f344275c1669dc953e848966a2e7adabc75b6 b/fuzz/corpora/cmp/731f344275c1669dc953e848966a2e7adabc75b6 new file mode 100644 index 00000000..3b08c0f5 Binary files /dev/null and b/fuzz/corpora/cmp/731f344275c1669dc953e848966a2e7adabc75b6 differ diff --git a/fuzz/corpora/cmp/7326122c42ea1cbdaa618cb99cb668dd833cfeda b/fuzz/corpora/cmp/7326122c42ea1cbdaa618cb99cb668dd833cfeda new file mode 100644 index 00000000..4851de68 Binary files /dev/null and b/fuzz/corpora/cmp/7326122c42ea1cbdaa618cb99cb668dd833cfeda differ diff --git a/fuzz/corpora/cmp/7338d70942b8ce0c31f7ce36f44d4874158ba026 b/fuzz/corpora/cmp/7338d70942b8ce0c31f7ce36f44d4874158ba026 new file mode 100644 index 00000000..407bc921 Binary files /dev/null and b/fuzz/corpora/cmp/7338d70942b8ce0c31f7ce36f44d4874158ba026 differ diff --git a/fuzz/corpora/cmp/7344d982dd8447d3ae0683e9cd03aff270b8bd73 b/fuzz/corpora/cmp/7344d982dd8447d3ae0683e9cd03aff270b8bd73 new file mode 100644 index 00000000..919cc540 Binary files /dev/null and b/fuzz/corpora/cmp/7344d982dd8447d3ae0683e9cd03aff270b8bd73 differ diff --git a/fuzz/corpora/cmp/73470202091fac398fd83ded8fa01c4801ae94e7 b/fuzz/corpora/cmp/73470202091fac398fd83ded8fa01c4801ae94e7 new file mode 100644 index 00000000..e5f5d713 Binary files /dev/null and b/fuzz/corpora/cmp/73470202091fac398fd83ded8fa01c4801ae94e7 differ diff --git a/fuzz/corpora/cmp/7356993ff677eecfa6a39e9bde2986ffc7fdb024 b/fuzz/corpora/cmp/7356993ff677eecfa6a39e9bde2986ffc7fdb024 new file mode 100644 index 00000000..b48f64e7 Binary files /dev/null and b/fuzz/corpora/cmp/7356993ff677eecfa6a39e9bde2986ffc7fdb024 differ diff --git a/fuzz/corpora/cmp/735d3786e4e0d450d83d70224822c7d3c0b56a0b b/fuzz/corpora/cmp/735d3786e4e0d450d83d70224822c7d3c0b56a0b new file mode 100644 index 00000000..8ca4d3b7 Binary files /dev/null and b/fuzz/corpora/cmp/735d3786e4e0d450d83d70224822c7d3c0b56a0b differ diff --git a/fuzz/corpora/cmp/737535c2e4356b4beb01f2355140cbfef449d31b b/fuzz/corpora/cmp/737535c2e4356b4beb01f2355140cbfef449d31b new file mode 100644 index 00000000..2e331808 Binary files /dev/null and b/fuzz/corpora/cmp/737535c2e4356b4beb01f2355140cbfef449d31b differ diff --git a/fuzz/corpora/cmp/73755c326a0eaee7355f31c35e29b81f9dc8b8a1 b/fuzz/corpora/cmp/73755c326a0eaee7355f31c35e29b81f9dc8b8a1 new file mode 100644 index 00000000..77fee4ea Binary files /dev/null and b/fuzz/corpora/cmp/73755c326a0eaee7355f31c35e29b81f9dc8b8a1 differ diff --git a/fuzz/corpora/cmp/73ae58d23686fd3fa79a2bb8c998647e0475c68a b/fuzz/corpora/cmp/73ae58d23686fd3fa79a2bb8c998647e0475c68a new file mode 100644 index 00000000..0963ee59 Binary files /dev/null and b/fuzz/corpora/cmp/73ae58d23686fd3fa79a2bb8c998647e0475c68a differ diff --git a/fuzz/corpora/cmp/73d68b7995c0a5940da146372d31520434d729e1 b/fuzz/corpora/cmp/73d68b7995c0a5940da146372d31520434d729e1 new file mode 100644 index 00000000..6d1d1307 Binary files /dev/null and b/fuzz/corpora/cmp/73d68b7995c0a5940da146372d31520434d729e1 differ diff --git a/fuzz/corpora/cmp/7407402fca0f6fef9e351eaf08530d223621ef57 b/fuzz/corpora/cmp/7407402fca0f6fef9e351eaf08530d223621ef57 new file mode 100644 index 00000000..712a2d18 Binary files /dev/null and b/fuzz/corpora/cmp/7407402fca0f6fef9e351eaf08530d223621ef57 differ diff --git a/fuzz/corpora/cmp/740eff27bb5c1afdffa794cd6ea090589eb4d6e3 b/fuzz/corpora/cmp/740eff27bb5c1afdffa794cd6ea090589eb4d6e3 new file mode 100644 index 00000000..74e648d3 Binary files /dev/null and b/fuzz/corpora/cmp/740eff27bb5c1afdffa794cd6ea090589eb4d6e3 differ diff --git a/fuzz/corpora/cmp/741f73733d5d47408b3dd36177b3fd4c952caa71 b/fuzz/corpora/cmp/741f73733d5d47408b3dd36177b3fd4c952caa71 new file mode 100644 index 00000000..3b833c2d --- /dev/null +++ b/fuzz/corpora/cmp/741f73733d5d47408b3dd36177b3fd4c952caa71 @@ -0,0 +1 @@ +0€ \ No newline at end of file diff --git a/fuzz/corpora/cmp/7437886df78769b3fa179866a6843cfa9b1de75b b/fuzz/corpora/cmp/7437886df78769b3fa179866a6843cfa9b1de75b new file mode 100644 index 00000000..db0fedd6 Binary files /dev/null and b/fuzz/corpora/cmp/7437886df78769b3fa179866a6843cfa9b1de75b differ diff --git a/fuzz/corpora/cmp/7439b78008c20326c03996f58649cc05e3acae26 b/fuzz/corpora/cmp/7439b78008c20326c03996f58649cc05e3acae26 new file mode 100644 index 00000000..976fa5e5 Binary files /dev/null and b/fuzz/corpora/cmp/7439b78008c20326c03996f58649cc05e3acae26 differ diff --git a/fuzz/corpora/cmp/74406d557c197bb0a056f2b90ecd477e6c38744e b/fuzz/corpora/cmp/74406d557c197bb0a056f2b90ecd477e6c38744e new file mode 100644 index 00000000..4ca01bed Binary files /dev/null and b/fuzz/corpora/cmp/74406d557c197bb0a056f2b90ecd477e6c38744e differ diff --git a/fuzz/corpora/cmp/7441d6550eb8c094d506cdd52c2ca97805ba0404 b/fuzz/corpora/cmp/7441d6550eb8c094d506cdd52c2ca97805ba0404 new file mode 100644 index 00000000..04cb153d Binary files /dev/null and b/fuzz/corpora/cmp/7441d6550eb8c094d506cdd52c2ca97805ba0404 differ diff --git a/fuzz/corpora/cmp/7445b8c2b02d33e29f0491d0d871fa38e54fdb96 b/fuzz/corpora/cmp/7445b8c2b02d33e29f0491d0d871fa38e54fdb96 new file mode 100644 index 00000000..9f1a3021 Binary files /dev/null and b/fuzz/corpora/cmp/7445b8c2b02d33e29f0491d0d871fa38e54fdb96 differ diff --git a/fuzz/corpora/cmp/744b77394d7488eb166ad862d9f581f41dc6c553 b/fuzz/corpora/cmp/744b77394d7488eb166ad862d9f581f41dc6c553 new file mode 100644 index 00000000..1d3cd72f Binary files /dev/null and b/fuzz/corpora/cmp/744b77394d7488eb166ad862d9f581f41dc6c553 differ diff --git a/fuzz/corpora/cmp/74684049729d2c49e5e90e64196e1cad99946918 b/fuzz/corpora/cmp/74684049729d2c49e5e90e64196e1cad99946918 new file mode 100644 index 00000000..48bb68e1 Binary files /dev/null and b/fuzz/corpora/cmp/74684049729d2c49e5e90e64196e1cad99946918 differ diff --git a/fuzz/corpora/cmp/746e7bae88ac05711954eba694ad1f5a84c8702e b/fuzz/corpora/cmp/746e7bae88ac05711954eba694ad1f5a84c8702e new file mode 100644 index 00000000..a6b307e3 Binary files /dev/null and b/fuzz/corpora/cmp/746e7bae88ac05711954eba694ad1f5a84c8702e differ diff --git a/fuzz/corpora/cmp/74806b79a6d21126c0bd3f2677d3ece2194bc4ca b/fuzz/corpora/cmp/74806b79a6d21126c0bd3f2677d3ece2194bc4ca new file mode 100644 index 00000000..a0e14867 Binary files /dev/null and b/fuzz/corpora/cmp/74806b79a6d21126c0bd3f2677d3ece2194bc4ca differ diff --git a/fuzz/corpora/cmp/74aa918aa2454e96147da8490fe62063a3c38c3b b/fuzz/corpora/cmp/74aa918aa2454e96147da8490fe62063a3c38c3b new file mode 100644 index 00000000..3a1fc59a Binary files /dev/null and b/fuzz/corpora/cmp/74aa918aa2454e96147da8490fe62063a3c38c3b differ diff --git a/fuzz/corpora/cmp/74c7a850bf075c33f05578f3871f58df84e9b73d b/fuzz/corpora/cmp/74c7a850bf075c33f05578f3871f58df84e9b73d new file mode 100644 index 00000000..b748fc99 Binary files /dev/null and b/fuzz/corpora/cmp/74c7a850bf075c33f05578f3871f58df84e9b73d differ diff --git a/fuzz/corpora/cmp/74ca4dd72e9c422b79865c95c786db64a2ba60eb b/fuzz/corpora/cmp/74ca4dd72e9c422b79865c95c786db64a2ba60eb new file mode 100644 index 00000000..d953e981 Binary files /dev/null and b/fuzz/corpora/cmp/74ca4dd72e9c422b79865c95c786db64a2ba60eb differ diff --git a/fuzz/corpora/cmp/74d28bb2ba49eb75a5dfc804d3ef75563a593086 b/fuzz/corpora/cmp/74d28bb2ba49eb75a5dfc804d3ef75563a593086 new file mode 100644 index 00000000..325d48d3 Binary files /dev/null and b/fuzz/corpora/cmp/74d28bb2ba49eb75a5dfc804d3ef75563a593086 differ diff --git a/fuzz/corpora/cmp/74d5be3e01e440bbfb92a2fe6a241ccab61a4ff1 b/fuzz/corpora/cmp/74d5be3e01e440bbfb92a2fe6a241ccab61a4ff1 new file mode 100644 index 00000000..9772687f Binary files /dev/null and b/fuzz/corpora/cmp/74d5be3e01e440bbfb92a2fe6a241ccab61a4ff1 differ diff --git a/fuzz/corpora/cmp/74f910d5d78c12f23ce5b6e128ea788c573614bd b/fuzz/corpora/cmp/74f910d5d78c12f23ce5b6e128ea788c573614bd new file mode 100644 index 00000000..2dfbd98a Binary files /dev/null and b/fuzz/corpora/cmp/74f910d5d78c12f23ce5b6e128ea788c573614bd differ diff --git a/fuzz/corpora/cmp/74fe810a7e55f374a979fce0643d967fae2ead84 b/fuzz/corpora/cmp/74fe810a7e55f374a979fce0643d967fae2ead84 new file mode 100644 index 00000000..76df4da8 Binary files /dev/null and b/fuzz/corpora/cmp/74fe810a7e55f374a979fce0643d967fae2ead84 differ diff --git a/fuzz/corpora/cmp/75142bef0915c07a7c86c048f13e47c14789fe44 b/fuzz/corpora/cmp/75142bef0915c07a7c86c048f13e47c14789fe44 new file mode 100644 index 00000000..ba4b4618 Binary files /dev/null and b/fuzz/corpora/cmp/75142bef0915c07a7c86c048f13e47c14789fe44 differ diff --git a/fuzz/corpora/cmp/7520635ecdb005e96bd24303459cb508d72683aa b/fuzz/corpora/cmp/7520635ecdb005e96bd24303459cb508d72683aa new file mode 100644 index 00000000..343d24e1 Binary files /dev/null and b/fuzz/corpora/cmp/7520635ecdb005e96bd24303459cb508d72683aa differ diff --git a/fuzz/corpora/cmp/7530ce7949538eb51988109e2a1854bdc436f405 b/fuzz/corpora/cmp/7530ce7949538eb51988109e2a1854bdc436f405 new file mode 100644 index 00000000..30ee045b Binary files /dev/null and b/fuzz/corpora/cmp/7530ce7949538eb51988109e2a1854bdc436f405 differ diff --git a/fuzz/corpora/cmp/753c9e368b7569e3bd273d47486392a1902107e9 b/fuzz/corpora/cmp/753c9e368b7569e3bd273d47486392a1902107e9 new file mode 100644 index 00000000..6e53a69f Binary files /dev/null and b/fuzz/corpora/cmp/753c9e368b7569e3bd273d47486392a1902107e9 differ diff --git a/fuzz/corpora/cmp/754bb90658b1dbbbed4be5008620d96f0984f01b b/fuzz/corpora/cmp/754bb90658b1dbbbed4be5008620d96f0984f01b new file mode 100644 index 00000000..7a58c243 Binary files /dev/null and b/fuzz/corpora/cmp/754bb90658b1dbbbed4be5008620d96f0984f01b differ diff --git a/fuzz/corpora/cmp/754d539dbdac5b62f1a946486761836c2f79da5e b/fuzz/corpora/cmp/754d539dbdac5b62f1a946486761836c2f79da5e new file mode 100644 index 00000000..4db9fb2a Binary files /dev/null and b/fuzz/corpora/cmp/754d539dbdac5b62f1a946486761836c2f79da5e differ diff --git a/fuzz/corpora/cmp/75691c8f3385de8220a1c267af502b9b3056edb2 b/fuzz/corpora/cmp/75691c8f3385de8220a1c267af502b9b3056edb2 new file mode 100644 index 00000000..9f2500ce Binary files /dev/null and b/fuzz/corpora/cmp/75691c8f3385de8220a1c267af502b9b3056edb2 differ diff --git a/fuzz/corpora/cmp/756ddb8606060407869b036077afc2605c8959b7 b/fuzz/corpora/cmp/756ddb8606060407869b036077afc2605c8959b7 new file mode 100644 index 00000000..65e1c84c Binary files /dev/null and b/fuzz/corpora/cmp/756ddb8606060407869b036077afc2605c8959b7 differ diff --git a/fuzz/corpora/cmp/756eb8efd01d626116d3cb6a52c22c2053c68b2d b/fuzz/corpora/cmp/756eb8efd01d626116d3cb6a52c22c2053c68b2d new file mode 100644 index 00000000..3ed9e2d9 Binary files /dev/null and b/fuzz/corpora/cmp/756eb8efd01d626116d3cb6a52c22c2053c68b2d differ diff --git a/fuzz/corpora/cmp/7578709fccd529ff7959a765f7280c8ae664f10e b/fuzz/corpora/cmp/7578709fccd529ff7959a765f7280c8ae664f10e new file mode 100644 index 00000000..ce07e005 Binary files /dev/null and b/fuzz/corpora/cmp/7578709fccd529ff7959a765f7280c8ae664f10e differ diff --git a/fuzz/corpora/cmp/758202669462f365f45ef5cb6438b5c4831286f6 b/fuzz/corpora/cmp/758202669462f365f45ef5cb6438b5c4831286f6 new file mode 100644 index 00000000..640507e4 Binary files /dev/null and b/fuzz/corpora/cmp/758202669462f365f45ef5cb6438b5c4831286f6 differ diff --git a/fuzz/corpora/cmp/758256470bcbebf847ebab67f6ee55d2a6ff25ad b/fuzz/corpora/cmp/758256470bcbebf847ebab67f6ee55d2a6ff25ad new file mode 100644 index 00000000..7da9bf07 Binary files /dev/null and b/fuzz/corpora/cmp/758256470bcbebf847ebab67f6ee55d2a6ff25ad differ diff --git a/fuzz/corpora/cmp/7596ee597eadcb81bc464b5e75ffe2ddaaa6837a b/fuzz/corpora/cmp/7596ee597eadcb81bc464b5e75ffe2ddaaa6837a new file mode 100644 index 00000000..0ad1eb49 Binary files /dev/null and b/fuzz/corpora/cmp/7596ee597eadcb81bc464b5e75ffe2ddaaa6837a differ diff --git a/fuzz/corpora/cmp/7598fd6156d5cd52132ff9759dc9867356f576d7 b/fuzz/corpora/cmp/7598fd6156d5cd52132ff9759dc9867356f576d7 new file mode 100644 index 00000000..634726a4 Binary files /dev/null and b/fuzz/corpora/cmp/7598fd6156d5cd52132ff9759dc9867356f576d7 differ diff --git a/fuzz/corpora/cmp/75ac9bf9051b77d1d02993608086d472e33deeab b/fuzz/corpora/cmp/75ac9bf9051b77d1d02993608086d472e33deeab new file mode 100644 index 00000000..005e61de Binary files /dev/null and b/fuzz/corpora/cmp/75ac9bf9051b77d1d02993608086d472e33deeab differ diff --git a/fuzz/corpora/cmp/75b1d734a50b8c1adae72198a8eff10c186380d6 b/fuzz/corpora/cmp/75b1d734a50b8c1adae72198a8eff10c186380d6 new file mode 100644 index 00000000..583d8d98 Binary files /dev/null and b/fuzz/corpora/cmp/75b1d734a50b8c1adae72198a8eff10c186380d6 differ diff --git a/fuzz/corpora/cmp/75b51366a011fd28b8e37b6bd19d19fb9cce3454 b/fuzz/corpora/cmp/75b51366a011fd28b8e37b6bd19d19fb9cce3454 new file mode 100644 index 00000000..451e58cc Binary files /dev/null and b/fuzz/corpora/cmp/75b51366a011fd28b8e37b6bd19d19fb9cce3454 differ diff --git a/fuzz/corpora/cmp/75f4406cc5cf082f7bf37bd65de9344fe7d78b4a b/fuzz/corpora/cmp/75f4406cc5cf082f7bf37bd65de9344fe7d78b4a new file mode 100644 index 00000000..505f4030 Binary files /dev/null and b/fuzz/corpora/cmp/75f4406cc5cf082f7bf37bd65de9344fe7d78b4a differ diff --git a/fuzz/corpora/cmp/75f495f52652b27a6366ddeaeb1868a98154078a b/fuzz/corpora/cmp/75f495f52652b27a6366ddeaeb1868a98154078a new file mode 100644 index 00000000..f054f71a Binary files /dev/null and b/fuzz/corpora/cmp/75f495f52652b27a6366ddeaeb1868a98154078a differ diff --git a/fuzz/corpora/cmp/76132409fd58256bd70407f3a4fbe43804b81460 b/fuzz/corpora/cmp/76132409fd58256bd70407f3a4fbe43804b81460 new file mode 100644 index 00000000..5907b34d Binary files /dev/null and b/fuzz/corpora/cmp/76132409fd58256bd70407f3a4fbe43804b81460 differ diff --git a/fuzz/corpora/cmp/76182d408ba5b7aa4c3591500108db13265e8b41 b/fuzz/corpora/cmp/76182d408ba5b7aa4c3591500108db13265e8b41 new file mode 100644 index 00000000..8671768c Binary files /dev/null and b/fuzz/corpora/cmp/76182d408ba5b7aa4c3591500108db13265e8b41 differ diff --git a/fuzz/corpora/cmp/7628562301e91558a762dff6eaab1de10c32ad01 b/fuzz/corpora/cmp/7628562301e91558a762dff6eaab1de10c32ad01 new file mode 100644 index 00000000..d9b48944 Binary files /dev/null and b/fuzz/corpora/cmp/7628562301e91558a762dff6eaab1de10c32ad01 differ diff --git a/fuzz/corpora/cmp/76400353046e833d9e2128cf6918c26a88b29b1e b/fuzz/corpora/cmp/76400353046e833d9e2128cf6918c26a88b29b1e new file mode 100644 index 00000000..dfc0d5fc Binary files /dev/null and b/fuzz/corpora/cmp/76400353046e833d9e2128cf6918c26a88b29b1e differ diff --git a/fuzz/corpora/cmp/764fec0b7dceae6e0ed88761dd96e0334361abb1 b/fuzz/corpora/cmp/764fec0b7dceae6e0ed88761dd96e0334361abb1 new file mode 100644 index 00000000..ecb89fc8 Binary files /dev/null and b/fuzz/corpora/cmp/764fec0b7dceae6e0ed88761dd96e0334361abb1 differ diff --git a/fuzz/corpora/cmp/765045d59eba05cdb373a70e228c09e9613eceb6 b/fuzz/corpora/cmp/765045d59eba05cdb373a70e228c09e9613eceb6 new file mode 100644 index 00000000..1e4faafa Binary files /dev/null and b/fuzz/corpora/cmp/765045d59eba05cdb373a70e228c09e9613eceb6 differ diff --git a/fuzz/corpora/cmp/769b1a476d169f211949314f9e2cababeeafc852 b/fuzz/corpora/cmp/769b1a476d169f211949314f9e2cababeeafc852 new file mode 100644 index 00000000..4e0b73d6 Binary files /dev/null and b/fuzz/corpora/cmp/769b1a476d169f211949314f9e2cababeeafc852 differ diff --git a/fuzz/corpora/cmp/76a5eedc4fa3c95d49a980dd3409989cdd2f2d4f b/fuzz/corpora/cmp/76a5eedc4fa3c95d49a980dd3409989cdd2f2d4f new file mode 100644 index 00000000..d2348b90 Binary files /dev/null and b/fuzz/corpora/cmp/76a5eedc4fa3c95d49a980dd3409989cdd2f2d4f differ diff --git a/fuzz/corpora/cmp/76b99f1059d9766f5587dc2b4c28649e64898732 b/fuzz/corpora/cmp/76b99f1059d9766f5587dc2b4c28649e64898732 new file mode 100644 index 00000000..ba11d12e Binary files /dev/null and b/fuzz/corpora/cmp/76b99f1059d9766f5587dc2b4c28649e64898732 differ diff --git a/fuzz/corpora/cmp/76d0d324c94dbf944eb49c46e7d219306a8f180d b/fuzz/corpora/cmp/76d0d324c94dbf944eb49c46e7d219306a8f180d new file mode 100644 index 00000000..2c6bd5a4 Binary files /dev/null and b/fuzz/corpora/cmp/76d0d324c94dbf944eb49c46e7d219306a8f180d differ diff --git a/fuzz/corpora/cmp/76d4fcc861f449b99b3b465c91d6e22739271a5b b/fuzz/corpora/cmp/76d4fcc861f449b99b3b465c91d6e22739271a5b new file mode 100644 index 00000000..036646f6 Binary files /dev/null and b/fuzz/corpora/cmp/76d4fcc861f449b99b3b465c91d6e22739271a5b differ diff --git a/fuzz/corpora/cmp/76f4e57b664c523c3ce4a4727449832e048a8c3a b/fuzz/corpora/cmp/76f4e57b664c523c3ce4a4727449832e048a8c3a new file mode 100644 index 00000000..9933f8a7 Binary files /dev/null and b/fuzz/corpora/cmp/76f4e57b664c523c3ce4a4727449832e048a8c3a differ diff --git a/fuzz/corpora/cmp/76f5fbbe0340445a16ed71b8b3f1d2af6393d50b b/fuzz/corpora/cmp/76f5fbbe0340445a16ed71b8b3f1d2af6393d50b new file mode 100644 index 00000000..cf49ddbb Binary files /dev/null and b/fuzz/corpora/cmp/76f5fbbe0340445a16ed71b8b3f1d2af6393d50b differ diff --git a/fuzz/corpora/cmp/76f8b7b5bc4458d5297e8ee9a0c9bf1740ddf32d b/fuzz/corpora/cmp/76f8b7b5bc4458d5297e8ee9a0c9bf1740ddf32d new file mode 100644 index 00000000..833f8be1 Binary files /dev/null and b/fuzz/corpora/cmp/76f8b7b5bc4458d5297e8ee9a0c9bf1740ddf32d differ diff --git a/fuzz/corpora/cmp/7703dc0546411089882ce38eccc81a54fe1f7b41 b/fuzz/corpora/cmp/7703dc0546411089882ce38eccc81a54fe1f7b41 new file mode 100644 index 00000000..f9de653a Binary files /dev/null and b/fuzz/corpora/cmp/7703dc0546411089882ce38eccc81a54fe1f7b41 differ diff --git a/fuzz/corpora/cmp/7722163c1fdaadc5c4d5ca7be4bf3845882a09b1 b/fuzz/corpora/cmp/7722163c1fdaadc5c4d5ca7be4bf3845882a09b1 new file mode 100644 index 00000000..756403d0 Binary files /dev/null and b/fuzz/corpora/cmp/7722163c1fdaadc5c4d5ca7be4bf3845882a09b1 differ diff --git a/fuzz/corpora/cmp/772d06d10438cca92978f619e2878678eed705d6 b/fuzz/corpora/cmp/772d06d10438cca92978f619e2878678eed705d6 new file mode 100644 index 00000000..8b9be119 Binary files /dev/null and b/fuzz/corpora/cmp/772d06d10438cca92978f619e2878678eed705d6 differ diff --git a/fuzz/corpora/cmp/7730b90b7275b8d2a262a2d94503ac8de7a176d7 b/fuzz/corpora/cmp/7730b90b7275b8d2a262a2d94503ac8de7a176d7 new file mode 100644 index 00000000..c7dda926 Binary files /dev/null and b/fuzz/corpora/cmp/7730b90b7275b8d2a262a2d94503ac8de7a176d7 differ diff --git a/fuzz/corpora/cmp/7736e0d9eed9f796f38aad4f67451fe3da928acf b/fuzz/corpora/cmp/7736e0d9eed9f796f38aad4f67451fe3da928acf new file mode 100644 index 00000000..e040d825 Binary files /dev/null and b/fuzz/corpora/cmp/7736e0d9eed9f796f38aad4f67451fe3da928acf differ diff --git a/fuzz/corpora/cmp/7750de48beeb989b19cacd64f244443b8cc1d288 b/fuzz/corpora/cmp/7750de48beeb989b19cacd64f244443b8cc1d288 new file mode 100644 index 00000000..7e65814f Binary files /dev/null and b/fuzz/corpora/cmp/7750de48beeb989b19cacd64f244443b8cc1d288 differ diff --git a/fuzz/corpora/cmp/776fed82519fe65a75fa10e898827b11d2df0715 b/fuzz/corpora/cmp/776fed82519fe65a75fa10e898827b11d2df0715 new file mode 100644 index 00000000..b4238370 Binary files /dev/null and b/fuzz/corpora/cmp/776fed82519fe65a75fa10e898827b11d2df0715 differ diff --git a/fuzz/corpora/cmp/777f97782486d25da9bd2f0148177dc121a1d964 b/fuzz/corpora/cmp/777f97782486d25da9bd2f0148177dc121a1d964 new file mode 100644 index 00000000..9c24af1f Binary files /dev/null and b/fuzz/corpora/cmp/777f97782486d25da9bd2f0148177dc121a1d964 differ diff --git a/fuzz/corpora/cmp/7782e7174b4f5ee85f536117d979746677e953fe b/fuzz/corpora/cmp/7782e7174b4f5ee85f536117d979746677e953fe new file mode 100644 index 00000000..26ac643f Binary files /dev/null and b/fuzz/corpora/cmp/7782e7174b4f5ee85f536117d979746677e953fe differ diff --git a/fuzz/corpora/cmp/7799e79fcefca640bf5f4bc50b9066d6bfcfec96 b/fuzz/corpora/cmp/7799e79fcefca640bf5f4bc50b9066d6bfcfec96 new file mode 100644 index 00000000..6f5e4a3a Binary files /dev/null and b/fuzz/corpora/cmp/7799e79fcefca640bf5f4bc50b9066d6bfcfec96 differ diff --git a/fuzz/corpora/cmp/77b1b484c4df73b2ca1d18b74308ee02a9d85b2c b/fuzz/corpora/cmp/77b1b484c4df73b2ca1d18b74308ee02a9d85b2c new file mode 100644 index 00000000..a28b1d83 Binary files /dev/null and b/fuzz/corpora/cmp/77b1b484c4df73b2ca1d18b74308ee02a9d85b2c differ diff --git a/fuzz/corpora/cmp/77b1dd55302bc380fa67ff3bef6075326e1c3834 b/fuzz/corpora/cmp/77b1dd55302bc380fa67ff3bef6075326e1c3834 new file mode 100644 index 00000000..56b2931b Binary files /dev/null and b/fuzz/corpora/cmp/77b1dd55302bc380fa67ff3bef6075326e1c3834 differ diff --git a/fuzz/corpora/cmp/77c4adf0a04fb6733b5403154c2488697d66955f b/fuzz/corpora/cmp/77c4adf0a04fb6733b5403154c2488697d66955f new file mode 100644 index 00000000..6b47f51f Binary files /dev/null and b/fuzz/corpora/cmp/77c4adf0a04fb6733b5403154c2488697d66955f differ diff --git a/fuzz/corpora/cmp/77c5fc37de1e2b7a7815b176e118435cef48c70c b/fuzz/corpora/cmp/77c5fc37de1e2b7a7815b176e118435cef48c70c new file mode 100644 index 00000000..c6f594dd Binary files /dev/null and b/fuzz/corpora/cmp/77c5fc37de1e2b7a7815b176e118435cef48c70c differ diff --git a/fuzz/corpora/cmp/77dc8dbe48c84a0fbb2e0d2b267a8c044d7d89ee b/fuzz/corpora/cmp/77dc8dbe48c84a0fbb2e0d2b267a8c044d7d89ee new file mode 100644 index 00000000..f0216261 Binary files /dev/null and b/fuzz/corpora/cmp/77dc8dbe48c84a0fbb2e0d2b267a8c044d7d89ee differ diff --git a/fuzz/corpora/cmp/77def7cda538ae2c8b7eb3d946f0042b6defb714 b/fuzz/corpora/cmp/77def7cda538ae2c8b7eb3d946f0042b6defb714 new file mode 100644 index 00000000..c8e2262a Binary files /dev/null and b/fuzz/corpora/cmp/77def7cda538ae2c8b7eb3d946f0042b6defb714 differ diff --git a/fuzz/corpora/cmp/77e35669705140ae977fbe301c1c81b1adaaa764 b/fuzz/corpora/cmp/77e35669705140ae977fbe301c1c81b1adaaa764 new file mode 100644 index 00000000..c9032088 Binary files /dev/null and b/fuzz/corpora/cmp/77e35669705140ae977fbe301c1c81b1adaaa764 differ diff --git a/fuzz/corpora/cmp/77edd2907178da01025b0320b01a7b3f17b73d69 b/fuzz/corpora/cmp/77edd2907178da01025b0320b01a7b3f17b73d69 new file mode 100644 index 00000000..968a8271 Binary files /dev/null and b/fuzz/corpora/cmp/77edd2907178da01025b0320b01a7b3f17b73d69 differ diff --git a/fuzz/corpora/cmp/77f69f77f2aa90d73fe78d4421660f79bfcd4acb b/fuzz/corpora/cmp/77f69f77f2aa90d73fe78d4421660f79bfcd4acb new file mode 100644 index 00000000..0f3ec741 Binary files /dev/null and b/fuzz/corpora/cmp/77f69f77f2aa90d73fe78d4421660f79bfcd4acb differ diff --git a/fuzz/corpora/cmp/780f213279e143e28f7bad1527de81e30bbdc731 b/fuzz/corpora/cmp/780f213279e143e28f7bad1527de81e30bbdc731 new file mode 100644 index 00000000..1eedfa38 Binary files /dev/null and b/fuzz/corpora/cmp/780f213279e143e28f7bad1527de81e30bbdc731 differ diff --git a/fuzz/corpora/cmp/78102f6b29fa082cc73ca896cc7635bc928cc86e b/fuzz/corpora/cmp/78102f6b29fa082cc73ca896cc7635bc928cc86e new file mode 100644 index 00000000..c843152b Binary files /dev/null and b/fuzz/corpora/cmp/78102f6b29fa082cc73ca896cc7635bc928cc86e differ diff --git a/fuzz/corpora/cmp/7821a35a16153856c49ae08c1a906b76be389c44 b/fuzz/corpora/cmp/7821a35a16153856c49ae08c1a906b76be389c44 new file mode 100644 index 00000000..43e5b686 Binary files /dev/null and b/fuzz/corpora/cmp/7821a35a16153856c49ae08c1a906b76be389c44 differ diff --git a/fuzz/corpora/cmp/7838e8f2dfa127ef38cb88445d5f2244475b7337 b/fuzz/corpora/cmp/7838e8f2dfa127ef38cb88445d5f2244475b7337 new file mode 100644 index 00000000..bbbbb796 Binary files /dev/null and b/fuzz/corpora/cmp/7838e8f2dfa127ef38cb88445d5f2244475b7337 differ diff --git a/fuzz/corpora/cmp/783d751c83cad9ac1b0f113bbfacbbf6ae22dd89 b/fuzz/corpora/cmp/783d751c83cad9ac1b0f113bbfacbbf6ae22dd89 new file mode 100644 index 00000000..7021eefc Binary files /dev/null and b/fuzz/corpora/cmp/783d751c83cad9ac1b0f113bbfacbbf6ae22dd89 differ diff --git a/fuzz/corpora/cmp/7842008f4e92282a18613eb52e5ce3c133ac1f1c b/fuzz/corpora/cmp/7842008f4e92282a18613eb52e5ce3c133ac1f1c new file mode 100644 index 00000000..f5d425ab Binary files /dev/null and b/fuzz/corpora/cmp/7842008f4e92282a18613eb52e5ce3c133ac1f1c differ diff --git a/fuzz/corpora/cmp/786793011479eba6f11109771530364032a0c269 b/fuzz/corpora/cmp/786793011479eba6f11109771530364032a0c269 new file mode 100644 index 00000000..a681fd6f Binary files /dev/null and b/fuzz/corpora/cmp/786793011479eba6f11109771530364032a0c269 differ diff --git a/fuzz/corpora/cmp/786cecb66eb44f0e6236f63adc78feb1bcd59ce4 b/fuzz/corpora/cmp/786cecb66eb44f0e6236f63adc78feb1bcd59ce4 new file mode 100644 index 00000000..b9040390 --- /dev/null +++ b/fuzz/corpora/cmp/786cecb66eb44f0e6236f63adc78feb1bcd59ce4 @@ -0,0 +1 @@ +00€½€ \ No newline at end of file diff --git a/fuzz/corpora/cmp/78719c4e1853534d548eceeb147fc78c0d6617da b/fuzz/corpora/cmp/78719c4e1853534d548eceeb147fc78c0d6617da new file mode 100644 index 00000000..8d574579 Binary files /dev/null and b/fuzz/corpora/cmp/78719c4e1853534d548eceeb147fc78c0d6617da differ diff --git a/fuzz/corpora/cmp/787203642d0e787b48bed8efc8af7945e46b2235 b/fuzz/corpora/cmp/787203642d0e787b48bed8efc8af7945e46b2235 new file mode 100644 index 00000000..a5477245 Binary files /dev/null and b/fuzz/corpora/cmp/787203642d0e787b48bed8efc8af7945e46b2235 differ diff --git a/fuzz/corpora/cmp/7872fcb39a0d115cf3fd4d7be5aa36d2c5f778d3 b/fuzz/corpora/cmp/7872fcb39a0d115cf3fd4d7be5aa36d2c5f778d3 new file mode 100644 index 00000000..86aa0761 Binary files /dev/null and b/fuzz/corpora/cmp/7872fcb39a0d115cf3fd4d7be5aa36d2c5f778d3 differ diff --git a/fuzz/corpora/cmp/78d64565e6c760e520c04c9cb212f8ba17b5e88b b/fuzz/corpora/cmp/78d64565e6c760e520c04c9cb212f8ba17b5e88b new file mode 100644 index 00000000..184f236a Binary files /dev/null and b/fuzz/corpora/cmp/78d64565e6c760e520c04c9cb212f8ba17b5e88b differ diff --git a/fuzz/corpora/cmp/790516605d79c4554514b2221146b7044831e6d2 b/fuzz/corpora/cmp/790516605d79c4554514b2221146b7044831e6d2 new file mode 100644 index 00000000..5ead02cc Binary files /dev/null and b/fuzz/corpora/cmp/790516605d79c4554514b2221146b7044831e6d2 differ diff --git a/fuzz/corpora/cmp/790623b72a347a4cd5378e0cae92e51cd61c7497 b/fuzz/corpora/cmp/790623b72a347a4cd5378e0cae92e51cd61c7497 new file mode 100644 index 00000000..ae6b6a85 Binary files /dev/null and b/fuzz/corpora/cmp/790623b72a347a4cd5378e0cae92e51cd61c7497 differ diff --git a/fuzz/corpora/cmp/7908d02046e0d09d5c92b18c7c711a734f606185 b/fuzz/corpora/cmp/7908d02046e0d09d5c92b18c7c711a734f606185 new file mode 100644 index 00000000..647c409d Binary files /dev/null and b/fuzz/corpora/cmp/7908d02046e0d09d5c92b18c7c711a734f606185 differ diff --git a/fuzz/corpora/cmp/790dbc07d106e2dcf1203606d3f1b63b64107d9b b/fuzz/corpora/cmp/790dbc07d106e2dcf1203606d3f1b63b64107d9b new file mode 100644 index 00000000..ecbe9a66 Binary files /dev/null and b/fuzz/corpora/cmp/790dbc07d106e2dcf1203606d3f1b63b64107d9b differ diff --git a/fuzz/corpora/cmp/7910c16693e2ebe06a52615126a3bfd86e63ed12 b/fuzz/corpora/cmp/7910c16693e2ebe06a52615126a3bfd86e63ed12 new file mode 100644 index 00000000..a9f2f7b7 Binary files /dev/null and b/fuzz/corpora/cmp/7910c16693e2ebe06a52615126a3bfd86e63ed12 differ diff --git a/fuzz/corpora/cmp/794059f04df24d97e7d27a54f3e0374cb89f9c60 b/fuzz/corpora/cmp/794059f04df24d97e7d27a54f3e0374cb89f9c60 new file mode 100644 index 00000000..ceefb5e6 Binary files /dev/null and b/fuzz/corpora/cmp/794059f04df24d97e7d27a54f3e0374cb89f9c60 differ diff --git a/fuzz/corpora/cmp/795050f01a3990deba945170fb382fbe0a7d2c41 b/fuzz/corpora/cmp/795050f01a3990deba945170fb382fbe0a7d2c41 new file mode 100644 index 00000000..80d8a046 Binary files /dev/null and b/fuzz/corpora/cmp/795050f01a3990deba945170fb382fbe0a7d2c41 differ diff --git a/fuzz/corpora/cmp/79731f7a0f5717d4188c198fc7e75c635d784e92 b/fuzz/corpora/cmp/79731f7a0f5717d4188c198fc7e75c635d784e92 new file mode 100644 index 00000000..1d15f918 Binary files /dev/null and b/fuzz/corpora/cmp/79731f7a0f5717d4188c198fc7e75c635d784e92 differ diff --git a/fuzz/corpora/cmp/797d5e074d110c3715a204e936082cee9d0bd948 b/fuzz/corpora/cmp/797d5e074d110c3715a204e936082cee9d0bd948 new file mode 100644 index 00000000..1e7fe17a Binary files /dev/null and b/fuzz/corpora/cmp/797d5e074d110c3715a204e936082cee9d0bd948 differ diff --git a/fuzz/corpora/cmp/7984c5d92018460a274d33889f58e20900b90b07 b/fuzz/corpora/cmp/7984c5d92018460a274d33889f58e20900b90b07 new file mode 100644 index 00000000..ad5bb07c Binary files /dev/null and b/fuzz/corpora/cmp/7984c5d92018460a274d33889f58e20900b90b07 differ diff --git a/fuzz/corpora/cmp/7986af7d6a9ff885187fe697115205ba5708975e b/fuzz/corpora/cmp/7986af7d6a9ff885187fe697115205ba5708975e new file mode 100644 index 00000000..79378a12 Binary files /dev/null and b/fuzz/corpora/cmp/7986af7d6a9ff885187fe697115205ba5708975e differ diff --git a/fuzz/corpora/cmp/798c9001e6597e210192fa4e6ab957da87348905 b/fuzz/corpora/cmp/798c9001e6597e210192fa4e6ab957da87348905 new file mode 100644 index 00000000..038081ff Binary files /dev/null and b/fuzz/corpora/cmp/798c9001e6597e210192fa4e6ab957da87348905 differ diff --git a/fuzz/corpora/cmp/799924c1cf0be1294fe89055be798e502cd756dc b/fuzz/corpora/cmp/799924c1cf0be1294fe89055be798e502cd756dc new file mode 100644 index 00000000..2bdcda2c Binary files /dev/null and b/fuzz/corpora/cmp/799924c1cf0be1294fe89055be798e502cd756dc differ diff --git a/fuzz/corpora/cmp/799ce8b8b7e141244f51bb22f7f9fc9fb7e36726 b/fuzz/corpora/cmp/799ce8b8b7e141244f51bb22f7f9fc9fb7e36726 new file mode 100644 index 00000000..51c8ef53 Binary files /dev/null and b/fuzz/corpora/cmp/799ce8b8b7e141244f51bb22f7f9fc9fb7e36726 differ diff --git a/fuzz/corpora/cmp/799e0e499b537504714644ef88cc03355c7dd762 b/fuzz/corpora/cmp/799e0e499b537504714644ef88cc03355c7dd762 new file mode 100644 index 00000000..f5cd141e Binary files /dev/null and b/fuzz/corpora/cmp/799e0e499b537504714644ef88cc03355c7dd762 differ diff --git a/fuzz/corpora/cmp/79aa5e9fbf3f7dbddb38fb31e2a54e920bdbaad0 b/fuzz/corpora/cmp/79aa5e9fbf3f7dbddb38fb31e2a54e920bdbaad0 new file mode 100644 index 00000000..635aa0b8 Binary files /dev/null and b/fuzz/corpora/cmp/79aa5e9fbf3f7dbddb38fb31e2a54e920bdbaad0 differ diff --git a/fuzz/corpora/cmp/79ae654e46287df30264254e58d49fe0d17f61d5 b/fuzz/corpora/cmp/79ae654e46287df30264254e58d49fe0d17f61d5 new file mode 100644 index 00000000..a6c5d957 Binary files /dev/null and b/fuzz/corpora/cmp/79ae654e46287df30264254e58d49fe0d17f61d5 differ diff --git a/fuzz/corpora/cmp/79bcbc7a3e77cdcc8d8a0be5d1a0aa5547afdb08 b/fuzz/corpora/cmp/79bcbc7a3e77cdcc8d8a0be5d1a0aa5547afdb08 new file mode 100644 index 00000000..6287a61b Binary files /dev/null and b/fuzz/corpora/cmp/79bcbc7a3e77cdcc8d8a0be5d1a0aa5547afdb08 differ diff --git a/fuzz/corpora/cmp/79c004b69c5973af0d28d08d395c495d47a3c073 b/fuzz/corpora/cmp/79c004b69c5973af0d28d08d395c495d47a3c073 new file mode 100644 index 00000000..a39a069f Binary files /dev/null and b/fuzz/corpora/cmp/79c004b69c5973af0d28d08d395c495d47a3c073 differ diff --git a/fuzz/corpora/cmp/79c425432e779e3601910cf9b77441f483248d16 b/fuzz/corpora/cmp/79c425432e779e3601910cf9b77441f483248d16 new file mode 100644 index 00000000..a8ddf84c Binary files /dev/null and b/fuzz/corpora/cmp/79c425432e779e3601910cf9b77441f483248d16 differ diff --git a/fuzz/corpora/cmp/79cbd5be2a5749b118acc5e2335cf9882fac2560 b/fuzz/corpora/cmp/79cbd5be2a5749b118acc5e2335cf9882fac2560 new file mode 100644 index 00000000..c7c9e46c Binary files /dev/null and b/fuzz/corpora/cmp/79cbd5be2a5749b118acc5e2335cf9882fac2560 differ diff --git a/fuzz/corpora/cmp/79cfca856fbce24831281891c0c0c9a66e10bcde b/fuzz/corpora/cmp/79cfca856fbce24831281891c0c0c9a66e10bcde new file mode 100644 index 00000000..4327a976 Binary files /dev/null and b/fuzz/corpora/cmp/79cfca856fbce24831281891c0c0c9a66e10bcde differ diff --git a/fuzz/corpora/cmp/79d201a14cb1ab6955edc62870804e0dace208f6 b/fuzz/corpora/cmp/79d201a14cb1ab6955edc62870804e0dace208f6 new file mode 100644 index 00000000..d62d9394 Binary files /dev/null and b/fuzz/corpora/cmp/79d201a14cb1ab6955edc62870804e0dace208f6 differ diff --git a/fuzz/corpora/cmp/79e679ad0649cbfc6f52f6198ae1d664431d3a16 b/fuzz/corpora/cmp/79e679ad0649cbfc6f52f6198ae1d664431d3a16 new file mode 100644 index 00000000..e3658271 Binary files /dev/null and b/fuzz/corpora/cmp/79e679ad0649cbfc6f52f6198ae1d664431d3a16 differ diff --git a/fuzz/corpora/cmp/79f00d124542aff9d722a2cee0111c3d2589e2b4 b/fuzz/corpora/cmp/79f00d124542aff9d722a2cee0111c3d2589e2b4 new file mode 100644 index 00000000..d13332de Binary files /dev/null and b/fuzz/corpora/cmp/79f00d124542aff9d722a2cee0111c3d2589e2b4 differ diff --git a/fuzz/corpora/cmp/79fb7feb965f1deadcc996eaf1994132312f170a b/fuzz/corpora/cmp/79fb7feb965f1deadcc996eaf1994132312f170a new file mode 100644 index 00000000..0df4831f Binary files /dev/null and b/fuzz/corpora/cmp/79fb7feb965f1deadcc996eaf1994132312f170a differ diff --git a/fuzz/corpora/cmp/7a0f7260b8d52c7a0bc6898537b3716defcfae57 b/fuzz/corpora/cmp/7a0f7260b8d52c7a0bc6898537b3716defcfae57 new file mode 100644 index 00000000..04233be4 Binary files /dev/null and b/fuzz/corpora/cmp/7a0f7260b8d52c7a0bc6898537b3716defcfae57 differ diff --git a/fuzz/corpora/cmp/7a1a537e298950166f4696970ead92dc9f9f7245 b/fuzz/corpora/cmp/7a1a537e298950166f4696970ead92dc9f9f7245 new file mode 100644 index 00000000..12074f15 Binary files /dev/null and b/fuzz/corpora/cmp/7a1a537e298950166f4696970ead92dc9f9f7245 differ diff --git a/fuzz/corpora/cmp/7a1b5057a54b99d14c10f826e9653d61de7c0f87 b/fuzz/corpora/cmp/7a1b5057a54b99d14c10f826e9653d61de7c0f87 new file mode 100644 index 00000000..5df18e24 Binary files /dev/null and b/fuzz/corpora/cmp/7a1b5057a54b99d14c10f826e9653d61de7c0f87 differ diff --git a/fuzz/corpora/cmp/7a558a6ba1b0e0a5c9acea67b0c55b9bc2a105aa b/fuzz/corpora/cmp/7a558a6ba1b0e0a5c9acea67b0c55b9bc2a105aa new file mode 100644 index 00000000..c451b1b7 Binary files /dev/null and b/fuzz/corpora/cmp/7a558a6ba1b0e0a5c9acea67b0c55b9bc2a105aa differ diff --git a/fuzz/corpora/cmp/7a5feb3a7ce97d44ca32d3060489173fc88b876a b/fuzz/corpora/cmp/7a5feb3a7ce97d44ca32d3060489173fc88b876a new file mode 100644 index 00000000..ee3c4483 Binary files /dev/null and b/fuzz/corpora/cmp/7a5feb3a7ce97d44ca32d3060489173fc88b876a differ diff --git a/fuzz/corpora/cmp/7a76da6dd23b5938f84a64b9322c74fb05deea71 b/fuzz/corpora/cmp/7a76da6dd23b5938f84a64b9322c74fb05deea71 new file mode 100644 index 00000000..97871c2f Binary files /dev/null and b/fuzz/corpora/cmp/7a76da6dd23b5938f84a64b9322c74fb05deea71 differ diff --git a/fuzz/corpora/cmp/7a7843248aa2b0112b46bde3046fd47c1da49b89 b/fuzz/corpora/cmp/7a7843248aa2b0112b46bde3046fd47c1da49b89 new file mode 100644 index 00000000..0c7b7b27 Binary files /dev/null and b/fuzz/corpora/cmp/7a7843248aa2b0112b46bde3046fd47c1da49b89 differ diff --git a/fuzz/corpora/cmp/7ab9e7df5d091fa700125c4ad840d9a6985944aa b/fuzz/corpora/cmp/7ab9e7df5d091fa700125c4ad840d9a6985944aa new file mode 100644 index 00000000..275c7a57 Binary files /dev/null and b/fuzz/corpora/cmp/7ab9e7df5d091fa700125c4ad840d9a6985944aa differ diff --git a/fuzz/corpora/cmp/7aceea99ccf1c0c85653aa7ba9d0cd06117fa4cf b/fuzz/corpora/cmp/7aceea99ccf1c0c85653aa7ba9d0cd06117fa4cf new file mode 100644 index 00000000..078d3014 Binary files /dev/null and b/fuzz/corpora/cmp/7aceea99ccf1c0c85653aa7ba9d0cd06117fa4cf differ diff --git a/fuzz/corpora/cmp/7adf59e32f6526975c866057eb595165c703384a b/fuzz/corpora/cmp/7adf59e32f6526975c866057eb595165c703384a new file mode 100644 index 00000000..c85784d5 Binary files /dev/null and b/fuzz/corpora/cmp/7adf59e32f6526975c866057eb595165c703384a differ diff --git a/fuzz/corpora/cmp/7aefba75c92768d0e51ea20e97f77deeb50ec12b b/fuzz/corpora/cmp/7aefba75c92768d0e51ea20e97f77deeb50ec12b new file mode 100644 index 00000000..d093af76 Binary files /dev/null and b/fuzz/corpora/cmp/7aefba75c92768d0e51ea20e97f77deeb50ec12b differ diff --git a/fuzz/corpora/cmp/7b076e636b82c4fb2d4414be05e560b7390861fc b/fuzz/corpora/cmp/7b076e636b82c4fb2d4414be05e560b7390861fc new file mode 100644 index 00000000..4d93c1c7 Binary files /dev/null and b/fuzz/corpora/cmp/7b076e636b82c4fb2d4414be05e560b7390861fc differ diff --git a/fuzz/corpora/cmp/7b0b11b57efa43b65063be5741b0af706acb6b1a b/fuzz/corpora/cmp/7b0b11b57efa43b65063be5741b0af706acb6b1a new file mode 100644 index 00000000..42a6bf73 Binary files /dev/null and b/fuzz/corpora/cmp/7b0b11b57efa43b65063be5741b0af706acb6b1a differ diff --git a/fuzz/corpora/cmp/7b12ed71ddec652b847858a26f3fd8a3b2c2bf3e b/fuzz/corpora/cmp/7b12ed71ddec652b847858a26f3fd8a3b2c2bf3e new file mode 100644 index 00000000..48c99f6e Binary files /dev/null and b/fuzz/corpora/cmp/7b12ed71ddec652b847858a26f3fd8a3b2c2bf3e differ diff --git a/fuzz/corpora/cmp/7b2639309139c2a1efaa407c71934adb8544c3a6 b/fuzz/corpora/cmp/7b2639309139c2a1efaa407c71934adb8544c3a6 new file mode 100644 index 00000000..0b1167d8 Binary files /dev/null and b/fuzz/corpora/cmp/7b2639309139c2a1efaa407c71934adb8544c3a6 differ diff --git a/fuzz/corpora/cmp/7b44a5b3ac552eb70c0a20e9e5414573f620cc81 b/fuzz/corpora/cmp/7b44a5b3ac552eb70c0a20e9e5414573f620cc81 new file mode 100644 index 00000000..75063920 Binary files /dev/null and b/fuzz/corpora/cmp/7b44a5b3ac552eb70c0a20e9e5414573f620cc81 differ diff --git a/fuzz/corpora/cmp/7b48a2ef92d4a7085db35b2953f0371b3ef925e9 b/fuzz/corpora/cmp/7b48a2ef92d4a7085db35b2953f0371b3ef925e9 new file mode 100644 index 00000000..90af4593 Binary files /dev/null and b/fuzz/corpora/cmp/7b48a2ef92d4a7085db35b2953f0371b3ef925e9 differ diff --git a/fuzz/corpora/cmp/7b48e6527b8eef1d95508b03d0ab108138546fe2 b/fuzz/corpora/cmp/7b48e6527b8eef1d95508b03d0ab108138546fe2 new file mode 100644 index 00000000..1d821454 Binary files /dev/null and b/fuzz/corpora/cmp/7b48e6527b8eef1d95508b03d0ab108138546fe2 differ diff --git a/fuzz/corpora/cmp/7b4e78b3ecc147614591a214bea9231605b1513e b/fuzz/corpora/cmp/7b4e78b3ecc147614591a214bea9231605b1513e new file mode 100644 index 00000000..5aadddc7 Binary files /dev/null and b/fuzz/corpora/cmp/7b4e78b3ecc147614591a214bea9231605b1513e differ diff --git a/fuzz/corpora/cmp/7b551c36b9f526939d396be71018f28912ca950c b/fuzz/corpora/cmp/7b551c36b9f526939d396be71018f28912ca950c new file mode 100644 index 00000000..f1327193 Binary files /dev/null and b/fuzz/corpora/cmp/7b551c36b9f526939d396be71018f28912ca950c differ diff --git a/fuzz/corpora/cmp/7b63fe2b60cdc9c73d86d20f641c25bf7b7957ae b/fuzz/corpora/cmp/7b63fe2b60cdc9c73d86d20f641c25bf7b7957ae new file mode 100644 index 00000000..1e755b00 Binary files /dev/null and b/fuzz/corpora/cmp/7b63fe2b60cdc9c73d86d20f641c25bf7b7957ae differ diff --git a/fuzz/corpora/cmp/7b71b3f5960a3f6ef38e939511d81bd5d8f037b1 b/fuzz/corpora/cmp/7b71b3f5960a3f6ef38e939511d81bd5d8f037b1 new file mode 100644 index 00000000..4e754202 Binary files /dev/null and b/fuzz/corpora/cmp/7b71b3f5960a3f6ef38e939511d81bd5d8f037b1 differ diff --git a/fuzz/corpora/cmp/7b76c5f313442661f27d8725ef8d712608914d40 b/fuzz/corpora/cmp/7b76c5f313442661f27d8725ef8d712608914d40 new file mode 100644 index 00000000..d0be9bf3 Binary files /dev/null and b/fuzz/corpora/cmp/7b76c5f313442661f27d8725ef8d712608914d40 differ diff --git a/fuzz/corpora/cmp/7b7764c3fedab06c445db80dcbbfa057375a97b4 b/fuzz/corpora/cmp/7b7764c3fedab06c445db80dcbbfa057375a97b4 new file mode 100644 index 00000000..4c2d3013 Binary files /dev/null and b/fuzz/corpora/cmp/7b7764c3fedab06c445db80dcbbfa057375a97b4 differ diff --git a/fuzz/corpora/cmp/7ba17a0a368c63209c76f1b6f77514871599b100 b/fuzz/corpora/cmp/7ba17a0a368c63209c76f1b6f77514871599b100 new file mode 100644 index 00000000..2b790c1b Binary files /dev/null and b/fuzz/corpora/cmp/7ba17a0a368c63209c76f1b6f77514871599b100 differ diff --git a/fuzz/corpora/cmp/7bd3c0be276bfb7fc5dfa35671deb466ce0ca4dc b/fuzz/corpora/cmp/7bd3c0be276bfb7fc5dfa35671deb466ce0ca4dc new file mode 100644 index 00000000..943ffbbe Binary files /dev/null and b/fuzz/corpora/cmp/7bd3c0be276bfb7fc5dfa35671deb466ce0ca4dc differ diff --git a/fuzz/corpora/cmp/7bdf0cf013d7337638a2e2d347be5e1a1549bb23 b/fuzz/corpora/cmp/7bdf0cf013d7337638a2e2d347be5e1a1549bb23 new file mode 100644 index 00000000..bb5f98db Binary files /dev/null and b/fuzz/corpora/cmp/7bdf0cf013d7337638a2e2d347be5e1a1549bb23 differ diff --git a/fuzz/corpora/cmp/7be1b94df5dc5fd6c990d909bf2e1caf45089434 b/fuzz/corpora/cmp/7be1b94df5dc5fd6c990d909bf2e1caf45089434 new file mode 100644 index 00000000..0445e884 Binary files /dev/null and b/fuzz/corpora/cmp/7be1b94df5dc5fd6c990d909bf2e1caf45089434 differ diff --git a/fuzz/corpora/cmp/7be2e134404ac9cfc49a66bd47881dda141fd21b b/fuzz/corpora/cmp/7be2e134404ac9cfc49a66bd47881dda141fd21b new file mode 100644 index 00000000..3b00b657 Binary files /dev/null and b/fuzz/corpora/cmp/7be2e134404ac9cfc49a66bd47881dda141fd21b differ diff --git a/fuzz/corpora/cmp/7bf0c934009647e5f7535c7eb1d5c3c09a9ac947 b/fuzz/corpora/cmp/7bf0c934009647e5f7535c7eb1d5c3c09a9ac947 new file mode 100644 index 00000000..e01fd7c8 Binary files /dev/null and b/fuzz/corpora/cmp/7bf0c934009647e5f7535c7eb1d5c3c09a9ac947 differ diff --git a/fuzz/corpora/cmp/7bf91dec1401f12e9f0e380d090e767903cb3c11 b/fuzz/corpora/cmp/7bf91dec1401f12e9f0e380d090e767903cb3c11 new file mode 100644 index 00000000..9d29294e Binary files /dev/null and b/fuzz/corpora/cmp/7bf91dec1401f12e9f0e380d090e767903cb3c11 differ diff --git a/fuzz/corpora/cmp/7bfc81f51aef12fb397395f85f443718c08665ee b/fuzz/corpora/cmp/7bfc81f51aef12fb397395f85f443718c08665ee new file mode 100644 index 00000000..811ced45 Binary files /dev/null and b/fuzz/corpora/cmp/7bfc81f51aef12fb397395f85f443718c08665ee differ diff --git a/fuzz/corpora/cmp/7c0696326b6d6b6b7aecb9f40f3be16f63d5fb50 b/fuzz/corpora/cmp/7c0696326b6d6b6b7aecb9f40f3be16f63d5fb50 new file mode 100644 index 00000000..6fdf2827 Binary files /dev/null and b/fuzz/corpora/cmp/7c0696326b6d6b6b7aecb9f40f3be16f63d5fb50 differ diff --git a/fuzz/corpora/cmp/7c0d9e9ee40a54a7d57e11e7a35b2a72b26ef469 b/fuzz/corpora/cmp/7c0d9e9ee40a54a7d57e11e7a35b2a72b26ef469 new file mode 100644 index 00000000..52ed1e6f Binary files /dev/null and b/fuzz/corpora/cmp/7c0d9e9ee40a54a7d57e11e7a35b2a72b26ef469 differ diff --git a/fuzz/corpora/cmp/7c1833d77e68d16ff80640a974945a08a458462a b/fuzz/corpora/cmp/7c1833d77e68d16ff80640a974945a08a458462a new file mode 100644 index 00000000..a4186747 Binary files /dev/null and b/fuzz/corpora/cmp/7c1833d77e68d16ff80640a974945a08a458462a differ diff --git a/fuzz/corpora/cmp/7c1b5df51074607359a7f78aa54b3b91162678fc b/fuzz/corpora/cmp/7c1b5df51074607359a7f78aa54b3b91162678fc new file mode 100644 index 00000000..bc625fb5 Binary files /dev/null and b/fuzz/corpora/cmp/7c1b5df51074607359a7f78aa54b3b91162678fc differ diff --git a/fuzz/corpora/cmp/7c2fd24aa2aba1b5d97bb3f159cf1597b1bf3b5e b/fuzz/corpora/cmp/7c2fd24aa2aba1b5d97bb3f159cf1597b1bf3b5e new file mode 100644 index 00000000..f59a911b --- /dev/null +++ b/fuzz/corpora/cmp/7c2fd24aa2aba1b5d97bb3f159cf1597b1bf3b5e @@ -0,0 +1 @@ +ÿ_ \ No newline at end of file diff --git a/fuzz/corpora/cmp/7c3ff236f4fa716ad04db9b7b541ded73175cc75 b/fuzz/corpora/cmp/7c3ff236f4fa716ad04db9b7b541ded73175cc75 new file mode 100644 index 00000000..869c7992 Binary files /dev/null and b/fuzz/corpora/cmp/7c3ff236f4fa716ad04db9b7b541ded73175cc75 differ diff --git a/fuzz/corpora/cmp/7c5a5c09339b14d534f4c044fbbbc1dd25dbae9a b/fuzz/corpora/cmp/7c5a5c09339b14d534f4c044fbbbc1dd25dbae9a new file mode 100644 index 00000000..6d8ca899 Binary files /dev/null and b/fuzz/corpora/cmp/7c5a5c09339b14d534f4c044fbbbc1dd25dbae9a differ diff --git a/fuzz/corpora/cmp/7c7f373ecd0c9a721ab159c940ad45c23c1b9857 b/fuzz/corpora/cmp/7c7f373ecd0c9a721ab159c940ad45c23c1b9857 new file mode 100644 index 00000000..7ffd051c Binary files /dev/null and b/fuzz/corpora/cmp/7c7f373ecd0c9a721ab159c940ad45c23c1b9857 differ diff --git a/fuzz/corpora/cmp/7c7fa1ec68a67235120e40d29441ba0900751d63 b/fuzz/corpora/cmp/7c7fa1ec68a67235120e40d29441ba0900751d63 new file mode 100644 index 00000000..91eb0474 Binary files /dev/null and b/fuzz/corpora/cmp/7c7fa1ec68a67235120e40d29441ba0900751d63 differ diff --git a/fuzz/corpora/cmp/7c936dc97e28b178d6f1c7ccc195dbe7888ba0b2 b/fuzz/corpora/cmp/7c936dc97e28b178d6f1c7ccc195dbe7888ba0b2 new file mode 100644 index 00000000..e015509c Binary files /dev/null and b/fuzz/corpora/cmp/7c936dc97e28b178d6f1c7ccc195dbe7888ba0b2 differ diff --git a/fuzz/corpora/cmp/7c9398be8e6b7ef4fdc37c84bb93196e425d5d1f b/fuzz/corpora/cmp/7c9398be8e6b7ef4fdc37c84bb93196e425d5d1f new file mode 100644 index 00000000..630d9bb7 Binary files /dev/null and b/fuzz/corpora/cmp/7c9398be8e6b7ef4fdc37c84bb93196e425d5d1f differ diff --git a/fuzz/corpora/cmp/7cb1366e3cfa76db6b309b981d4857489bb3bb76 b/fuzz/corpora/cmp/7cb1366e3cfa76db6b309b981d4857489bb3bb76 new file mode 100644 index 00000000..959d8598 Binary files /dev/null and b/fuzz/corpora/cmp/7cb1366e3cfa76db6b309b981d4857489bb3bb76 differ diff --git a/fuzz/corpora/cmp/7cb271d94f60da2d4ee62cac607a31367084e506 b/fuzz/corpora/cmp/7cb271d94f60da2d4ee62cac607a31367084e506 new file mode 100644 index 00000000..2da0be0c Binary files /dev/null and b/fuzz/corpora/cmp/7cb271d94f60da2d4ee62cac607a31367084e506 differ diff --git a/fuzz/corpora/cmp/7cb33e962e5ac203c87c6a1ada9a14c1e66c58e2 b/fuzz/corpora/cmp/7cb33e962e5ac203c87c6a1ada9a14c1e66c58e2 new file mode 100644 index 00000000..a1399676 Binary files /dev/null and b/fuzz/corpora/cmp/7cb33e962e5ac203c87c6a1ada9a14c1e66c58e2 differ diff --git a/fuzz/corpora/cmp/7cb97601944affc0fa667e75ebd2dac0ecdeb89b b/fuzz/corpora/cmp/7cb97601944affc0fa667e75ebd2dac0ecdeb89b new file mode 100644 index 00000000..df9bb907 Binary files /dev/null and b/fuzz/corpora/cmp/7cb97601944affc0fa667e75ebd2dac0ecdeb89b differ diff --git a/fuzz/corpora/cmp/7cc926939416b399490169f024211f245dac1a00 b/fuzz/corpora/cmp/7cc926939416b399490169f024211f245dac1a00 new file mode 100644 index 00000000..19eaabeb Binary files /dev/null and b/fuzz/corpora/cmp/7cc926939416b399490169f024211f245dac1a00 differ diff --git a/fuzz/corpora/cmp/7ccaa147f2eb7efd1a3d6744b84677ea57b3b508 b/fuzz/corpora/cmp/7ccaa147f2eb7efd1a3d6744b84677ea57b3b508 new file mode 100644 index 00000000..6ee54747 Binary files /dev/null and b/fuzz/corpora/cmp/7ccaa147f2eb7efd1a3d6744b84677ea57b3b508 differ diff --git a/fuzz/corpora/cmp/7ce95f1e6ed8fdd8def807984f1397a2669f9a0a b/fuzz/corpora/cmp/7ce95f1e6ed8fdd8def807984f1397a2669f9a0a new file mode 100644 index 00000000..e16c0e0f Binary files /dev/null and b/fuzz/corpora/cmp/7ce95f1e6ed8fdd8def807984f1397a2669f9a0a differ diff --git a/fuzz/corpora/cmp/7d0383518c2fa817cebe13319f77011bca6f52df b/fuzz/corpora/cmp/7d0383518c2fa817cebe13319f77011bca6f52df new file mode 100644 index 00000000..70c874e8 Binary files /dev/null and b/fuzz/corpora/cmp/7d0383518c2fa817cebe13319f77011bca6f52df differ diff --git a/fuzz/corpora/cmp/7d0b3c05cc6dc1eec62254b438dfd4bab2e75903 b/fuzz/corpora/cmp/7d0b3c05cc6dc1eec62254b438dfd4bab2e75903 new file mode 100644 index 00000000..86d90e7f Binary files /dev/null and b/fuzz/corpora/cmp/7d0b3c05cc6dc1eec62254b438dfd4bab2e75903 differ diff --git a/fuzz/corpora/cmp/7d11ac5506675603dd866d093d700091fc6c2879 b/fuzz/corpora/cmp/7d11ac5506675603dd866d093d700091fc6c2879 new file mode 100644 index 00000000..28e631fb Binary files /dev/null and b/fuzz/corpora/cmp/7d11ac5506675603dd866d093d700091fc6c2879 differ diff --git a/fuzz/corpora/cmp/7d1cde3ca9e0ded18cfd9c2b30b4d8d994fb3f89 b/fuzz/corpora/cmp/7d1cde3ca9e0ded18cfd9c2b30b4d8d994fb3f89 new file mode 100644 index 00000000..60e79a05 Binary files /dev/null and b/fuzz/corpora/cmp/7d1cde3ca9e0ded18cfd9c2b30b4d8d994fb3f89 differ diff --git a/fuzz/corpora/cmp/7d2b0c6fe2352d52612d50b4296e7b3fafc20141 b/fuzz/corpora/cmp/7d2b0c6fe2352d52612d50b4296e7b3fafc20141 new file mode 100644 index 00000000..8091850b Binary files /dev/null and b/fuzz/corpora/cmp/7d2b0c6fe2352d52612d50b4296e7b3fafc20141 differ diff --git a/fuzz/corpora/cmp/7d3e33e8edf208691baac6f38887840ef1a8764c b/fuzz/corpora/cmp/7d3e33e8edf208691baac6f38887840ef1a8764c new file mode 100644 index 00000000..7aee26ba Binary files /dev/null and b/fuzz/corpora/cmp/7d3e33e8edf208691baac6f38887840ef1a8764c differ diff --git a/fuzz/corpora/cmp/7d4d0dcfa27bb1ab2f814325ed458f765b2c8c5d b/fuzz/corpora/cmp/7d4d0dcfa27bb1ab2f814325ed458f765b2c8c5d new file mode 100644 index 00000000..21d7fa61 Binary files /dev/null and b/fuzz/corpora/cmp/7d4d0dcfa27bb1ab2f814325ed458f765b2c8c5d differ diff --git a/fuzz/corpora/cmp/7d7993d86e963bfc3d377ba7d7816c0f20f30166 b/fuzz/corpora/cmp/7d7993d86e963bfc3d377ba7d7816c0f20f30166 new file mode 100644 index 00000000..2657c198 Binary files /dev/null and b/fuzz/corpora/cmp/7d7993d86e963bfc3d377ba7d7816c0f20f30166 differ diff --git a/fuzz/corpora/cmp/7d937e9ff800564749463c387daf9b80355496ee b/fuzz/corpora/cmp/7d937e9ff800564749463c387daf9b80355496ee new file mode 100644 index 00000000..9f4c6ed8 Binary files /dev/null and b/fuzz/corpora/cmp/7d937e9ff800564749463c387daf9b80355496ee differ diff --git a/fuzz/corpora/cmp/7db3d1692477540dfa2090e79c4e89e1407a2795 b/fuzz/corpora/cmp/7db3d1692477540dfa2090e79c4e89e1407a2795 new file mode 100644 index 00000000..8f44a28a Binary files /dev/null and b/fuzz/corpora/cmp/7db3d1692477540dfa2090e79c4e89e1407a2795 differ diff --git a/fuzz/corpora/cmp/7dbb28eae3fd8eab558e0498b61511c4467ccd58 b/fuzz/corpora/cmp/7dbb28eae3fd8eab558e0498b61511c4467ccd58 new file mode 100644 index 00000000..35a30791 Binary files /dev/null and b/fuzz/corpora/cmp/7dbb28eae3fd8eab558e0498b61511c4467ccd58 differ diff --git a/fuzz/corpora/cmp/7dfcde1329ae3e3dd5653644f2ef1deeba8665f2 b/fuzz/corpora/cmp/7dfcde1329ae3e3dd5653644f2ef1deeba8665f2 new file mode 100644 index 00000000..01399f91 --- /dev/null +++ b/fuzz/corpora/cmp/7dfcde1329ae3e3dd5653644f2ef1deeba8665f2 @@ -0,0 +1 @@ +ÿÿÿÿÿ \ No newline at end of file diff --git a/fuzz/corpora/cmp/7e283567f681708c4cae3258258b632f51569cd6 b/fuzz/corpora/cmp/7e283567f681708c4cae3258258b632f51569cd6 new file mode 100644 index 00000000..aca0935a Binary files /dev/null and b/fuzz/corpora/cmp/7e283567f681708c4cae3258258b632f51569cd6 differ diff --git a/fuzz/corpora/cmp/7e2945b18ad12698d24f6b4ca204f6c07a39dd1e b/fuzz/corpora/cmp/7e2945b18ad12698d24f6b4ca204f6c07a39dd1e new file mode 100644 index 00000000..2d8b56e6 Binary files /dev/null and b/fuzz/corpora/cmp/7e2945b18ad12698d24f6b4ca204f6c07a39dd1e differ diff --git a/fuzz/corpora/cmp/7e2fd851f908f56dadd50108e29caffd5e3716db b/fuzz/corpora/cmp/7e2fd851f908f56dadd50108e29caffd5e3716db new file mode 100644 index 00000000..de88b858 Binary files /dev/null and b/fuzz/corpora/cmp/7e2fd851f908f56dadd50108e29caffd5e3716db differ diff --git a/fuzz/corpora/cmp/7e3801e579cb9b11ab9da9671a05786e01627366 b/fuzz/corpora/cmp/7e3801e579cb9b11ab9da9671a05786e01627366 new file mode 100644 index 00000000..7aed928a Binary files /dev/null and b/fuzz/corpora/cmp/7e3801e579cb9b11ab9da9671a05786e01627366 differ diff --git a/fuzz/corpora/cmp/7e568d17960bbc3796d49499282b44396991ddb0 b/fuzz/corpora/cmp/7e568d17960bbc3796d49499282b44396991ddb0 new file mode 100644 index 00000000..f4b26852 Binary files /dev/null and b/fuzz/corpora/cmp/7e568d17960bbc3796d49499282b44396991ddb0 differ diff --git a/fuzz/corpora/cmp/7e57cb10d39ba4b2d2beedde355641bed5bbe221 b/fuzz/corpora/cmp/7e57cb10d39ba4b2d2beedde355641bed5bbe221 new file mode 100644 index 00000000..b512188f Binary files /dev/null and b/fuzz/corpora/cmp/7e57cb10d39ba4b2d2beedde355641bed5bbe221 differ diff --git a/fuzz/corpora/cmp/7e5b3955b1d38ea2d45b438de40723ad999d6b62 b/fuzz/corpora/cmp/7e5b3955b1d38ea2d45b438de40723ad999d6b62 new file mode 100644 index 00000000..4850609a Binary files /dev/null and b/fuzz/corpora/cmp/7e5b3955b1d38ea2d45b438de40723ad999d6b62 differ diff --git a/fuzz/corpora/cmp/7e5ebf3bd720fc918654072de9477b5e3ced563a b/fuzz/corpora/cmp/7e5ebf3bd720fc918654072de9477b5e3ced563a new file mode 100644 index 00000000..817af7dd Binary files /dev/null and b/fuzz/corpora/cmp/7e5ebf3bd720fc918654072de9477b5e3ced563a differ diff --git a/fuzz/corpora/cmp/7e6749f01d62f3f472fe56f94d9eb1ae355f0e46 b/fuzz/corpora/cmp/7e6749f01d62f3f472fe56f94d9eb1ae355f0e46 new file mode 100644 index 00000000..0e0626ad Binary files /dev/null and b/fuzz/corpora/cmp/7e6749f01d62f3f472fe56f94d9eb1ae355f0e46 differ diff --git a/fuzz/corpora/cmp/7e6afe8d34dbf7292d72b54be938867f06771628 b/fuzz/corpora/cmp/7e6afe8d34dbf7292d72b54be938867f06771628 new file mode 100644 index 00000000..a7f5f0a4 Binary files /dev/null and b/fuzz/corpora/cmp/7e6afe8d34dbf7292d72b54be938867f06771628 differ diff --git a/fuzz/corpora/cmp/7e76673ccf10a412d2ec58495c501bc4887356b0 b/fuzz/corpora/cmp/7e76673ccf10a412d2ec58495c501bc4887356b0 new file mode 100644 index 00000000..0f29870c Binary files /dev/null and b/fuzz/corpora/cmp/7e76673ccf10a412d2ec58495c501bc4887356b0 differ diff --git a/fuzz/corpora/cmp/7e870ae9c00a9254a4bb23724d6e4a90248d9772 b/fuzz/corpora/cmp/7e870ae9c00a9254a4bb23724d6e4a90248d9772 new file mode 100644 index 00000000..54fe9d07 Binary files /dev/null and b/fuzz/corpora/cmp/7e870ae9c00a9254a4bb23724d6e4a90248d9772 differ diff --git a/fuzz/corpora/cmp/7e9d8b5193cad292b8e162c03aa59c73140a9794 b/fuzz/corpora/cmp/7e9d8b5193cad292b8e162c03aa59c73140a9794 new file mode 100644 index 00000000..37e33d6f Binary files /dev/null and b/fuzz/corpora/cmp/7e9d8b5193cad292b8e162c03aa59c73140a9794 differ diff --git a/fuzz/corpora/cmp/7ea09bfb7edf5a33753c1c9bddf0f57079b488b9 b/fuzz/corpora/cmp/7ea09bfb7edf5a33753c1c9bddf0f57079b488b9 new file mode 100644 index 00000000..e621fa15 Binary files /dev/null and b/fuzz/corpora/cmp/7ea09bfb7edf5a33753c1c9bddf0f57079b488b9 differ diff --git a/fuzz/corpora/cmp/7eb64ff3b442813961e2c587b66277fa3332e835 b/fuzz/corpora/cmp/7eb64ff3b442813961e2c587b66277fa3332e835 new file mode 100644 index 00000000..a66f4b9f Binary files /dev/null and b/fuzz/corpora/cmp/7eb64ff3b442813961e2c587b66277fa3332e835 differ diff --git a/fuzz/corpora/cmp/7ebe88fc2124590a23cab159157dbe3313c5f2bb b/fuzz/corpora/cmp/7ebe88fc2124590a23cab159157dbe3313c5f2bb new file mode 100644 index 00000000..219078b2 Binary files /dev/null and b/fuzz/corpora/cmp/7ebe88fc2124590a23cab159157dbe3313c5f2bb differ diff --git a/fuzz/corpora/cmp/7ecb88de8c447f631e6626de55f685eca92717ed b/fuzz/corpora/cmp/7ecb88de8c447f631e6626de55f685eca92717ed new file mode 100644 index 00000000..f7903d88 Binary files /dev/null and b/fuzz/corpora/cmp/7ecb88de8c447f631e6626de55f685eca92717ed differ diff --git a/fuzz/corpora/cmp/7ed9c8f2fad9605170db7cb97dbf8d051c4cf6dd b/fuzz/corpora/cmp/7ed9c8f2fad9605170db7cb97dbf8d051c4cf6dd new file mode 100644 index 00000000..74405539 Binary files /dev/null and b/fuzz/corpora/cmp/7ed9c8f2fad9605170db7cb97dbf8d051c4cf6dd differ diff --git a/fuzz/corpora/cmp/7eeb69875c8f96076990d3b516b7e117316acda1 b/fuzz/corpora/cmp/7eeb69875c8f96076990d3b516b7e117316acda1 new file mode 100644 index 00000000..713c71ee Binary files /dev/null and b/fuzz/corpora/cmp/7eeb69875c8f96076990d3b516b7e117316acda1 differ diff --git a/fuzz/corpora/cmp/7eff3f1f6950e15dffa71e32bc1f817d805000c7 b/fuzz/corpora/cmp/7eff3f1f6950e15dffa71e32bc1f817d805000c7 new file mode 100644 index 00000000..8770627d Binary files /dev/null and b/fuzz/corpora/cmp/7eff3f1f6950e15dffa71e32bc1f817d805000c7 differ diff --git a/fuzz/corpora/cmp/7f031a2c20d6ffda401cddea3b6fbdd40e6e709e b/fuzz/corpora/cmp/7f031a2c20d6ffda401cddea3b6fbdd40e6e709e new file mode 100644 index 00000000..6f279b90 Binary files /dev/null and b/fuzz/corpora/cmp/7f031a2c20d6ffda401cddea3b6fbdd40e6e709e differ diff --git a/fuzz/corpora/cmp/7f09c619e933f6bf31bb9592bf2e6a1f5579c21d b/fuzz/corpora/cmp/7f09c619e933f6bf31bb9592bf2e6a1f5579c21d new file mode 100644 index 00000000..dc94569c Binary files /dev/null and b/fuzz/corpora/cmp/7f09c619e933f6bf31bb9592bf2e6a1f5579c21d differ diff --git a/fuzz/corpora/cmp/7f0ab796c4f8e8d9aeafd5b50154afd6b9737755 b/fuzz/corpora/cmp/7f0ab796c4f8e8d9aeafd5b50154afd6b9737755 new file mode 100644 index 00000000..622a2ed0 Binary files /dev/null and b/fuzz/corpora/cmp/7f0ab796c4f8e8d9aeafd5b50154afd6b9737755 differ diff --git a/fuzz/corpora/cmp/7f13845b6a878ac09f207dc2a70bab744b3d5efd b/fuzz/corpora/cmp/7f13845b6a878ac09f207dc2a70bab744b3d5efd new file mode 100644 index 00000000..6fedb01d Binary files /dev/null and b/fuzz/corpora/cmp/7f13845b6a878ac09f207dc2a70bab744b3d5efd differ diff --git a/fuzz/corpora/cmp/7f1a92253ef7c5c921aa07a71af09b9e0120ae65 b/fuzz/corpora/cmp/7f1a92253ef7c5c921aa07a71af09b9e0120ae65 new file mode 100644 index 00000000..3acc660d Binary files /dev/null and b/fuzz/corpora/cmp/7f1a92253ef7c5c921aa07a71af09b9e0120ae65 differ diff --git a/fuzz/corpora/cmp/7f285610afcfea19bcfb066e9d42964cfe26ca64 b/fuzz/corpora/cmp/7f285610afcfea19bcfb066e9d42964cfe26ca64 new file mode 100644 index 00000000..63d9bdf0 Binary files /dev/null and b/fuzz/corpora/cmp/7f285610afcfea19bcfb066e9d42964cfe26ca64 differ diff --git a/fuzz/corpora/cmp/7f365de973430ff8ddaa711c1e4e0a9ee65d00e6 b/fuzz/corpora/cmp/7f365de973430ff8ddaa711c1e4e0a9ee65d00e6 new file mode 100644 index 00000000..62f03a71 Binary files /dev/null and b/fuzz/corpora/cmp/7f365de973430ff8ddaa711c1e4e0a9ee65d00e6 differ diff --git a/fuzz/corpora/cmp/7f544f6df721e745d2b7de1847a519a59d5e06b3 b/fuzz/corpora/cmp/7f544f6df721e745d2b7de1847a519a59d5e06b3 new file mode 100644 index 00000000..fed56659 Binary files /dev/null and b/fuzz/corpora/cmp/7f544f6df721e745d2b7de1847a519a59d5e06b3 differ diff --git a/fuzz/corpora/cmp/7f68933f5711a90518b8a6dc65ef5c0c4963bdbd b/fuzz/corpora/cmp/7f68933f5711a90518b8a6dc65ef5c0c4963bdbd new file mode 100644 index 00000000..5c28cb08 Binary files /dev/null and b/fuzz/corpora/cmp/7f68933f5711a90518b8a6dc65ef5c0c4963bdbd differ diff --git a/fuzz/corpora/cmp/7f6fdb7e1d7df24cfe7ddd829aa71a7c7e2213af b/fuzz/corpora/cmp/7f6fdb7e1d7df24cfe7ddd829aa71a7c7e2213af new file mode 100644 index 00000000..39a36a7c Binary files /dev/null and b/fuzz/corpora/cmp/7f6fdb7e1d7df24cfe7ddd829aa71a7c7e2213af differ diff --git a/fuzz/corpora/cmp/7f8337150ec71e7e2741efc387e0e1842cc51e0e b/fuzz/corpora/cmp/7f8337150ec71e7e2741efc387e0e1842cc51e0e new file mode 100644 index 00000000..e6a99efe Binary files /dev/null and b/fuzz/corpora/cmp/7f8337150ec71e7e2741efc387e0e1842cc51e0e differ diff --git a/fuzz/corpora/cmp/7f9b8cef79c7db5def7d2c331c36b3f3622193de b/fuzz/corpora/cmp/7f9b8cef79c7db5def7d2c331c36b3f3622193de new file mode 100644 index 00000000..74e0c237 Binary files /dev/null and b/fuzz/corpora/cmp/7f9b8cef79c7db5def7d2c331c36b3f3622193de differ diff --git a/fuzz/corpora/cmp/7f9ff2ec9484b2c665b15d3cd6d6deff51856619 b/fuzz/corpora/cmp/7f9ff2ec9484b2c665b15d3cd6d6deff51856619 new file mode 100644 index 00000000..3d76b88f Binary files /dev/null and b/fuzz/corpora/cmp/7f9ff2ec9484b2c665b15d3cd6d6deff51856619 differ diff --git a/fuzz/corpora/cmp/7fa4ca29cffd0e546a1fde01be71aa26f46c74e0 b/fuzz/corpora/cmp/7fa4ca29cffd0e546a1fde01be71aa26f46c74e0 new file mode 100644 index 00000000..66a73e0d Binary files /dev/null and b/fuzz/corpora/cmp/7fa4ca29cffd0e546a1fde01be71aa26f46c74e0 differ diff --git a/fuzz/corpora/cmp/7fa981a376d7b7ad85293963902eb03a2306d9cb b/fuzz/corpora/cmp/7fa981a376d7b7ad85293963902eb03a2306d9cb new file mode 100644 index 00000000..a1a0cdfb Binary files /dev/null and b/fuzz/corpora/cmp/7fa981a376d7b7ad85293963902eb03a2306d9cb differ diff --git a/fuzz/corpora/cmp/7fc20d7af52a2240ef21794f04475b6ecc27dbfa b/fuzz/corpora/cmp/7fc20d7af52a2240ef21794f04475b6ecc27dbfa new file mode 100644 index 00000000..8e28a395 Binary files /dev/null and b/fuzz/corpora/cmp/7fc20d7af52a2240ef21794f04475b6ecc27dbfa differ diff --git a/fuzz/corpora/cmp/7fe1d95e70cff6b3e46e25d1e3af3a5e60fd590a b/fuzz/corpora/cmp/7fe1d95e70cff6b3e46e25d1e3af3a5e60fd590a new file mode 100644 index 00000000..1b8c5112 Binary files /dev/null and b/fuzz/corpora/cmp/7fe1d95e70cff6b3e46e25d1e3af3a5e60fd590a differ diff --git a/fuzz/corpora/cmp/7fe3b6c096e64caf18c7d30d8331cc0608502edd b/fuzz/corpora/cmp/7fe3b6c096e64caf18c7d30d8331cc0608502edd new file mode 100644 index 00000000..776341fc Binary files /dev/null and b/fuzz/corpora/cmp/7fe3b6c096e64caf18c7d30d8331cc0608502edd differ diff --git a/fuzz/corpora/cmp/7fe9af9581bf0b4c56a6cd36445244c1772c7fa0 b/fuzz/corpora/cmp/7fe9af9581bf0b4c56a6cd36445244c1772c7fa0 new file mode 100644 index 00000000..25759428 Binary files /dev/null and b/fuzz/corpora/cmp/7fe9af9581bf0b4c56a6cd36445244c1772c7fa0 differ diff --git a/fuzz/corpora/cmp/7ff11e6e9cb2a56816cd325f0a5d6fe80eba6d11 b/fuzz/corpora/cmp/7ff11e6e9cb2a56816cd325f0a5d6fe80eba6d11 new file mode 100644 index 00000000..e5ba2e95 Binary files /dev/null and b/fuzz/corpora/cmp/7ff11e6e9cb2a56816cd325f0a5d6fe80eba6d11 differ diff --git a/fuzz/corpora/cmp/800f826eac76bba58f1048362822a59afd93ef45 b/fuzz/corpora/cmp/800f826eac76bba58f1048362822a59afd93ef45 new file mode 100644 index 00000000..ba4a65c5 Binary files /dev/null and b/fuzz/corpora/cmp/800f826eac76bba58f1048362822a59afd93ef45 differ diff --git a/fuzz/corpora/cmp/8018b999005fd58d3c0a4ba739fbb923d67ba0f0 b/fuzz/corpora/cmp/8018b999005fd58d3c0a4ba739fbb923d67ba0f0 new file mode 100644 index 00000000..a360ac00 Binary files /dev/null and b/fuzz/corpora/cmp/8018b999005fd58d3c0a4ba739fbb923d67ba0f0 differ diff --git a/fuzz/corpora/cmp/8029b611439665cd2f3cbd22bc14bbdd003ceab0 b/fuzz/corpora/cmp/8029b611439665cd2f3cbd22bc14bbdd003ceab0 new file mode 100644 index 00000000..1b9fef1c Binary files /dev/null and b/fuzz/corpora/cmp/8029b611439665cd2f3cbd22bc14bbdd003ceab0 differ diff --git a/fuzz/corpora/cmp/8044848984200dfd727653b4edf053ec75886770 b/fuzz/corpora/cmp/8044848984200dfd727653b4edf053ec75886770 new file mode 100644 index 00000000..e98c3bbe Binary files /dev/null and b/fuzz/corpora/cmp/8044848984200dfd727653b4edf053ec75886770 differ diff --git a/fuzz/corpora/cmp/804cbb5e42d0920ea72da3f1020ff1f0d13ed3bc b/fuzz/corpora/cmp/804cbb5e42d0920ea72da3f1020ff1f0d13ed3bc new file mode 100644 index 00000000..512ae7fa Binary files /dev/null and b/fuzz/corpora/cmp/804cbb5e42d0920ea72da3f1020ff1f0d13ed3bc differ diff --git a/fuzz/corpora/cmp/8054d398b40560f4168435125274b1aba2452d4d b/fuzz/corpora/cmp/8054d398b40560f4168435125274b1aba2452d4d new file mode 100644 index 00000000..2997ec7e Binary files /dev/null and b/fuzz/corpora/cmp/8054d398b40560f4168435125274b1aba2452d4d differ diff --git a/fuzz/corpora/cmp/807fb72fd49c26836d0c08d8b95bfe7ddc1574c4 b/fuzz/corpora/cmp/807fb72fd49c26836d0c08d8b95bfe7ddc1574c4 new file mode 100644 index 00000000..533710ac Binary files /dev/null and b/fuzz/corpora/cmp/807fb72fd49c26836d0c08d8b95bfe7ddc1574c4 differ diff --git a/fuzz/corpora/cmp/80844eec9ca0e70012e1ce87e3ac8a4e792a2876 b/fuzz/corpora/cmp/80844eec9ca0e70012e1ce87e3ac8a4e792a2876 new file mode 100644 index 00000000..a3952076 Binary files /dev/null and b/fuzz/corpora/cmp/80844eec9ca0e70012e1ce87e3ac8a4e792a2876 differ diff --git a/fuzz/corpora/cmp/8085cd5b85cc10cd5fc06768201eca82ccc40431 b/fuzz/corpora/cmp/8085cd5b85cc10cd5fc06768201eca82ccc40431 new file mode 100644 index 00000000..d6fb44c3 Binary files /dev/null and b/fuzz/corpora/cmp/8085cd5b85cc10cd5fc06768201eca82ccc40431 differ diff --git a/fuzz/corpora/cmp/80a013ccfa1915be52e7a324ebcd8a40cd7077f1 b/fuzz/corpora/cmp/80a013ccfa1915be52e7a324ebcd8a40cd7077f1 new file mode 100644 index 00000000..b40b79e3 Binary files /dev/null and b/fuzz/corpora/cmp/80a013ccfa1915be52e7a324ebcd8a40cd7077f1 differ diff --git a/fuzz/corpora/cmp/80aecdbbbc9bd9349adcfaaa0a25982648bfd431 b/fuzz/corpora/cmp/80aecdbbbc9bd9349adcfaaa0a25982648bfd431 new file mode 100644 index 00000000..32fa9fdb Binary files /dev/null and b/fuzz/corpora/cmp/80aecdbbbc9bd9349adcfaaa0a25982648bfd431 differ diff --git a/fuzz/corpora/cmp/80c14af7312a8ef6a20da44ab6918eb37970067f b/fuzz/corpora/cmp/80c14af7312a8ef6a20da44ab6918eb37970067f new file mode 100644 index 00000000..773c0fa8 Binary files /dev/null and b/fuzz/corpora/cmp/80c14af7312a8ef6a20da44ab6918eb37970067f differ diff --git a/fuzz/corpora/cmp/80cb12766d59e41240a02ecd204b2cd8088f415c b/fuzz/corpora/cmp/80cb12766d59e41240a02ecd204b2cd8088f415c new file mode 100644 index 00000000..6db86e58 Binary files /dev/null and b/fuzz/corpora/cmp/80cb12766d59e41240a02ecd204b2cd8088f415c differ diff --git a/fuzz/corpora/cmp/80db312678bf7af1bb8ac61fc57528089daab8fc b/fuzz/corpora/cmp/80db312678bf7af1bb8ac61fc57528089daab8fc new file mode 100644 index 00000000..70bf2ff6 Binary files /dev/null and b/fuzz/corpora/cmp/80db312678bf7af1bb8ac61fc57528089daab8fc differ diff --git a/fuzz/corpora/cmp/80e7dc0959a2b07e7675b50cb3694cce658f2d09 b/fuzz/corpora/cmp/80e7dc0959a2b07e7675b50cb3694cce658f2d09 new file mode 100644 index 00000000..059e85ae Binary files /dev/null and b/fuzz/corpora/cmp/80e7dc0959a2b07e7675b50cb3694cce658f2d09 differ diff --git a/fuzz/corpora/cmp/80fd57a143c8acd0afbf0e2becf722942d80a4b0 b/fuzz/corpora/cmp/80fd57a143c8acd0afbf0e2becf722942d80a4b0 new file mode 100644 index 00000000..f6b1cccd Binary files /dev/null and b/fuzz/corpora/cmp/80fd57a143c8acd0afbf0e2becf722942d80a4b0 differ diff --git a/fuzz/corpora/cmp/810d6b9731acb915c7e9d21675501a495d10f761 b/fuzz/corpora/cmp/810d6b9731acb915c7e9d21675501a495d10f761 new file mode 100644 index 00000000..7f11b375 Binary files /dev/null and b/fuzz/corpora/cmp/810d6b9731acb915c7e9d21675501a495d10f761 differ diff --git a/fuzz/corpora/cmp/811e12ff4d3e819233030b4db78c162f2ee59303 b/fuzz/corpora/cmp/811e12ff4d3e819233030b4db78c162f2ee59303 new file mode 100644 index 00000000..adafb778 Binary files /dev/null and b/fuzz/corpora/cmp/811e12ff4d3e819233030b4db78c162f2ee59303 differ diff --git a/fuzz/corpora/cmp/8124cb836460115f91c27d4a207aab38060b2169 b/fuzz/corpora/cmp/8124cb836460115f91c27d4a207aab38060b2169 new file mode 100644 index 00000000..00b619ce Binary files /dev/null and b/fuzz/corpora/cmp/8124cb836460115f91c27d4a207aab38060b2169 differ diff --git a/fuzz/corpora/cmp/813eb683187e9c2366ee78d14ba29ac695f0ee8a b/fuzz/corpora/cmp/813eb683187e9c2366ee78d14ba29ac695f0ee8a new file mode 100644 index 00000000..334bdae7 Binary files /dev/null and b/fuzz/corpora/cmp/813eb683187e9c2366ee78d14ba29ac695f0ee8a differ diff --git a/fuzz/corpora/cmp/814dedb7b15eae374dfcc4f6e3c6a37b9bad66d3 b/fuzz/corpora/cmp/814dedb7b15eae374dfcc4f6e3c6a37b9bad66d3 new file mode 100644 index 00000000..84f517f8 Binary files /dev/null and b/fuzz/corpora/cmp/814dedb7b15eae374dfcc4f6e3c6a37b9bad66d3 differ diff --git a/fuzz/corpora/cmp/8154db1f60e1f2dba110cd2d422f195834aa2882 b/fuzz/corpora/cmp/8154db1f60e1f2dba110cd2d422f195834aa2882 new file mode 100644 index 00000000..ad441e0a Binary files /dev/null and b/fuzz/corpora/cmp/8154db1f60e1f2dba110cd2d422f195834aa2882 differ diff --git a/fuzz/corpora/cmp/816a167b270b0bb363e4b87bdce8f31477724fa2 b/fuzz/corpora/cmp/816a167b270b0bb363e4b87bdce8f31477724fa2 new file mode 100644 index 00000000..22b67341 Binary files /dev/null and b/fuzz/corpora/cmp/816a167b270b0bb363e4b87bdce8f31477724fa2 differ diff --git a/fuzz/corpora/cmp/816fa04250024bc2c4629965235eaf48792a4b97 b/fuzz/corpora/cmp/816fa04250024bc2c4629965235eaf48792a4b97 new file mode 100644 index 00000000..c4e75d07 Binary files /dev/null and b/fuzz/corpora/cmp/816fa04250024bc2c4629965235eaf48792a4b97 differ diff --git a/fuzz/corpora/cmp/819f04836dd46b5bccbff2cff9ae05294f9d9331 b/fuzz/corpora/cmp/819f04836dd46b5bccbff2cff9ae05294f9d9331 new file mode 100644 index 00000000..f0f1d34c Binary files /dev/null and b/fuzz/corpora/cmp/819f04836dd46b5bccbff2cff9ae05294f9d9331 differ diff --git a/fuzz/corpora/cmp/81b6b3675858e9c583075724fe339a8916aa0fd5 b/fuzz/corpora/cmp/81b6b3675858e9c583075724fe339a8916aa0fd5 new file mode 100644 index 00000000..e6547754 Binary files /dev/null and b/fuzz/corpora/cmp/81b6b3675858e9c583075724fe339a8916aa0fd5 differ diff --git a/fuzz/corpora/cmp/81bc1a5f5e813f5e179c02e5a29859d7790765ea b/fuzz/corpora/cmp/81bc1a5f5e813f5e179c02e5a29859d7790765ea new file mode 100644 index 00000000..f0ae63c1 Binary files /dev/null and b/fuzz/corpora/cmp/81bc1a5f5e813f5e179c02e5a29859d7790765ea differ diff --git a/fuzz/corpora/cmp/81bf33081d81d6dc85ed6d1b896710d992291a3f b/fuzz/corpora/cmp/81bf33081d81d6dc85ed6d1b896710d992291a3f new file mode 100644 index 00000000..338fc280 Binary files /dev/null and b/fuzz/corpora/cmp/81bf33081d81d6dc85ed6d1b896710d992291a3f differ diff --git a/fuzz/corpora/cmp/81e4c71b8eb74e3f06a9f5094be28e50fda0add4 b/fuzz/corpora/cmp/81e4c71b8eb74e3f06a9f5094be28e50fda0add4 new file mode 100644 index 00000000..afcb932c Binary files /dev/null and b/fuzz/corpora/cmp/81e4c71b8eb74e3f06a9f5094be28e50fda0add4 differ diff --git a/fuzz/corpora/cmp/81f3c6f1ae7e5d020615cd0e3be73891cce4be1b b/fuzz/corpora/cmp/81f3c6f1ae7e5d020615cd0e3be73891cce4be1b new file mode 100644 index 00000000..9d64b106 Binary files /dev/null and b/fuzz/corpora/cmp/81f3c6f1ae7e5d020615cd0e3be73891cce4be1b differ diff --git a/fuzz/corpora/cmp/823814da0ee79f0236b39473cbcbbff7e6298ad3 b/fuzz/corpora/cmp/823814da0ee79f0236b39473cbcbbff7e6298ad3 new file mode 100644 index 00000000..e84c64d8 Binary files /dev/null and b/fuzz/corpora/cmp/823814da0ee79f0236b39473cbcbbff7e6298ad3 differ diff --git a/fuzz/corpora/cmp/825f8e100823dae584bfc48c8b30fb53157be5d9 b/fuzz/corpora/cmp/825f8e100823dae584bfc48c8b30fb53157be5d9 new file mode 100644 index 00000000..2938ce57 Binary files /dev/null and b/fuzz/corpora/cmp/825f8e100823dae584bfc48c8b30fb53157be5d9 differ diff --git a/fuzz/corpora/cmp/826d262a1266e638a229fc84f1fbfe8beed1b92b b/fuzz/corpora/cmp/826d262a1266e638a229fc84f1fbfe8beed1b92b new file mode 100644 index 00000000..273dfe75 Binary files /dev/null and b/fuzz/corpora/cmp/826d262a1266e638a229fc84f1fbfe8beed1b92b differ diff --git a/fuzz/corpora/cmp/8280922c99367afcd86005e9a6b991a2a7102c20 b/fuzz/corpora/cmp/8280922c99367afcd86005e9a6b991a2a7102c20 new file mode 100644 index 00000000..0dc865d0 Binary files /dev/null and b/fuzz/corpora/cmp/8280922c99367afcd86005e9a6b991a2a7102c20 differ diff --git a/fuzz/corpora/cmp/8281a78dfbefd74240a9a67d91ef549f68bb3d89 b/fuzz/corpora/cmp/8281a78dfbefd74240a9a67d91ef549f68bb3d89 new file mode 100644 index 00000000..1425cec6 Binary files /dev/null and b/fuzz/corpora/cmp/8281a78dfbefd74240a9a67d91ef549f68bb3d89 differ diff --git a/fuzz/corpora/cmp/828ff99b8247df210bbd4fccd3597e9f84020c65 b/fuzz/corpora/cmp/828ff99b8247df210bbd4fccd3597e9f84020c65 new file mode 100644 index 00000000..9c595de1 Binary files /dev/null and b/fuzz/corpora/cmp/828ff99b8247df210bbd4fccd3597e9f84020c65 differ diff --git a/fuzz/corpora/cmp/829719f389526f39417a16b84a37020afc5780a9 b/fuzz/corpora/cmp/829719f389526f39417a16b84a37020afc5780a9 new file mode 100644 index 00000000..44ed6097 Binary files /dev/null and b/fuzz/corpora/cmp/829719f389526f39417a16b84a37020afc5780a9 differ diff --git a/fuzz/corpora/cmp/82a6853eab2f728678565e6fcef651bffbeb7c9a b/fuzz/corpora/cmp/82a6853eab2f728678565e6fcef651bffbeb7c9a new file mode 100644 index 00000000..43fdf1a0 Binary files /dev/null and b/fuzz/corpora/cmp/82a6853eab2f728678565e6fcef651bffbeb7c9a differ diff --git a/fuzz/corpora/cmp/82ad17b008d33183d4f583f117dbd5a75c7c3e5a b/fuzz/corpora/cmp/82ad17b008d33183d4f583f117dbd5a75c7c3e5a new file mode 100644 index 00000000..6544c331 Binary files /dev/null and b/fuzz/corpora/cmp/82ad17b008d33183d4f583f117dbd5a75c7c3e5a differ diff --git a/fuzz/corpora/cmp/82c49449144cd394b69970b2f29722b77dbe8578 b/fuzz/corpora/cmp/82c49449144cd394b69970b2f29722b77dbe8578 new file mode 100644 index 00000000..d904b738 Binary files /dev/null and b/fuzz/corpora/cmp/82c49449144cd394b69970b2f29722b77dbe8578 differ diff --git a/fuzz/corpora/cmp/82d6d2652c44d66df475d9792081dc57556ed762 b/fuzz/corpora/cmp/82d6d2652c44d66df475d9792081dc57556ed762 new file mode 100644 index 00000000..1fcdd5ba Binary files /dev/null and b/fuzz/corpora/cmp/82d6d2652c44d66df475d9792081dc57556ed762 differ diff --git a/fuzz/corpora/cmp/82e55ce24a612614a913bd4681c62bc4688170cc b/fuzz/corpora/cmp/82e55ce24a612614a913bd4681c62bc4688170cc new file mode 100644 index 00000000..2b556ba3 Binary files /dev/null and b/fuzz/corpora/cmp/82e55ce24a612614a913bd4681c62bc4688170cc differ diff --git a/fuzz/corpora/cmp/82e8692fca6dcea4f8d4175d83bc6ef069f4e650 b/fuzz/corpora/cmp/82e8692fca6dcea4f8d4175d83bc6ef069f4e650 new file mode 100644 index 00000000..971770ea Binary files /dev/null and b/fuzz/corpora/cmp/82e8692fca6dcea4f8d4175d83bc6ef069f4e650 differ diff --git a/fuzz/corpora/cmp/82eab6d0b38285b4ac55db7a30eef3fb54c41f8e b/fuzz/corpora/cmp/82eab6d0b38285b4ac55db7a30eef3fb54c41f8e new file mode 100644 index 00000000..041109ac Binary files /dev/null and b/fuzz/corpora/cmp/82eab6d0b38285b4ac55db7a30eef3fb54c41f8e differ diff --git a/fuzz/corpora/cmp/82fd5438dd80af6e9ab4477150fb857a2c8e3d51 b/fuzz/corpora/cmp/82fd5438dd80af6e9ab4477150fb857a2c8e3d51 new file mode 100644 index 00000000..39c0873c Binary files /dev/null and b/fuzz/corpora/cmp/82fd5438dd80af6e9ab4477150fb857a2c8e3d51 differ diff --git a/fuzz/corpora/cmp/830e936eaa365305f5d8413a7fb8d7079efbed7b b/fuzz/corpora/cmp/830e936eaa365305f5d8413a7fb8d7079efbed7b new file mode 100644 index 00000000..ccd37ef4 Binary files /dev/null and b/fuzz/corpora/cmp/830e936eaa365305f5d8413a7fb8d7079efbed7b differ diff --git a/fuzz/corpora/cmp/83144b71383d9ad2e47e8169cee25b27bbef6bfb b/fuzz/corpora/cmp/83144b71383d9ad2e47e8169cee25b27bbef6bfb new file mode 100644 index 00000000..e120c807 Binary files /dev/null and b/fuzz/corpora/cmp/83144b71383d9ad2e47e8169cee25b27bbef6bfb differ diff --git a/fuzz/corpora/cmp/8321c4b17e3a5f57cc7a10cbecee55cb3e1de944 b/fuzz/corpora/cmp/8321c4b17e3a5f57cc7a10cbecee55cb3e1de944 new file mode 100644 index 00000000..fefbc937 Binary files /dev/null and b/fuzz/corpora/cmp/8321c4b17e3a5f57cc7a10cbecee55cb3e1de944 differ diff --git a/fuzz/corpora/cmp/8331d63ae94ade7390b7024acbbe1055a9439670 b/fuzz/corpora/cmp/8331d63ae94ade7390b7024acbbe1055a9439670 new file mode 100644 index 00000000..c11edb7f Binary files /dev/null and b/fuzz/corpora/cmp/8331d63ae94ade7390b7024acbbe1055a9439670 differ diff --git a/fuzz/corpora/cmp/83388289164b4bdc74e0a353fc0df7e5fd0827aa b/fuzz/corpora/cmp/83388289164b4bdc74e0a353fc0df7e5fd0827aa new file mode 100644 index 00000000..def0a532 Binary files /dev/null and b/fuzz/corpora/cmp/83388289164b4bdc74e0a353fc0df7e5fd0827aa differ diff --git a/fuzz/corpora/cmp/8342e50ff5c7ebbd0b2971944faf3f2fabab9e06 b/fuzz/corpora/cmp/8342e50ff5c7ebbd0b2971944faf3f2fabab9e06 new file mode 100644 index 00000000..b26afaa1 Binary files /dev/null and b/fuzz/corpora/cmp/8342e50ff5c7ebbd0b2971944faf3f2fabab9e06 differ diff --git a/fuzz/corpora/cmp/8347b44cdaba798df6114094c0189fa208180e54 b/fuzz/corpora/cmp/8347b44cdaba798df6114094c0189fa208180e54 new file mode 100644 index 00000000..ab6d4bf7 Binary files /dev/null and b/fuzz/corpora/cmp/8347b44cdaba798df6114094c0189fa208180e54 differ diff --git a/fuzz/corpora/cmp/835bbd6e168df7cf279a87a9d2fb7a5ce2383018 b/fuzz/corpora/cmp/835bbd6e168df7cf279a87a9d2fb7a5ce2383018 new file mode 100644 index 00000000..96f84b3d Binary files /dev/null and b/fuzz/corpora/cmp/835bbd6e168df7cf279a87a9d2fb7a5ce2383018 differ diff --git a/fuzz/corpora/cmp/8364e461065b8be89f73d037bb4da4506c6c0bd0 b/fuzz/corpora/cmp/8364e461065b8be89f73d037bb4da4506c6c0bd0 new file mode 100644 index 00000000..ba046fb2 Binary files /dev/null and b/fuzz/corpora/cmp/8364e461065b8be89f73d037bb4da4506c6c0bd0 differ diff --git a/fuzz/corpora/cmp/837d90b30274cbe8c83534d55763bb870045591a b/fuzz/corpora/cmp/837d90b30274cbe8c83534d55763bb870045591a new file mode 100644 index 00000000..5215b865 Binary files /dev/null and b/fuzz/corpora/cmp/837d90b30274cbe8c83534d55763bb870045591a differ diff --git a/fuzz/corpora/cmp/8382de696d90eaaa39e8b6b793303d0aaa2127b1 b/fuzz/corpora/cmp/8382de696d90eaaa39e8b6b793303d0aaa2127b1 new file mode 100644 index 00000000..b2d7830b Binary files /dev/null and b/fuzz/corpora/cmp/8382de696d90eaaa39e8b6b793303d0aaa2127b1 differ diff --git a/fuzz/corpora/cmp/838dd635f2e056fe0774b40967333ab39f49af7a b/fuzz/corpora/cmp/838dd635f2e056fe0774b40967333ab39f49af7a new file mode 100644 index 00000000..504580ec Binary files /dev/null and b/fuzz/corpora/cmp/838dd635f2e056fe0774b40967333ab39f49af7a differ diff --git a/fuzz/corpora/cmp/838dfaab980aef7ad992dcebc9a9a839c7c6cf8c b/fuzz/corpora/cmp/838dfaab980aef7ad992dcebc9a9a839c7c6cf8c new file mode 100644 index 00000000..4026e297 Binary files /dev/null and b/fuzz/corpora/cmp/838dfaab980aef7ad992dcebc9a9a839c7c6cf8c differ diff --git a/fuzz/corpora/cmp/8395fabd23e02f89a076dddbf0be990e4e5c8814 b/fuzz/corpora/cmp/8395fabd23e02f89a076dddbf0be990e4e5c8814 new file mode 100644 index 00000000..0d5edda0 Binary files /dev/null and b/fuzz/corpora/cmp/8395fabd23e02f89a076dddbf0be990e4e5c8814 differ diff --git a/fuzz/corpora/cmp/8396bd07a20e620bbce26f5d224accd79ce9266c b/fuzz/corpora/cmp/8396bd07a20e620bbce26f5d224accd79ce9266c new file mode 100644 index 00000000..5cb2e24e Binary files /dev/null and b/fuzz/corpora/cmp/8396bd07a20e620bbce26f5d224accd79ce9266c differ diff --git a/fuzz/corpora/cmp/83a1b8edf3af3776aff409b8e62f093131514122 b/fuzz/corpora/cmp/83a1b8edf3af3776aff409b8e62f093131514122 new file mode 100644 index 00000000..8086890f Binary files /dev/null and b/fuzz/corpora/cmp/83a1b8edf3af3776aff409b8e62f093131514122 differ diff --git a/fuzz/corpora/cmp/84277fba57a3f4ff5a82a6470725d27792d91a80 b/fuzz/corpora/cmp/84277fba57a3f4ff5a82a6470725d27792d91a80 new file mode 100644 index 00000000..abeb7781 Binary files /dev/null and b/fuzz/corpora/cmp/84277fba57a3f4ff5a82a6470725d27792d91a80 differ diff --git a/fuzz/corpora/cmp/843e37e685434fa14b401bd5b1d757fcc64babed b/fuzz/corpora/cmp/843e37e685434fa14b401bd5b1d757fcc64babed new file mode 100644 index 00000000..db8cde6e Binary files /dev/null and b/fuzz/corpora/cmp/843e37e685434fa14b401bd5b1d757fcc64babed differ diff --git a/fuzz/corpora/cmp/844b9b41dba321cd7315337193b56ce53a4d65eb b/fuzz/corpora/cmp/844b9b41dba321cd7315337193b56ce53a4d65eb new file mode 100644 index 00000000..576f961f Binary files /dev/null and b/fuzz/corpora/cmp/844b9b41dba321cd7315337193b56ce53a4d65eb differ diff --git a/fuzz/corpora/cmp/844e03b3494a5afeea1ac1f8e3bc2a167cdf209c b/fuzz/corpora/cmp/844e03b3494a5afeea1ac1f8e3bc2a167cdf209c new file mode 100644 index 00000000..01035b9d Binary files /dev/null and b/fuzz/corpora/cmp/844e03b3494a5afeea1ac1f8e3bc2a167cdf209c differ diff --git a/fuzz/corpora/cmp/84678ef5a3dae2774fc5dde1adfe480548d3b619 b/fuzz/corpora/cmp/84678ef5a3dae2774fc5dde1adfe480548d3b619 new file mode 100644 index 00000000..a41530ee Binary files /dev/null and b/fuzz/corpora/cmp/84678ef5a3dae2774fc5dde1adfe480548d3b619 differ diff --git a/fuzz/corpora/cmp/846e0cf4d8fe7364e2dd4d2f68286bc8578cf27d b/fuzz/corpora/cmp/846e0cf4d8fe7364e2dd4d2f68286bc8578cf27d new file mode 100644 index 00000000..63444701 Binary files /dev/null and b/fuzz/corpora/cmp/846e0cf4d8fe7364e2dd4d2f68286bc8578cf27d differ diff --git a/fuzz/corpora/cmp/847157d2986ac8d1fa9ede342a4a3427d6ee343a b/fuzz/corpora/cmp/847157d2986ac8d1fa9ede342a4a3427d6ee343a new file mode 100644 index 00000000..7b2ca1ab Binary files /dev/null and b/fuzz/corpora/cmp/847157d2986ac8d1fa9ede342a4a3427d6ee343a differ diff --git a/fuzz/corpora/cmp/8473c26fc884aa7aa967151332ee073e42f5b53a b/fuzz/corpora/cmp/8473c26fc884aa7aa967151332ee073e42f5b53a new file mode 100644 index 00000000..9e65fcc4 Binary files /dev/null and b/fuzz/corpora/cmp/8473c26fc884aa7aa967151332ee073e42f5b53a differ diff --git a/fuzz/corpora/cmp/8479bc8ff7c8bfe4e092fe55e1d76f2b889f2b4c b/fuzz/corpora/cmp/8479bc8ff7c8bfe4e092fe55e1d76f2b889f2b4c new file mode 100644 index 00000000..f7fb5fe2 Binary files /dev/null and b/fuzz/corpora/cmp/8479bc8ff7c8bfe4e092fe55e1d76f2b889f2b4c differ diff --git a/fuzz/corpora/cmp/84a1143b3c113b8b7b4630aaddf5c9d54a963023 b/fuzz/corpora/cmp/84a1143b3c113b8b7b4630aaddf5c9d54a963023 new file mode 100644 index 00000000..4931bc9b Binary files /dev/null and b/fuzz/corpora/cmp/84a1143b3c113b8b7b4630aaddf5c9d54a963023 differ diff --git a/fuzz/corpora/cmp/84a9b2d4dafee44eb8d7bab23678dacd37c5b3ce b/fuzz/corpora/cmp/84a9b2d4dafee44eb8d7bab23678dacd37c5b3ce new file mode 100644 index 00000000..009773b3 Binary files /dev/null and b/fuzz/corpora/cmp/84a9b2d4dafee44eb8d7bab23678dacd37c5b3ce differ diff --git a/fuzz/corpora/cmp/84bbaa4f13e43c47e1de02bb2b1b2dffa75d697c b/fuzz/corpora/cmp/84bbaa4f13e43c47e1de02bb2b1b2dffa75d697c new file mode 100644 index 00000000..4283de32 Binary files /dev/null and b/fuzz/corpora/cmp/84bbaa4f13e43c47e1de02bb2b1b2dffa75d697c differ diff --git a/fuzz/corpora/cmp/84cb077fc475c8dee1af131f30339ecd7b6575fc b/fuzz/corpora/cmp/84cb077fc475c8dee1af131f30339ecd7b6575fc new file mode 100644 index 00000000..03795afb Binary files /dev/null and b/fuzz/corpora/cmp/84cb077fc475c8dee1af131f30339ecd7b6575fc differ diff --git a/fuzz/corpora/cmp/84ce959cb2d3451cf57a8f345ae7bc8e69ed6a3c b/fuzz/corpora/cmp/84ce959cb2d3451cf57a8f345ae7bc8e69ed6a3c new file mode 100644 index 00000000..06b05c25 Binary files /dev/null and b/fuzz/corpora/cmp/84ce959cb2d3451cf57a8f345ae7bc8e69ed6a3c differ diff --git a/fuzz/corpora/cmp/84d3d95d1ae0e36b498d91aa62d848fda9b59f63 b/fuzz/corpora/cmp/84d3d95d1ae0e36b498d91aa62d848fda9b59f63 new file mode 100644 index 00000000..ac156429 Binary files /dev/null and b/fuzz/corpora/cmp/84d3d95d1ae0e36b498d91aa62d848fda9b59f63 differ diff --git a/fuzz/corpora/cmp/84df881c1f133a3e2c255a93eb03c20e1b82dc72 b/fuzz/corpora/cmp/84df881c1f133a3e2c255a93eb03c20e1b82dc72 new file mode 100644 index 00000000..4f3d1e59 Binary files /dev/null and b/fuzz/corpora/cmp/84df881c1f133a3e2c255a93eb03c20e1b82dc72 differ diff --git a/fuzz/corpora/cmp/84e2ed73d27d791e39bbd05ab2ab5b98e666698e b/fuzz/corpora/cmp/84e2ed73d27d791e39bbd05ab2ab5b98e666698e new file mode 100644 index 00000000..31832d18 Binary files /dev/null and b/fuzz/corpora/cmp/84e2ed73d27d791e39bbd05ab2ab5b98e666698e differ diff --git a/fuzz/corpora/cmp/84f27c6554297587edab738ec01c3483ebd3d378 b/fuzz/corpora/cmp/84f27c6554297587edab738ec01c3483ebd3d378 new file mode 100644 index 00000000..d4a0d16a Binary files /dev/null and b/fuzz/corpora/cmp/84f27c6554297587edab738ec01c3483ebd3d378 differ diff --git a/fuzz/corpora/cmp/84f954918743820fe4f0b2f2e0a11efeb739466d b/fuzz/corpora/cmp/84f954918743820fe4f0b2f2e0a11efeb739466d new file mode 100644 index 00000000..08fa1fb4 Binary files /dev/null and b/fuzz/corpora/cmp/84f954918743820fe4f0b2f2e0a11efeb739466d differ diff --git a/fuzz/corpora/cmp/850a75f10b7aca856e74ddfb738046c677c75f75 b/fuzz/corpora/cmp/850a75f10b7aca856e74ddfb738046c677c75f75 new file mode 100644 index 00000000..32356eff Binary files /dev/null and b/fuzz/corpora/cmp/850a75f10b7aca856e74ddfb738046c677c75f75 differ diff --git a/fuzz/corpora/cmp/851357738d8080869ef456263f7f4d8881f2f072 b/fuzz/corpora/cmp/851357738d8080869ef456263f7f4d8881f2f072 new file mode 100644 index 00000000..3a57be78 Binary files /dev/null and b/fuzz/corpora/cmp/851357738d8080869ef456263f7f4d8881f2f072 differ diff --git a/fuzz/corpora/cmp/8518d16891fe173e9dde751bc0c43a7283df82bc b/fuzz/corpora/cmp/8518d16891fe173e9dde751bc0c43a7283df82bc new file mode 100644 index 00000000..916b99b8 Binary files /dev/null and b/fuzz/corpora/cmp/8518d16891fe173e9dde751bc0c43a7283df82bc differ diff --git a/fuzz/corpora/cmp/853eb95bbca028b9922064dba79cc5c8694a116a b/fuzz/corpora/cmp/853eb95bbca028b9922064dba79cc5c8694a116a new file mode 100644 index 00000000..eb23d3e9 Binary files /dev/null and b/fuzz/corpora/cmp/853eb95bbca028b9922064dba79cc5c8694a116a differ diff --git a/fuzz/corpora/cmp/85529ca4f8a27e4935f6f4d113f03eb544d04c25 b/fuzz/corpora/cmp/85529ca4f8a27e4935f6f4d113f03eb544d04c25 new file mode 100644 index 00000000..9b521e40 Binary files /dev/null and b/fuzz/corpora/cmp/85529ca4f8a27e4935f6f4d113f03eb544d04c25 differ diff --git a/fuzz/corpora/cmp/8566a616d9cc3899cbe5ebd22c4ca9990356dca2 b/fuzz/corpora/cmp/8566a616d9cc3899cbe5ebd22c4ca9990356dca2 new file mode 100644 index 00000000..b9c1817d Binary files /dev/null and b/fuzz/corpora/cmp/8566a616d9cc3899cbe5ebd22c4ca9990356dca2 differ diff --git a/fuzz/corpora/cmp/85821c4c550b894a53a7ce04a6fecec4b0d8584c b/fuzz/corpora/cmp/85821c4c550b894a53a7ce04a6fecec4b0d8584c new file mode 100644 index 00000000..49ea79ea Binary files /dev/null and b/fuzz/corpora/cmp/85821c4c550b894a53a7ce04a6fecec4b0d8584c differ diff --git a/fuzz/corpora/cmp/8588a1a5ae3e68e9d6683e5bc1ecb530145cbbc7 b/fuzz/corpora/cmp/8588a1a5ae3e68e9d6683e5bc1ecb530145cbbc7 new file mode 100644 index 00000000..7fc267c8 Binary files /dev/null and b/fuzz/corpora/cmp/8588a1a5ae3e68e9d6683e5bc1ecb530145cbbc7 differ diff --git a/fuzz/corpora/cmp/858b5e16a399b42f386b86b5bcf6ed39e470f4c8 b/fuzz/corpora/cmp/858b5e16a399b42f386b86b5bcf6ed39e470f4c8 new file mode 100644 index 00000000..70ffc94f Binary files /dev/null and b/fuzz/corpora/cmp/858b5e16a399b42f386b86b5bcf6ed39e470f4c8 differ diff --git a/fuzz/corpora/cmp/859ff2980e1b341f0946d9244c023d81c631d540 b/fuzz/corpora/cmp/859ff2980e1b341f0946d9244c023d81c631d540 new file mode 100644 index 00000000..0d4ef548 Binary files /dev/null and b/fuzz/corpora/cmp/859ff2980e1b341f0946d9244c023d81c631d540 differ diff --git a/fuzz/corpora/cmp/85af3f2494c6b18ed461aed1e591fc6141b39f77 b/fuzz/corpora/cmp/85af3f2494c6b18ed461aed1e591fc6141b39f77 new file mode 100644 index 00000000..e7415412 Binary files /dev/null and b/fuzz/corpora/cmp/85af3f2494c6b18ed461aed1e591fc6141b39f77 differ diff --git a/fuzz/corpora/cmp/85b25bc29aa07018b8f33d8afd2ce92c5c50431d b/fuzz/corpora/cmp/85b25bc29aa07018b8f33d8afd2ce92c5c50431d new file mode 100644 index 00000000..b685453d Binary files /dev/null and b/fuzz/corpora/cmp/85b25bc29aa07018b8f33d8afd2ce92c5c50431d differ diff --git a/fuzz/corpora/cmp/85b490c4f13d46f6c05b5fe6244440cb1dc3e2bf b/fuzz/corpora/cmp/85b490c4f13d46f6c05b5fe6244440cb1dc3e2bf new file mode 100644 index 00000000..19bc5849 Binary files /dev/null and b/fuzz/corpora/cmp/85b490c4f13d46f6c05b5fe6244440cb1dc3e2bf differ diff --git a/fuzz/corpora/cmp/85bb6d3d2103d7f378f6a290028e42a54b6de2af b/fuzz/corpora/cmp/85bb6d3d2103d7f378f6a290028e42a54b6de2af new file mode 100644 index 00000000..62aa50d9 Binary files /dev/null and b/fuzz/corpora/cmp/85bb6d3d2103d7f378f6a290028e42a54b6de2af differ diff --git a/fuzz/corpora/cmp/85bbbbda50001f8be766f0956fb3700f932e4abd b/fuzz/corpora/cmp/85bbbbda50001f8be766f0956fb3700f932e4abd new file mode 100644 index 00000000..91b21022 Binary files /dev/null and b/fuzz/corpora/cmp/85bbbbda50001f8be766f0956fb3700f932e4abd differ diff --git a/fuzz/corpora/cmp/85d875eb0c1c1ec45502f832c16791ee8c1f1229 b/fuzz/corpora/cmp/85d875eb0c1c1ec45502f832c16791ee8c1f1229 new file mode 100644 index 00000000..ba89b22c Binary files /dev/null and b/fuzz/corpora/cmp/85d875eb0c1c1ec45502f832c16791ee8c1f1229 differ diff --git a/fuzz/corpora/cmp/85e53271e14006f0265921d02d4d736cdc580b0b b/fuzz/corpora/cmp/85e53271e14006f0265921d02d4d736cdc580b0b new file mode 100644 index 00000000..ce542efa --- /dev/null +++ b/fuzz/corpora/cmp/85e53271e14006f0265921d02d4d736cdc580b0b @@ -0,0 +1 @@ +ÿ \ No newline at end of file diff --git a/fuzz/corpora/cmp/85ee00e1c424ac4179fa384ba4bf2d29e7aae6b7 b/fuzz/corpora/cmp/85ee00e1c424ac4179fa384ba4bf2d29e7aae6b7 new file mode 100644 index 00000000..21ce7f58 Binary files /dev/null and b/fuzz/corpora/cmp/85ee00e1c424ac4179fa384ba4bf2d29e7aae6b7 differ diff --git a/fuzz/corpora/cmp/85f8b4806b8ba12eb3aff8cc4c1efbfe8aff0695 b/fuzz/corpora/cmp/85f8b4806b8ba12eb3aff8cc4c1efbfe8aff0695 new file mode 100644 index 00000000..21b6e37b Binary files /dev/null and b/fuzz/corpora/cmp/85f8b4806b8ba12eb3aff8cc4c1efbfe8aff0695 differ diff --git a/fuzz/corpora/cmp/85fe04ce371abcb36bb475236da3d053096f19ca b/fuzz/corpora/cmp/85fe04ce371abcb36bb475236da3d053096f19ca new file mode 100644 index 00000000..7c1baec0 Binary files /dev/null and b/fuzz/corpora/cmp/85fe04ce371abcb36bb475236da3d053096f19ca differ diff --git a/fuzz/corpora/cmp/86142ac219f4b7a391af7896458e8085e4ed7750 b/fuzz/corpora/cmp/86142ac219f4b7a391af7896458e8085e4ed7750 new file mode 100644 index 00000000..dcb0f25f Binary files /dev/null and b/fuzz/corpora/cmp/86142ac219f4b7a391af7896458e8085e4ed7750 differ diff --git a/fuzz/corpora/cmp/861e0b1b821dff52ba720587ac8d5cce68860cc4 b/fuzz/corpora/cmp/861e0b1b821dff52ba720587ac8d5cce68860cc4 new file mode 100644 index 00000000..16437153 Binary files /dev/null and b/fuzz/corpora/cmp/861e0b1b821dff52ba720587ac8d5cce68860cc4 differ diff --git a/fuzz/corpora/cmp/862a666207a7f7929011d51f8654e23b179b304e b/fuzz/corpora/cmp/862a666207a7f7929011d51f8654e23b179b304e new file mode 100644 index 00000000..db519264 Binary files /dev/null and b/fuzz/corpora/cmp/862a666207a7f7929011d51f8654e23b179b304e differ diff --git a/fuzz/corpora/cmp/864741682f8622ea4b13582c5b01e589e5efd594 b/fuzz/corpora/cmp/864741682f8622ea4b13582c5b01e589e5efd594 new file mode 100644 index 00000000..620335bd Binary files /dev/null and b/fuzz/corpora/cmp/864741682f8622ea4b13582c5b01e589e5efd594 differ diff --git a/fuzz/corpora/cmp/864ca25a35d883d6bd12eff394fea78a809dc799 b/fuzz/corpora/cmp/864ca25a35d883d6bd12eff394fea78a809dc799 new file mode 100644 index 00000000..4c80d043 Binary files /dev/null and b/fuzz/corpora/cmp/864ca25a35d883d6bd12eff394fea78a809dc799 differ diff --git a/fuzz/corpora/cmp/866263b8fc30fe9bc0879ae675734c7a687c0b67 b/fuzz/corpora/cmp/866263b8fc30fe9bc0879ae675734c7a687c0b67 new file mode 100644 index 00000000..69a48ec8 Binary files /dev/null and b/fuzz/corpora/cmp/866263b8fc30fe9bc0879ae675734c7a687c0b67 differ diff --git a/fuzz/corpora/cmp/8681ef2b5cb17c65d9238876a13ff08dbf3f633f b/fuzz/corpora/cmp/8681ef2b5cb17c65d9238876a13ff08dbf3f633f new file mode 100644 index 00000000..a651a2bf Binary files /dev/null and b/fuzz/corpora/cmp/8681ef2b5cb17c65d9238876a13ff08dbf3f633f differ diff --git a/fuzz/corpora/cmp/86831b8fccaf2e8f1a94a1f5f4269a06c225a10d b/fuzz/corpora/cmp/86831b8fccaf2e8f1a94a1f5f4269a06c225a10d new file mode 100644 index 00000000..9ce9e50d Binary files /dev/null and b/fuzz/corpora/cmp/86831b8fccaf2e8f1a94a1f5f4269a06c225a10d differ diff --git a/fuzz/corpora/cmp/86981d8fe69fd8297d880a393a6205b56adbdfc2 b/fuzz/corpora/cmp/86981d8fe69fd8297d880a393a6205b56adbdfc2 new file mode 100644 index 00000000..930337e9 Binary files /dev/null and b/fuzz/corpora/cmp/86981d8fe69fd8297d880a393a6205b56adbdfc2 differ diff --git a/fuzz/corpora/cmp/86a635c676c1d706bf52775b77364ebd8c6338b3 b/fuzz/corpora/cmp/86a635c676c1d706bf52775b77364ebd8c6338b3 new file mode 100644 index 00000000..e18a53a0 Binary files /dev/null and b/fuzz/corpora/cmp/86a635c676c1d706bf52775b77364ebd8c6338b3 differ diff --git a/fuzz/corpora/cmp/86adb9c23f650ffe53d7bc91531395ecc30a94d1 b/fuzz/corpora/cmp/86adb9c23f650ffe53d7bc91531395ecc30a94d1 new file mode 100644 index 00000000..9edc929b Binary files /dev/null and b/fuzz/corpora/cmp/86adb9c23f650ffe53d7bc91531395ecc30a94d1 differ diff --git a/fuzz/corpora/cmp/86b31779d5ddea1dcb49a9bef84b0f4d25cacb28 b/fuzz/corpora/cmp/86b31779d5ddea1dcb49a9bef84b0f4d25cacb28 new file mode 100644 index 00000000..2d682af7 Binary files /dev/null and b/fuzz/corpora/cmp/86b31779d5ddea1dcb49a9bef84b0f4d25cacb28 differ diff --git a/fuzz/corpora/cmp/86b5f54f7967a62716c9a75834526aa38070aa39 b/fuzz/corpora/cmp/86b5f54f7967a62716c9a75834526aa38070aa39 new file mode 100644 index 00000000..b95c774a Binary files /dev/null and b/fuzz/corpora/cmp/86b5f54f7967a62716c9a75834526aa38070aa39 differ diff --git a/fuzz/corpora/cmp/86c3a6a08746b4dc044b257329fe5de55c0a6d8f b/fuzz/corpora/cmp/86c3a6a08746b4dc044b257329fe5de55c0a6d8f new file mode 100644 index 00000000..dc59f958 Binary files /dev/null and b/fuzz/corpora/cmp/86c3a6a08746b4dc044b257329fe5de55c0a6d8f differ diff --git a/fuzz/corpora/cmp/86cef44e9ca0d4fc66691c34bf1f59d3e4d68b8d b/fuzz/corpora/cmp/86cef44e9ca0d4fc66691c34bf1f59d3e4d68b8d new file mode 100644 index 00000000..f34effda Binary files /dev/null and b/fuzz/corpora/cmp/86cef44e9ca0d4fc66691c34bf1f59d3e4d68b8d differ diff --git a/fuzz/corpora/cmp/86d12e4a6bb3914b636903168e23781fec72487a b/fuzz/corpora/cmp/86d12e4a6bb3914b636903168e23781fec72487a new file mode 100644 index 00000000..8e942bf2 Binary files /dev/null and b/fuzz/corpora/cmp/86d12e4a6bb3914b636903168e23781fec72487a differ diff --git a/fuzz/corpora/cmp/86e19a552c3e09dae63616e852e02cb4ce219362 b/fuzz/corpora/cmp/86e19a552c3e09dae63616e852e02cb4ce219362 new file mode 100644 index 00000000..3efd0202 Binary files /dev/null and b/fuzz/corpora/cmp/86e19a552c3e09dae63616e852e02cb4ce219362 differ diff --git a/fuzz/corpora/cmp/86f9a22e2bb41b400283e825bcedab06938b13a8 b/fuzz/corpora/cmp/86f9a22e2bb41b400283e825bcedab06938b13a8 new file mode 100644 index 00000000..ff8b3cc8 Binary files /dev/null and b/fuzz/corpora/cmp/86f9a22e2bb41b400283e825bcedab06938b13a8 differ diff --git a/fuzz/corpora/cmp/87220fcb131c81ed02e50e1fb81a81a0b7772d41 b/fuzz/corpora/cmp/87220fcb131c81ed02e50e1fb81a81a0b7772d41 new file mode 100644 index 00000000..85a03ca0 Binary files /dev/null and b/fuzz/corpora/cmp/87220fcb131c81ed02e50e1fb81a81a0b7772d41 differ diff --git a/fuzz/corpora/cmp/87242eaff4fde1d8dd9908fb51a639fb9b0e2ca9 b/fuzz/corpora/cmp/87242eaff4fde1d8dd9908fb51a639fb9b0e2ca9 new file mode 100644 index 00000000..b77ec47c Binary files /dev/null and b/fuzz/corpora/cmp/87242eaff4fde1d8dd9908fb51a639fb9b0e2ca9 differ diff --git a/fuzz/corpora/cmp/87276037270296c4aa027513efa7aac83fc2b805 b/fuzz/corpora/cmp/87276037270296c4aa027513efa7aac83fc2b805 new file mode 100644 index 00000000..886488ff Binary files /dev/null and b/fuzz/corpora/cmp/87276037270296c4aa027513efa7aac83fc2b805 differ diff --git a/fuzz/corpora/cmp/873960c24daab8b74dbef446080621872d990926 b/fuzz/corpora/cmp/873960c24daab8b74dbef446080621872d990926 new file mode 100644 index 00000000..8e7c8a52 Binary files /dev/null and b/fuzz/corpora/cmp/873960c24daab8b74dbef446080621872d990926 differ diff --git a/fuzz/corpora/cmp/8740538d30a7f7cbeabb078ae9571307db277258 b/fuzz/corpora/cmp/8740538d30a7f7cbeabb078ae9571307db277258 new file mode 100644 index 00000000..96aad03d Binary files /dev/null and b/fuzz/corpora/cmp/8740538d30a7f7cbeabb078ae9571307db277258 differ diff --git a/fuzz/corpora/cmp/877a1ffb7c8189588a696b2e9e869a6c22fde5ce b/fuzz/corpora/cmp/877a1ffb7c8189588a696b2e9e869a6c22fde5ce new file mode 100644 index 00000000..58f7fd81 Binary files /dev/null and b/fuzz/corpora/cmp/877a1ffb7c8189588a696b2e9e869a6c22fde5ce differ diff --git a/fuzz/corpora/cmp/8788544112104883f9da19db5b2c61f3fcff2324 b/fuzz/corpora/cmp/8788544112104883f9da19db5b2c61f3fcff2324 new file mode 100644 index 00000000..bfc418a9 Binary files /dev/null and b/fuzz/corpora/cmp/8788544112104883f9da19db5b2c61f3fcff2324 differ diff --git a/fuzz/corpora/cmp/879a18a7d83b0dfbf56d419e5daf7915bbd2d343 b/fuzz/corpora/cmp/879a18a7d83b0dfbf56d419e5daf7915bbd2d343 new file mode 100644 index 00000000..01006128 Binary files /dev/null and b/fuzz/corpora/cmp/879a18a7d83b0dfbf56d419e5daf7915bbd2d343 differ diff --git a/fuzz/corpora/cmp/87a4ad1410a74a32cedeb089f355302cc9331a2f b/fuzz/corpora/cmp/87a4ad1410a74a32cedeb089f355302cc9331a2f new file mode 100644 index 00000000..1f38d8cd Binary files /dev/null and b/fuzz/corpora/cmp/87a4ad1410a74a32cedeb089f355302cc9331a2f differ diff --git a/fuzz/corpora/cmp/87a58824671dd90d94aeddb1af197a69e18d173a b/fuzz/corpora/cmp/87a58824671dd90d94aeddb1af197a69e18d173a new file mode 100644 index 00000000..5e55d523 Binary files /dev/null and b/fuzz/corpora/cmp/87a58824671dd90d94aeddb1af197a69e18d173a differ diff --git a/fuzz/corpora/cmp/87b604ad8c1c63435841227ec5add0553eb4f6bb b/fuzz/corpora/cmp/87b604ad8c1c63435841227ec5add0553eb4f6bb new file mode 100644 index 00000000..9eea1e24 Binary files /dev/null and b/fuzz/corpora/cmp/87b604ad8c1c63435841227ec5add0553eb4f6bb differ diff --git a/fuzz/corpora/cmp/87c9cbb3525241c16c1143a2407e902627b38a5d b/fuzz/corpora/cmp/87c9cbb3525241c16c1143a2407e902627b38a5d new file mode 100644 index 00000000..729ae0e4 Binary files /dev/null and b/fuzz/corpora/cmp/87c9cbb3525241c16c1143a2407e902627b38a5d differ diff --git a/fuzz/corpora/cmp/87d017f64998f0e6ab68597f8127cf3a78c57cf9 b/fuzz/corpora/cmp/87d017f64998f0e6ab68597f8127cf3a78c57cf9 new file mode 100644 index 00000000..1be28a13 Binary files /dev/null and b/fuzz/corpora/cmp/87d017f64998f0e6ab68597f8127cf3a78c57cf9 differ diff --git a/fuzz/corpora/cmp/87fe0f5967c32992b3c1c2cbe07b45434414c942 b/fuzz/corpora/cmp/87fe0f5967c32992b3c1c2cbe07b45434414c942 new file mode 100644 index 00000000..dbdad560 Binary files /dev/null and b/fuzz/corpora/cmp/87fe0f5967c32992b3c1c2cbe07b45434414c942 differ diff --git a/fuzz/corpora/cmp/885613bdaaf600d5b5261ec998daefe90e17a8b5 b/fuzz/corpora/cmp/885613bdaaf600d5b5261ec998daefe90e17a8b5 new file mode 100644 index 00000000..503cc737 Binary files /dev/null and b/fuzz/corpora/cmp/885613bdaaf600d5b5261ec998daefe90e17a8b5 differ diff --git a/fuzz/corpora/cmp/885a69206013d86ac60e676a91218a5a0e7002ae b/fuzz/corpora/cmp/885a69206013d86ac60e676a91218a5a0e7002ae new file mode 100644 index 00000000..3a96cf92 Binary files /dev/null and b/fuzz/corpora/cmp/885a69206013d86ac60e676a91218a5a0e7002ae differ diff --git a/fuzz/corpora/cmp/885f35a026b5acea67e598126c27b93e24876e78 b/fuzz/corpora/cmp/885f35a026b5acea67e598126c27b93e24876e78 new file mode 100644 index 00000000..34678b2a Binary files /dev/null and b/fuzz/corpora/cmp/885f35a026b5acea67e598126c27b93e24876e78 differ diff --git a/fuzz/corpora/cmp/888f7d8c48ff0a9c9338e4cd93802dcb84ef2bc9 b/fuzz/corpora/cmp/888f7d8c48ff0a9c9338e4cd93802dcb84ef2bc9 new file mode 100644 index 00000000..93136ade Binary files /dev/null and b/fuzz/corpora/cmp/888f7d8c48ff0a9c9338e4cd93802dcb84ef2bc9 differ diff --git a/fuzz/corpora/cmp/8899d290c0418190e294c8ecbaca0716f94ad84f b/fuzz/corpora/cmp/8899d290c0418190e294c8ecbaca0716f94ad84f new file mode 100644 index 00000000..07a4e1fc Binary files /dev/null and b/fuzz/corpora/cmp/8899d290c0418190e294c8ecbaca0716f94ad84f differ diff --git a/fuzz/corpora/cmp/88a654b46ee2feb1cf1433ce68c911dde35e2a00 b/fuzz/corpora/cmp/88a654b46ee2feb1cf1433ce68c911dde35e2a00 new file mode 100644 index 00000000..49b24c96 Binary files /dev/null and b/fuzz/corpora/cmp/88a654b46ee2feb1cf1433ce68c911dde35e2a00 differ diff --git a/fuzz/corpora/cmp/88a657c01716776e2164e30ce0a19f178151658f b/fuzz/corpora/cmp/88a657c01716776e2164e30ce0a19f178151658f new file mode 100644 index 00000000..8c208329 Binary files /dev/null and b/fuzz/corpora/cmp/88a657c01716776e2164e30ce0a19f178151658f differ diff --git a/fuzz/corpora/cmp/88c3f73cc9b31589fb4e052f2bed66f7a176d1e0 b/fuzz/corpora/cmp/88c3f73cc9b31589fb4e052f2bed66f7a176d1e0 new file mode 100644 index 00000000..a64500bd Binary files /dev/null and b/fuzz/corpora/cmp/88c3f73cc9b31589fb4e052f2bed66f7a176d1e0 differ diff --git a/fuzz/corpora/cmp/88cc3367f4effe7b94d5ede2aaeceff216025c65 b/fuzz/corpora/cmp/88cc3367f4effe7b94d5ede2aaeceff216025c65 new file mode 100644 index 00000000..776ba8f8 Binary files /dev/null and b/fuzz/corpora/cmp/88cc3367f4effe7b94d5ede2aaeceff216025c65 differ diff --git a/fuzz/corpora/cmp/88cf03a0849c1bafc3a0ee3fc1da5d03e831b06d b/fuzz/corpora/cmp/88cf03a0849c1bafc3a0ee3fc1da5d03e831b06d new file mode 100644 index 00000000..c7885525 Binary files /dev/null and b/fuzz/corpora/cmp/88cf03a0849c1bafc3a0ee3fc1da5d03e831b06d differ diff --git a/fuzz/corpora/cmp/88cf1ed6904e3da48276b5795b2ea6a2f9da7cad b/fuzz/corpora/cmp/88cf1ed6904e3da48276b5795b2ea6a2f9da7cad new file mode 100644 index 00000000..f66cf680 Binary files /dev/null and b/fuzz/corpora/cmp/88cf1ed6904e3da48276b5795b2ea6a2f9da7cad differ diff --git a/fuzz/corpora/cmp/88d142ccf4c9921c51a533711d2d3fa4bd48a8cd b/fuzz/corpora/cmp/88d142ccf4c9921c51a533711d2d3fa4bd48a8cd new file mode 100644 index 00000000..33abc4ac Binary files /dev/null and b/fuzz/corpora/cmp/88d142ccf4c9921c51a533711d2d3fa4bd48a8cd differ diff --git a/fuzz/corpora/cmp/88dc353eed685a60091a04ed24ac57505a285438 b/fuzz/corpora/cmp/88dc353eed685a60091a04ed24ac57505a285438 new file mode 100644 index 00000000..afec60ef Binary files /dev/null and b/fuzz/corpora/cmp/88dc353eed685a60091a04ed24ac57505a285438 differ diff --git a/fuzz/corpora/cmp/88eac23bf4694ff6060b72281e1921e2bea8e871 b/fuzz/corpora/cmp/88eac23bf4694ff6060b72281e1921e2bea8e871 new file mode 100644 index 00000000..3850cc7a Binary files /dev/null and b/fuzz/corpora/cmp/88eac23bf4694ff6060b72281e1921e2bea8e871 differ diff --git a/fuzz/corpora/cmp/88f686aca967569bc32a5bc75aaf0da7b0b2cd48 b/fuzz/corpora/cmp/88f686aca967569bc32a5bc75aaf0da7b0b2cd48 new file mode 100644 index 00000000..1db1cd56 Binary files /dev/null and b/fuzz/corpora/cmp/88f686aca967569bc32a5bc75aaf0da7b0b2cd48 differ diff --git a/fuzz/corpora/cmp/89068b142b18df7412e9f942820b62e235a7ffcf b/fuzz/corpora/cmp/89068b142b18df7412e9f942820b62e235a7ffcf new file mode 100644 index 00000000..7ca50ab0 Binary files /dev/null and b/fuzz/corpora/cmp/89068b142b18df7412e9f942820b62e235a7ffcf differ diff --git a/fuzz/corpora/cmp/89193f7bacbe48f207822bb921d740f80e7c1faf b/fuzz/corpora/cmp/89193f7bacbe48f207822bb921d740f80e7c1faf new file mode 100644 index 00000000..092b9a8d Binary files /dev/null and b/fuzz/corpora/cmp/89193f7bacbe48f207822bb921d740f80e7c1faf differ diff --git a/fuzz/corpora/cmp/893d97319c538cca6448a6a3d223771777fb61e3 b/fuzz/corpora/cmp/893d97319c538cca6448a6a3d223771777fb61e3 new file mode 100644 index 00000000..bc1c120d Binary files /dev/null and b/fuzz/corpora/cmp/893d97319c538cca6448a6a3d223771777fb61e3 differ diff --git a/fuzz/corpora/cmp/89483b6f38538928af4d59e5effcd3cdc12fc9bf b/fuzz/corpora/cmp/89483b6f38538928af4d59e5effcd3cdc12fc9bf new file mode 100644 index 00000000..bd90c935 Binary files /dev/null and b/fuzz/corpora/cmp/89483b6f38538928af4d59e5effcd3cdc12fc9bf differ diff --git a/fuzz/corpora/cmp/89485bbef580c8d2eaeb1c5f847a16b0145cf8cc b/fuzz/corpora/cmp/89485bbef580c8d2eaeb1c5f847a16b0145cf8cc new file mode 100644 index 00000000..393c27b8 Binary files /dev/null and b/fuzz/corpora/cmp/89485bbef580c8d2eaeb1c5f847a16b0145cf8cc differ diff --git a/fuzz/corpora/cmp/894db71acac9c0e2b5686f7977c19148e7249e8d b/fuzz/corpora/cmp/894db71acac9c0e2b5686f7977c19148e7249e8d new file mode 100644 index 00000000..23c5d24b Binary files /dev/null and b/fuzz/corpora/cmp/894db71acac9c0e2b5686f7977c19148e7249e8d differ diff --git a/fuzz/corpora/cmp/8952a61e4fdd057b494110cb5b3355662ef87e8c b/fuzz/corpora/cmp/8952a61e4fdd057b494110cb5b3355662ef87e8c new file mode 100644 index 00000000..ff9ae67e Binary files /dev/null and b/fuzz/corpora/cmp/8952a61e4fdd057b494110cb5b3355662ef87e8c differ diff --git a/fuzz/corpora/cmp/895687110d45f9a8da8db77bde68bd70e62a2cec b/fuzz/corpora/cmp/895687110d45f9a8da8db77bde68bd70e62a2cec new file mode 100644 index 00000000..d182d6e3 Binary files /dev/null and b/fuzz/corpora/cmp/895687110d45f9a8da8db77bde68bd70e62a2cec differ diff --git a/fuzz/corpora/cmp/8986ed847f3097062a5725af05feb9b3e048092e b/fuzz/corpora/cmp/8986ed847f3097062a5725af05feb9b3e048092e new file mode 100644 index 00000000..abfe6834 Binary files /dev/null and b/fuzz/corpora/cmp/8986ed847f3097062a5725af05feb9b3e048092e differ diff --git a/fuzz/corpora/cmp/898ff837cec2013c58e217fc334406797d833d39 b/fuzz/corpora/cmp/898ff837cec2013c58e217fc334406797d833d39 new file mode 100644 index 00000000..791a13ca Binary files /dev/null and b/fuzz/corpora/cmp/898ff837cec2013c58e217fc334406797d833d39 differ diff --git a/fuzz/corpora/cmp/899b412b2d4d976b853dcb9e1d75e96f3329c35b b/fuzz/corpora/cmp/899b412b2d4d976b853dcb9e1d75e96f3329c35b new file mode 100644 index 00000000..2d2533fc Binary files /dev/null and b/fuzz/corpora/cmp/899b412b2d4d976b853dcb9e1d75e96f3329c35b differ diff --git a/fuzz/corpora/cmp/89a845bf0e7ed4bce7a6668f82b03a16b0cd0631 b/fuzz/corpora/cmp/89a845bf0e7ed4bce7a6668f82b03a16b0cd0631 new file mode 100644 index 00000000..b0105cf1 Binary files /dev/null and b/fuzz/corpora/cmp/89a845bf0e7ed4bce7a6668f82b03a16b0cd0631 differ diff --git a/fuzz/corpora/cmp/89b05b01452dc77570349c16667eae5314c88557 b/fuzz/corpora/cmp/89b05b01452dc77570349c16667eae5314c88557 new file mode 100644 index 00000000..4714bc5e Binary files /dev/null and b/fuzz/corpora/cmp/89b05b01452dc77570349c16667eae5314c88557 differ diff --git a/fuzz/corpora/cmp/89b6e8e55ffdc6a1e47cc50a905520b10a0b2fd9 b/fuzz/corpora/cmp/89b6e8e55ffdc6a1e47cc50a905520b10a0b2fd9 new file mode 100644 index 00000000..c731fff8 Binary files /dev/null and b/fuzz/corpora/cmp/89b6e8e55ffdc6a1e47cc50a905520b10a0b2fd9 differ diff --git a/fuzz/corpora/cmp/89e08bff8683adbd334e74f3382b83647371ccae b/fuzz/corpora/cmp/89e08bff8683adbd334e74f3382b83647371ccae new file mode 100644 index 00000000..3c471022 Binary files /dev/null and b/fuzz/corpora/cmp/89e08bff8683adbd334e74f3382b83647371ccae differ diff --git a/fuzz/corpora/cmp/8a07e54a3f2b29c6c56d8985e68716ec5f3c9f4f b/fuzz/corpora/cmp/8a07e54a3f2b29c6c56d8985e68716ec5f3c9f4f new file mode 100644 index 00000000..17bdacdd Binary files /dev/null and b/fuzz/corpora/cmp/8a07e54a3f2b29c6c56d8985e68716ec5f3c9f4f differ diff --git a/fuzz/corpora/cmp/8a11d30efac2a63639f3497f4eb7b14db8b22ea4 b/fuzz/corpora/cmp/8a11d30efac2a63639f3497f4eb7b14db8b22ea4 new file mode 100644 index 00000000..18089274 Binary files /dev/null and b/fuzz/corpora/cmp/8a11d30efac2a63639f3497f4eb7b14db8b22ea4 differ diff --git a/fuzz/corpora/cmp/8a1499b4e6bbe4776b90561a2d2efe0fca3bf0a5 b/fuzz/corpora/cmp/8a1499b4e6bbe4776b90561a2d2efe0fca3bf0a5 new file mode 100644 index 00000000..814254ea Binary files /dev/null and b/fuzz/corpora/cmp/8a1499b4e6bbe4776b90561a2d2efe0fca3bf0a5 differ diff --git a/fuzz/corpora/cmp/8a277437c022f94cdafd2c03ff3d3c46797860e5 b/fuzz/corpora/cmp/8a277437c022f94cdafd2c03ff3d3c46797860e5 new file mode 100644 index 00000000..c1df53b7 Binary files /dev/null and b/fuzz/corpora/cmp/8a277437c022f94cdafd2c03ff3d3c46797860e5 differ diff --git a/fuzz/corpora/cmp/8a34b43a8672264e409d548ce1680c0befa00b16 b/fuzz/corpora/cmp/8a34b43a8672264e409d548ce1680c0befa00b16 new file mode 100644 index 00000000..0d23bf93 Binary files /dev/null and b/fuzz/corpora/cmp/8a34b43a8672264e409d548ce1680c0befa00b16 differ diff --git a/fuzz/corpora/cmp/8a354af33fe0f192836c2ac66dc2cfd7919ad0f5 b/fuzz/corpora/cmp/8a354af33fe0f192836c2ac66dc2cfd7919ad0f5 new file mode 100644 index 00000000..348409a9 Binary files /dev/null and b/fuzz/corpora/cmp/8a354af33fe0f192836c2ac66dc2cfd7919ad0f5 differ diff --git a/fuzz/corpora/cmp/8a4657eea09ae5ebf18603f394ed45ce7164eb29 b/fuzz/corpora/cmp/8a4657eea09ae5ebf18603f394ed45ce7164eb29 new file mode 100644 index 00000000..2f8e4b60 Binary files /dev/null and b/fuzz/corpora/cmp/8a4657eea09ae5ebf18603f394ed45ce7164eb29 differ diff --git a/fuzz/corpora/cmp/8a4f08e5b48f6f02747432dc61c59d54ab908ac5 b/fuzz/corpora/cmp/8a4f08e5b48f6f02747432dc61c59d54ab908ac5 new file mode 100644 index 00000000..3a38f38a Binary files /dev/null and b/fuzz/corpora/cmp/8a4f08e5b48f6f02747432dc61c59d54ab908ac5 differ diff --git a/fuzz/corpora/cmp/8a5d0a214b20c4225aa8bb59e75b73fedbb6ca57 b/fuzz/corpora/cmp/8a5d0a214b20c4225aa8bb59e75b73fedbb6ca57 new file mode 100644 index 00000000..8573afd3 Binary files /dev/null and b/fuzz/corpora/cmp/8a5d0a214b20c4225aa8bb59e75b73fedbb6ca57 differ diff --git a/fuzz/corpora/cmp/8a680970556d7d32d4841025420cb1f3689e9dc7 b/fuzz/corpora/cmp/8a680970556d7d32d4841025420cb1f3689e9dc7 new file mode 100644 index 00000000..3c3d2268 Binary files /dev/null and b/fuzz/corpora/cmp/8a680970556d7d32d4841025420cb1f3689e9dc7 differ diff --git a/fuzz/corpora/cmp/8a69f1eb2185b33529c49a9f9f2ba5d66ded2bba b/fuzz/corpora/cmp/8a69f1eb2185b33529c49a9f9f2ba5d66ded2bba new file mode 100644 index 00000000..038ef516 Binary files /dev/null and b/fuzz/corpora/cmp/8a69f1eb2185b33529c49a9f9f2ba5d66ded2bba differ diff --git a/fuzz/corpora/cmp/8a6a016f5ae7400a25c063bda2cb99a0e7ee8529 b/fuzz/corpora/cmp/8a6a016f5ae7400a25c063bda2cb99a0e7ee8529 new file mode 100644 index 00000000..3fa4f903 Binary files /dev/null and b/fuzz/corpora/cmp/8a6a016f5ae7400a25c063bda2cb99a0e7ee8529 differ diff --git a/fuzz/corpora/cmp/8a6acbc4eb9869e54ff84b0c70c22df3c7c9adfa b/fuzz/corpora/cmp/8a6acbc4eb9869e54ff84b0c70c22df3c7c9adfa new file mode 100644 index 00000000..a9dc3d8d Binary files /dev/null and b/fuzz/corpora/cmp/8a6acbc4eb9869e54ff84b0c70c22df3c7c9adfa differ diff --git a/fuzz/corpora/cmp/8a9008ab4824d92fa2f7e627c412c27ea7d535b3 b/fuzz/corpora/cmp/8a9008ab4824d92fa2f7e627c412c27ea7d535b3 new file mode 100644 index 00000000..5f784b91 Binary files /dev/null and b/fuzz/corpora/cmp/8a9008ab4824d92fa2f7e627c412c27ea7d535b3 differ diff --git a/fuzz/corpora/cmp/8a908f865cd4e182cf5c37faca938eddd1d4b024 b/fuzz/corpora/cmp/8a908f865cd4e182cf5c37faca938eddd1d4b024 new file mode 100644 index 00000000..895a4b59 Binary files /dev/null and b/fuzz/corpora/cmp/8a908f865cd4e182cf5c37faca938eddd1d4b024 differ diff --git a/fuzz/corpora/cmp/8a9331af9cd8f5ccb3be2e9fcc322735ae524c93 b/fuzz/corpora/cmp/8a9331af9cd8f5ccb3be2e9fcc322735ae524c93 new file mode 100644 index 00000000..6f5ae6d2 Binary files /dev/null and b/fuzz/corpora/cmp/8a9331af9cd8f5ccb3be2e9fcc322735ae524c93 differ diff --git a/fuzz/corpora/cmp/8aa28371c29cc5ef25ced26e2fc3a57915b740d9 b/fuzz/corpora/cmp/8aa28371c29cc5ef25ced26e2fc3a57915b740d9 new file mode 100644 index 00000000..e4366c1d Binary files /dev/null and b/fuzz/corpora/cmp/8aa28371c29cc5ef25ced26e2fc3a57915b740d9 differ diff --git a/fuzz/corpora/cmp/8aaa009dbffd0d5197b7c0a6ca7d874f52b84cde b/fuzz/corpora/cmp/8aaa009dbffd0d5197b7c0a6ca7d874f52b84cde new file mode 100644 index 00000000..1f067aff Binary files /dev/null and b/fuzz/corpora/cmp/8aaa009dbffd0d5197b7c0a6ca7d874f52b84cde differ diff --git a/fuzz/corpora/cmp/8ab266204a6098f52dda43f823c2f9fe7675665c b/fuzz/corpora/cmp/8ab266204a6098f52dda43f823c2f9fe7675665c new file mode 100644 index 00000000..6afb5c4c Binary files /dev/null and b/fuzz/corpora/cmp/8ab266204a6098f52dda43f823c2f9fe7675665c differ diff --git a/fuzz/corpora/cmp/8ac3c82f309305282d202bee7bd4e9028591e5b9 b/fuzz/corpora/cmp/8ac3c82f309305282d202bee7bd4e9028591e5b9 new file mode 100644 index 00000000..05666324 Binary files /dev/null and b/fuzz/corpora/cmp/8ac3c82f309305282d202bee7bd4e9028591e5b9 differ diff --git a/fuzz/corpora/cmp/8ac7982520383b28d0071aacf709df119faad859 b/fuzz/corpora/cmp/8ac7982520383b28d0071aacf709df119faad859 new file mode 100644 index 00000000..431b0363 Binary files /dev/null and b/fuzz/corpora/cmp/8ac7982520383b28d0071aacf709df119faad859 differ diff --git a/fuzz/corpora/cmp/8ad3cad366c395d8b38f721aaff6f143200a80e7 b/fuzz/corpora/cmp/8ad3cad366c395d8b38f721aaff6f143200a80e7 new file mode 100644 index 00000000..8831b789 Binary files /dev/null and b/fuzz/corpora/cmp/8ad3cad366c395d8b38f721aaff6f143200a80e7 differ diff --git a/fuzz/corpora/cmp/8ad926692155b0b5c53081725e3c942f0466cddd b/fuzz/corpora/cmp/8ad926692155b0b5c53081725e3c942f0466cddd new file mode 100644 index 00000000..06bd29e5 Binary files /dev/null and b/fuzz/corpora/cmp/8ad926692155b0b5c53081725e3c942f0466cddd differ diff --git a/fuzz/corpora/cmp/8adde891ec733edde71270144cf73c74e74b0211 b/fuzz/corpora/cmp/8adde891ec733edde71270144cf73c74e74b0211 new file mode 100644 index 00000000..2d703e37 Binary files /dev/null and b/fuzz/corpora/cmp/8adde891ec733edde71270144cf73c74e74b0211 differ diff --git a/fuzz/corpora/cmp/8adf00cf405bee1eba13122ec2b7caa59083e75b b/fuzz/corpora/cmp/8adf00cf405bee1eba13122ec2b7caa59083e75b new file mode 100644 index 00000000..99aa56bf Binary files /dev/null and b/fuzz/corpora/cmp/8adf00cf405bee1eba13122ec2b7caa59083e75b differ diff --git a/fuzz/corpora/cmp/8ae8bc439937ea8b842278774b658d7a3392f1f9 b/fuzz/corpora/cmp/8ae8bc439937ea8b842278774b658d7a3392f1f9 new file mode 100644 index 00000000..2c689f25 Binary files /dev/null and b/fuzz/corpora/cmp/8ae8bc439937ea8b842278774b658d7a3392f1f9 differ diff --git a/fuzz/corpora/cmp/8b033eb3d7859ee75f4a40a80dd268f5424bfcd8 b/fuzz/corpora/cmp/8b033eb3d7859ee75f4a40a80dd268f5424bfcd8 new file mode 100644 index 00000000..64984a9f Binary files /dev/null and b/fuzz/corpora/cmp/8b033eb3d7859ee75f4a40a80dd268f5424bfcd8 differ diff --git a/fuzz/corpora/cmp/8b30ce1d23ae24f6615f53e248c736901e0ca8a0 b/fuzz/corpora/cmp/8b30ce1d23ae24f6615f53e248c736901e0ca8a0 new file mode 100644 index 00000000..bc478a5a Binary files /dev/null and b/fuzz/corpora/cmp/8b30ce1d23ae24f6615f53e248c736901e0ca8a0 differ diff --git a/fuzz/corpora/cmp/8b3fa7891cb881980ec80b11d96a6787c0d99118 b/fuzz/corpora/cmp/8b3fa7891cb881980ec80b11d96a6787c0d99118 new file mode 100644 index 00000000..fc6d868d Binary files /dev/null and b/fuzz/corpora/cmp/8b3fa7891cb881980ec80b11d96a6787c0d99118 differ diff --git a/fuzz/corpora/cmp/8b3feb96128f4d075d98fd3ba92c3b0852beae91 b/fuzz/corpora/cmp/8b3feb96128f4d075d98fd3ba92c3b0852beae91 new file mode 100644 index 00000000..89dabf54 Binary files /dev/null and b/fuzz/corpora/cmp/8b3feb96128f4d075d98fd3ba92c3b0852beae91 differ diff --git a/fuzz/corpora/cmp/8b41f1fa98f2cb741ba8c6610921465c4bcfc2ba b/fuzz/corpora/cmp/8b41f1fa98f2cb741ba8c6610921465c4bcfc2ba new file mode 100644 index 00000000..550cec13 Binary files /dev/null and b/fuzz/corpora/cmp/8b41f1fa98f2cb741ba8c6610921465c4bcfc2ba differ diff --git a/fuzz/corpora/cmp/8b5eedbab31ec2642e7098f3db315aeb7de8e2cd b/fuzz/corpora/cmp/8b5eedbab31ec2642e7098f3db315aeb7de8e2cd new file mode 100644 index 00000000..43875e32 Binary files /dev/null and b/fuzz/corpora/cmp/8b5eedbab31ec2642e7098f3db315aeb7de8e2cd differ diff --git a/fuzz/corpora/cmp/8b60b513bb7348727d746b93f302d48bd3695c87 b/fuzz/corpora/cmp/8b60b513bb7348727d746b93f302d48bd3695c87 new file mode 100644 index 00000000..a11c2c57 Binary files /dev/null and b/fuzz/corpora/cmp/8b60b513bb7348727d746b93f302d48bd3695c87 differ diff --git a/fuzz/corpora/cmp/8b66fa702761b3d038a4b3e2e74f2dc1e8dc6ee2 b/fuzz/corpora/cmp/8b66fa702761b3d038a4b3e2e74f2dc1e8dc6ee2 new file mode 100644 index 00000000..ccfebfc8 Binary files /dev/null and b/fuzz/corpora/cmp/8b66fa702761b3d038a4b3e2e74f2dc1e8dc6ee2 differ diff --git a/fuzz/corpora/cmp/8b68cd165d2be7a3d8706aade9cf70c525e8e872 b/fuzz/corpora/cmp/8b68cd165d2be7a3d8706aade9cf70c525e8e872 new file mode 100644 index 00000000..906a6e61 Binary files /dev/null and b/fuzz/corpora/cmp/8b68cd165d2be7a3d8706aade9cf70c525e8e872 differ diff --git a/fuzz/corpora/cmp/8b86bbd1d8f2ddb495e139edbabc1acb01f7a171 b/fuzz/corpora/cmp/8b86bbd1d8f2ddb495e139edbabc1acb01f7a171 new file mode 100644 index 00000000..d1ee2d87 Binary files /dev/null and b/fuzz/corpora/cmp/8b86bbd1d8f2ddb495e139edbabc1acb01f7a171 differ diff --git a/fuzz/corpora/cmp/8b972b7ede7209200a261022100f52e02cdd21fa b/fuzz/corpora/cmp/8b972b7ede7209200a261022100f52e02cdd21fa new file mode 100644 index 00000000..261cc031 Binary files /dev/null and b/fuzz/corpora/cmp/8b972b7ede7209200a261022100f52e02cdd21fa differ diff --git a/fuzz/corpora/cmp/8ba2d038fec91bf23d47c95d87795ce74ee7872a b/fuzz/corpora/cmp/8ba2d038fec91bf23d47c95d87795ce74ee7872a new file mode 100644 index 00000000..40e85726 Binary files /dev/null and b/fuzz/corpora/cmp/8ba2d038fec91bf23d47c95d87795ce74ee7872a differ diff --git a/fuzz/corpora/cmp/8be3b6068ab2601b5cde6d3e1c2890c96b2455ea b/fuzz/corpora/cmp/8be3b6068ab2601b5cde6d3e1c2890c96b2455ea new file mode 100644 index 00000000..0b0b8495 Binary files /dev/null and b/fuzz/corpora/cmp/8be3b6068ab2601b5cde6d3e1c2890c96b2455ea differ diff --git a/fuzz/corpora/cmp/8bfb6c49eae25334569000ee3587736df1ed1a37 b/fuzz/corpora/cmp/8bfb6c49eae25334569000ee3587736df1ed1a37 new file mode 100644 index 00000000..da99711e Binary files /dev/null and b/fuzz/corpora/cmp/8bfb6c49eae25334569000ee3587736df1ed1a37 differ diff --git a/fuzz/corpora/cmp/8c06482ed42e1cbd63275aa7f7e6bca7ede12cbd b/fuzz/corpora/cmp/8c06482ed42e1cbd63275aa7f7e6bca7ede12cbd new file mode 100644 index 00000000..ea974e34 Binary files /dev/null and b/fuzz/corpora/cmp/8c06482ed42e1cbd63275aa7f7e6bca7ede12cbd differ diff --git a/fuzz/corpora/cmp/8c0dfbd3da11b7c4be719d90692cbab35096a852 b/fuzz/corpora/cmp/8c0dfbd3da11b7c4be719d90692cbab35096a852 new file mode 100644 index 00000000..1f6044f0 Binary files /dev/null and b/fuzz/corpora/cmp/8c0dfbd3da11b7c4be719d90692cbab35096a852 differ diff --git a/fuzz/corpora/cmp/8c24d94f7b91bc158b2dc5603277baebddb7955d b/fuzz/corpora/cmp/8c24d94f7b91bc158b2dc5603277baebddb7955d new file mode 100644 index 00000000..c80eb8ff Binary files /dev/null and b/fuzz/corpora/cmp/8c24d94f7b91bc158b2dc5603277baebddb7955d differ diff --git a/fuzz/corpora/cmp/8c3e0f6593c6cf186b53ccd7d042ed9c60c4ae39 b/fuzz/corpora/cmp/8c3e0f6593c6cf186b53ccd7d042ed9c60c4ae39 new file mode 100644 index 00000000..c84adc01 Binary files /dev/null and b/fuzz/corpora/cmp/8c3e0f6593c6cf186b53ccd7d042ed9c60c4ae39 differ diff --git a/fuzz/corpora/cmp/8c4af57afa5f4dc92c9882d0aafff2cd1a3b1258 b/fuzz/corpora/cmp/8c4af57afa5f4dc92c9882d0aafff2cd1a3b1258 new file mode 100644 index 00000000..bb138889 Binary files /dev/null and b/fuzz/corpora/cmp/8c4af57afa5f4dc92c9882d0aafff2cd1a3b1258 differ diff --git a/fuzz/corpora/cmp/8c4c00ba7fd047c47afac2236a3f36306a07394f b/fuzz/corpora/cmp/8c4c00ba7fd047c47afac2236a3f36306a07394f new file mode 100644 index 00000000..8cb77698 Binary files /dev/null and b/fuzz/corpora/cmp/8c4c00ba7fd047c47afac2236a3f36306a07394f differ diff --git a/fuzz/corpora/cmp/8c542e490edb335c08953c4438f9dd193e4e4826 b/fuzz/corpora/cmp/8c542e490edb335c08953c4438f9dd193e4e4826 new file mode 100644 index 00000000..45ca312f Binary files /dev/null and b/fuzz/corpora/cmp/8c542e490edb335c08953c4438f9dd193e4e4826 differ diff --git a/fuzz/corpora/cmp/8c59244a09c13e5b8c224b7fded6ddeae222179e b/fuzz/corpora/cmp/8c59244a09c13e5b8c224b7fded6ddeae222179e new file mode 100644 index 00000000..af117c2c Binary files /dev/null and b/fuzz/corpora/cmp/8c59244a09c13e5b8c224b7fded6ddeae222179e differ diff --git a/fuzz/corpora/cmp/8c5d665e320a62807a79862e0b3c0b47a1324014 b/fuzz/corpora/cmp/8c5d665e320a62807a79862e0b3c0b47a1324014 new file mode 100644 index 00000000..b6c34919 Binary files /dev/null and b/fuzz/corpora/cmp/8c5d665e320a62807a79862e0b3c0b47a1324014 differ diff --git a/fuzz/corpora/cmp/8c6cef3c62035636e1e2a776a54b0c77e326119f b/fuzz/corpora/cmp/8c6cef3c62035636e1e2a776a54b0c77e326119f new file mode 100644 index 00000000..0d6ee1d3 Binary files /dev/null and b/fuzz/corpora/cmp/8c6cef3c62035636e1e2a776a54b0c77e326119f differ diff --git a/fuzz/corpora/cmp/8c6eceda474a14b60f374902d6937602c5c1b4f5 b/fuzz/corpora/cmp/8c6eceda474a14b60f374902d6937602c5c1b4f5 new file mode 100644 index 00000000..ff3c9651 Binary files /dev/null and b/fuzz/corpora/cmp/8c6eceda474a14b60f374902d6937602c5c1b4f5 differ diff --git a/fuzz/corpora/cmp/8c88819fd289cee160a584ea3546209ccc3f5d75 b/fuzz/corpora/cmp/8c88819fd289cee160a584ea3546209ccc3f5d75 new file mode 100644 index 00000000..55029acd Binary files /dev/null and b/fuzz/corpora/cmp/8c88819fd289cee160a584ea3546209ccc3f5d75 differ diff --git a/fuzz/corpora/cmp/8c9d9b3e618db3bdea6038b0a92d2d77b6a68c7f b/fuzz/corpora/cmp/8c9d9b3e618db3bdea6038b0a92d2d77b6a68c7f new file mode 100644 index 00000000..e0a9ad2d Binary files /dev/null and b/fuzz/corpora/cmp/8c9d9b3e618db3bdea6038b0a92d2d77b6a68c7f differ diff --git a/fuzz/corpora/cmp/8cac5573d0321f24652d12b04296a8f915a5e509 b/fuzz/corpora/cmp/8cac5573d0321f24652d12b04296a8f915a5e509 new file mode 100644 index 00000000..7cb619dc Binary files /dev/null and b/fuzz/corpora/cmp/8cac5573d0321f24652d12b04296a8f915a5e509 differ diff --git a/fuzz/corpora/cmp/8cc326520ae4a154616cd7f083907e85ac3ad5f0 b/fuzz/corpora/cmp/8cc326520ae4a154616cd7f083907e85ac3ad5f0 new file mode 100644 index 00000000..9fe8b659 Binary files /dev/null and b/fuzz/corpora/cmp/8cc326520ae4a154616cd7f083907e85ac3ad5f0 differ diff --git a/fuzz/corpora/cmp/8ccb1f70cd0943aafc4ca863da8f33625f8a779b b/fuzz/corpora/cmp/8ccb1f70cd0943aafc4ca863da8f33625f8a779b new file mode 100644 index 00000000..0816c9fa Binary files /dev/null and b/fuzz/corpora/cmp/8ccb1f70cd0943aafc4ca863da8f33625f8a779b differ diff --git a/fuzz/corpora/cmp/8ccb688b1590bdd278443d3f799d370beea4c041 b/fuzz/corpora/cmp/8ccb688b1590bdd278443d3f799d370beea4c041 new file mode 100644 index 00000000..7871bb72 Binary files /dev/null and b/fuzz/corpora/cmp/8ccb688b1590bdd278443d3f799d370beea4c041 differ diff --git a/fuzz/corpora/cmp/8ccbd0e290040228f773bc9445c4abaa2a251290 b/fuzz/corpora/cmp/8ccbd0e290040228f773bc9445c4abaa2a251290 new file mode 100644 index 00000000..7fb675cf Binary files /dev/null and b/fuzz/corpora/cmp/8ccbd0e290040228f773bc9445c4abaa2a251290 differ diff --git a/fuzz/corpora/cmp/8cd5ec47ce0b7ad98677ea022b190a01ed3d0bb2 b/fuzz/corpora/cmp/8cd5ec47ce0b7ad98677ea022b190a01ed3d0bb2 new file mode 100644 index 00000000..fac4384e Binary files /dev/null and b/fuzz/corpora/cmp/8cd5ec47ce0b7ad98677ea022b190a01ed3d0bb2 differ diff --git a/fuzz/corpora/cmp/8cec9bb0be3ebf9134441c28fe4e07f67ca179d3 b/fuzz/corpora/cmp/8cec9bb0be3ebf9134441c28fe4e07f67ca179d3 new file mode 100644 index 00000000..72bff866 Binary files /dev/null and b/fuzz/corpora/cmp/8cec9bb0be3ebf9134441c28fe4e07f67ca179d3 differ diff --git a/fuzz/corpora/cmp/8cfc17df7b3e2cb82d191d961796ca77e2f6e91c b/fuzz/corpora/cmp/8cfc17df7b3e2cb82d191d961796ca77e2f6e91c new file mode 100644 index 00000000..a8bf157f Binary files /dev/null and b/fuzz/corpora/cmp/8cfc17df7b3e2cb82d191d961796ca77e2f6e91c differ diff --git a/fuzz/corpora/cmp/8d0b4411aefa94f0f6261d5130478bdd0ba65b98 b/fuzz/corpora/cmp/8d0b4411aefa94f0f6261d5130478bdd0ba65b98 new file mode 100644 index 00000000..1a00a837 Binary files /dev/null and b/fuzz/corpora/cmp/8d0b4411aefa94f0f6261d5130478bdd0ba65b98 differ diff --git a/fuzz/corpora/cmp/8d0fc2c6531e598e6a9acdce9d24d222f7d15f39 b/fuzz/corpora/cmp/8d0fc2c6531e598e6a9acdce9d24d222f7d15f39 new file mode 100644 index 00000000..82814665 Binary files /dev/null and b/fuzz/corpora/cmp/8d0fc2c6531e598e6a9acdce9d24d222f7d15f39 differ diff --git a/fuzz/corpora/cmp/8d21b69264d43a34eed5df713b5cdac3c5f84c40 b/fuzz/corpora/cmp/8d21b69264d43a34eed5df713b5cdac3c5f84c40 new file mode 100644 index 00000000..a4c6f2ed Binary files /dev/null and b/fuzz/corpora/cmp/8d21b69264d43a34eed5df713b5cdac3c5f84c40 differ diff --git a/fuzz/corpora/cmp/8d28bb68b56b4dc32deac3763570d1bff5e5a083 b/fuzz/corpora/cmp/8d28bb68b56b4dc32deac3763570d1bff5e5a083 new file mode 100644 index 00000000..01986d56 Binary files /dev/null and b/fuzz/corpora/cmp/8d28bb68b56b4dc32deac3763570d1bff5e5a083 differ diff --git a/fuzz/corpora/cmp/8d290b1b6490d168c8f74466a7b66863f23e6506 b/fuzz/corpora/cmp/8d290b1b6490d168c8f74466a7b66863f23e6506 new file mode 100644 index 00000000..c0db927f Binary files /dev/null and b/fuzz/corpora/cmp/8d290b1b6490d168c8f74466a7b66863f23e6506 differ diff --git a/fuzz/corpora/cmp/8d2927158d912f2ac42354ecedd088c1c623e3f5 b/fuzz/corpora/cmp/8d2927158d912f2ac42354ecedd088c1c623e3f5 new file mode 100644 index 00000000..1a2f8aab Binary files /dev/null and b/fuzz/corpora/cmp/8d2927158d912f2ac42354ecedd088c1c623e3f5 differ diff --git a/fuzz/corpora/cmp/8d323dee946807f8eb72d54aa0676950593b54a1 b/fuzz/corpora/cmp/8d323dee946807f8eb72d54aa0676950593b54a1 new file mode 100644 index 00000000..a32e8661 Binary files /dev/null and b/fuzz/corpora/cmp/8d323dee946807f8eb72d54aa0676950593b54a1 differ diff --git a/fuzz/corpora/cmp/8d51b43041ef37bd847e747a6de0ecc177489256 b/fuzz/corpora/cmp/8d51b43041ef37bd847e747a6de0ecc177489256 new file mode 100644 index 00000000..694386b4 Binary files /dev/null and b/fuzz/corpora/cmp/8d51b43041ef37bd847e747a6de0ecc177489256 differ diff --git a/fuzz/corpora/cmp/8d5deb840771f32769c69131eb4d9504ad8b1dde b/fuzz/corpora/cmp/8d5deb840771f32769c69131eb4d9504ad8b1dde new file mode 100644 index 00000000..9ee8b20f Binary files /dev/null and b/fuzz/corpora/cmp/8d5deb840771f32769c69131eb4d9504ad8b1dde differ diff --git a/fuzz/corpora/cmp/8d8b4806486bbf222ffad91ebce8421bc4f31e0d b/fuzz/corpora/cmp/8d8b4806486bbf222ffad91ebce8421bc4f31e0d new file mode 100644 index 00000000..e2bfc598 Binary files /dev/null and b/fuzz/corpora/cmp/8d8b4806486bbf222ffad91ebce8421bc4f31e0d differ diff --git a/fuzz/corpora/cmp/8d90c467f6ac6128be698bc74474f97bd1a7a452 b/fuzz/corpora/cmp/8d90c467f6ac6128be698bc74474f97bd1a7a452 new file mode 100644 index 00000000..cf045838 Binary files /dev/null and b/fuzz/corpora/cmp/8d90c467f6ac6128be698bc74474f97bd1a7a452 differ diff --git a/fuzz/corpora/cmp/8d95b933110ede6d5050c14a90fd90ccdfe1d341 b/fuzz/corpora/cmp/8d95b933110ede6d5050c14a90fd90ccdfe1d341 new file mode 100644 index 00000000..5ed9de7e Binary files /dev/null and b/fuzz/corpora/cmp/8d95b933110ede6d5050c14a90fd90ccdfe1d341 differ diff --git a/fuzz/corpora/cmp/8da1fcd67d52d0bb9c584d3ad9580fa2c402ca6a b/fuzz/corpora/cmp/8da1fcd67d52d0bb9c584d3ad9580fa2c402ca6a new file mode 100644 index 00000000..50c868fe Binary files /dev/null and b/fuzz/corpora/cmp/8da1fcd67d52d0bb9c584d3ad9580fa2c402ca6a differ diff --git a/fuzz/corpora/cmp/8dd10871dbfca41fbf4976b605244fa61fd8ab18 b/fuzz/corpora/cmp/8dd10871dbfca41fbf4976b605244fa61fd8ab18 new file mode 100644 index 00000000..11b716ea Binary files /dev/null and b/fuzz/corpora/cmp/8dd10871dbfca41fbf4976b605244fa61fd8ab18 differ diff --git a/fuzz/corpora/cmp/8de6e674b9f5b540c9b8a341a8abca4371b17b8c b/fuzz/corpora/cmp/8de6e674b9f5b540c9b8a341a8abca4371b17b8c new file mode 100644 index 00000000..0c1c21cc Binary files /dev/null and b/fuzz/corpora/cmp/8de6e674b9f5b540c9b8a341a8abca4371b17b8c differ diff --git a/fuzz/corpora/cmp/8df85e1f763e7d2f7481dcf31ee58e98cd19a6b2 b/fuzz/corpora/cmp/8df85e1f763e7d2f7481dcf31ee58e98cd19a6b2 new file mode 100644 index 00000000..5fec6211 Binary files /dev/null and b/fuzz/corpora/cmp/8df85e1f763e7d2f7481dcf31ee58e98cd19a6b2 differ diff --git a/fuzz/corpora/cmp/8dffcdb931aad68095bd1d7d09047fd399219659 b/fuzz/corpora/cmp/8dffcdb931aad68095bd1d7d09047fd399219659 new file mode 100644 index 00000000..f17c356a Binary files /dev/null and b/fuzz/corpora/cmp/8dffcdb931aad68095bd1d7d09047fd399219659 differ diff --git a/fuzz/corpora/cmp/8e11685de299e83f5757d454d0bd60b3b431958a b/fuzz/corpora/cmp/8e11685de299e83f5757d454d0bd60b3b431958a new file mode 100644 index 00000000..a6ef2c33 Binary files /dev/null and b/fuzz/corpora/cmp/8e11685de299e83f5757d454d0bd60b3b431958a differ diff --git a/fuzz/corpora/cmp/8e17e854372ea34b33a3cba3dbf028e6691b952f b/fuzz/corpora/cmp/8e17e854372ea34b33a3cba3dbf028e6691b952f new file mode 100644 index 00000000..850b0957 Binary files /dev/null and b/fuzz/corpora/cmp/8e17e854372ea34b33a3cba3dbf028e6691b952f differ diff --git a/fuzz/corpora/cmp/8e30e8198ac98b0f1a0fd09e0fbd6c818d48ea15 b/fuzz/corpora/cmp/8e30e8198ac98b0f1a0fd09e0fbd6c818d48ea15 new file mode 100644 index 00000000..5366e8a8 Binary files /dev/null and b/fuzz/corpora/cmp/8e30e8198ac98b0f1a0fd09e0fbd6c818d48ea15 differ diff --git a/fuzz/corpora/cmp/8e38359cb2340eac801dd4c0812d449e7e6f4853 b/fuzz/corpora/cmp/8e38359cb2340eac801dd4c0812d449e7e6f4853 new file mode 100644 index 00000000..c1456105 Binary files /dev/null and b/fuzz/corpora/cmp/8e38359cb2340eac801dd4c0812d449e7e6f4853 differ diff --git a/fuzz/corpora/cmp/8e5257f6aa8b78f99a0f24645e1ed6647e65f92a b/fuzz/corpora/cmp/8e5257f6aa8b78f99a0f24645e1ed6647e65f92a new file mode 100644 index 00000000..1bd1242c Binary files /dev/null and b/fuzz/corpora/cmp/8e5257f6aa8b78f99a0f24645e1ed6647e65f92a differ diff --git a/fuzz/corpora/cmp/8e537a3c69037cfb67428fb957153738e215859f b/fuzz/corpora/cmp/8e537a3c69037cfb67428fb957153738e215859f new file mode 100644 index 00000000..d1a67e18 Binary files /dev/null and b/fuzz/corpora/cmp/8e537a3c69037cfb67428fb957153738e215859f differ diff --git a/fuzz/corpora/cmp/8e59164ed856f85d11638001df45bfc188ca6429 b/fuzz/corpora/cmp/8e59164ed856f85d11638001df45bfc188ca6429 new file mode 100644 index 00000000..3f1e8213 Binary files /dev/null and b/fuzz/corpora/cmp/8e59164ed856f85d11638001df45bfc188ca6429 differ diff --git a/fuzz/corpora/cmp/8e5d16121b4b590c107b835295cc15adce39b7b9 b/fuzz/corpora/cmp/8e5d16121b4b590c107b835295cc15adce39b7b9 new file mode 100644 index 00000000..37fa9c72 Binary files /dev/null and b/fuzz/corpora/cmp/8e5d16121b4b590c107b835295cc15adce39b7b9 differ diff --git a/fuzz/corpora/cmp/8e62affc7a7e05f4dac22ef97ede71ca57c13d77 b/fuzz/corpora/cmp/8e62affc7a7e05f4dac22ef97ede71ca57c13d77 new file mode 100644 index 00000000..1d45a174 Binary files /dev/null and b/fuzz/corpora/cmp/8e62affc7a7e05f4dac22ef97ede71ca57c13d77 differ diff --git a/fuzz/corpora/cmp/8e6f03f803077e2a761da2ddcc28bb2ffbba734a b/fuzz/corpora/cmp/8e6f03f803077e2a761da2ddcc28bb2ffbba734a new file mode 100644 index 00000000..58840868 --- /dev/null +++ b/fuzz/corpora/cmp/8e6f03f803077e2a761da2ddcc28bb2ffbba734a @@ -0,0 +1 @@ +¿‹¿‹‹¶ \ No newline at end of file diff --git a/fuzz/corpora/cmp/8e7bfc70adef05c19125becfafabed4bc3d56587 b/fuzz/corpora/cmp/8e7bfc70adef05c19125becfafabed4bc3d56587 new file mode 100644 index 00000000..158e7f22 Binary files /dev/null and b/fuzz/corpora/cmp/8e7bfc70adef05c19125becfafabed4bc3d56587 differ diff --git a/fuzz/corpora/cmp/8e82e8ff69300749c0c5b6a6d68d4ffc81304da0 b/fuzz/corpora/cmp/8e82e8ff69300749c0c5b6a6d68d4ffc81304da0 new file mode 100644 index 00000000..cb3fc188 Binary files /dev/null and b/fuzz/corpora/cmp/8e82e8ff69300749c0c5b6a6d68d4ffc81304da0 differ diff --git a/fuzz/corpora/cmp/8e869e8b25b3507f0779640a4ed9fabbf5cd7815 b/fuzz/corpora/cmp/8e869e8b25b3507f0779640a4ed9fabbf5cd7815 new file mode 100644 index 00000000..0b63a74b Binary files /dev/null and b/fuzz/corpora/cmp/8e869e8b25b3507f0779640a4ed9fabbf5cd7815 differ diff --git a/fuzz/corpora/cmp/8e8bdd3a008bc243d842a0850cc337c81bd32077 b/fuzz/corpora/cmp/8e8bdd3a008bc243d842a0850cc337c81bd32077 new file mode 100644 index 00000000..7c525680 Binary files /dev/null and b/fuzz/corpora/cmp/8e8bdd3a008bc243d842a0850cc337c81bd32077 differ diff --git a/fuzz/corpora/cmp/8ebffdd86a9bb07d3c639a80efb154d1efca33f5 b/fuzz/corpora/cmp/8ebffdd86a9bb07d3c639a80efb154d1efca33f5 new file mode 100644 index 00000000..25fd1014 Binary files /dev/null and b/fuzz/corpora/cmp/8ebffdd86a9bb07d3c639a80efb154d1efca33f5 differ diff --git a/fuzz/corpora/cmp/8ed60c87bf40b185b8777fbcd34d04e64810237a b/fuzz/corpora/cmp/8ed60c87bf40b185b8777fbcd34d04e64810237a new file mode 100644 index 00000000..e38cfd55 Binary files /dev/null and b/fuzz/corpora/cmp/8ed60c87bf40b185b8777fbcd34d04e64810237a differ diff --git a/fuzz/corpora/cmp/8edbe276253b0e1165380835efa44cb7a448cb9a b/fuzz/corpora/cmp/8edbe276253b0e1165380835efa44cb7a448cb9a new file mode 100644 index 00000000..91ff94e2 Binary files /dev/null and b/fuzz/corpora/cmp/8edbe276253b0e1165380835efa44cb7a448cb9a differ diff --git a/fuzz/corpora/cmp/8f071aa5de8bef3401088ff482b507cf1dbeb53f b/fuzz/corpora/cmp/8f071aa5de8bef3401088ff482b507cf1dbeb53f new file mode 100644 index 00000000..ff47077f Binary files /dev/null and b/fuzz/corpora/cmp/8f071aa5de8bef3401088ff482b507cf1dbeb53f differ diff --git a/fuzz/corpora/cmp/8f0f0b8b4eb80b03d769476eb5b7ae7ec3bb7aff b/fuzz/corpora/cmp/8f0f0b8b4eb80b03d769476eb5b7ae7ec3bb7aff new file mode 100644 index 00000000..2a7be561 Binary files /dev/null and b/fuzz/corpora/cmp/8f0f0b8b4eb80b03d769476eb5b7ae7ec3bb7aff differ diff --git a/fuzz/corpora/cmp/8f1caa60950826fabfe843952a4384723df56f0c b/fuzz/corpora/cmp/8f1caa60950826fabfe843952a4384723df56f0c new file mode 100644 index 00000000..e14ca86c Binary files /dev/null and b/fuzz/corpora/cmp/8f1caa60950826fabfe843952a4384723df56f0c differ diff --git a/fuzz/corpora/cmp/8f2e803c5663e82deec4875c7806335dff9bcfd6 b/fuzz/corpora/cmp/8f2e803c5663e82deec4875c7806335dff9bcfd6 new file mode 100644 index 00000000..2dcb399d Binary files /dev/null and b/fuzz/corpora/cmp/8f2e803c5663e82deec4875c7806335dff9bcfd6 differ diff --git a/fuzz/corpora/cmp/8f56a1723c8ffd95c3feb03bb50bedef4a29cd13 b/fuzz/corpora/cmp/8f56a1723c8ffd95c3feb03bb50bedef4a29cd13 new file mode 100644 index 00000000..01798cee Binary files /dev/null and b/fuzz/corpora/cmp/8f56a1723c8ffd95c3feb03bb50bedef4a29cd13 differ diff --git a/fuzz/corpora/cmp/8f7d785c64526e62f660ca312ed94420bea790a0 b/fuzz/corpora/cmp/8f7d785c64526e62f660ca312ed94420bea790a0 new file mode 100644 index 00000000..fbfaa454 Binary files /dev/null and b/fuzz/corpora/cmp/8f7d785c64526e62f660ca312ed94420bea790a0 differ diff --git a/fuzz/corpora/cmp/8f93e3eeaef5c6206cc1a4a1d49229009efc8e85 b/fuzz/corpora/cmp/8f93e3eeaef5c6206cc1a4a1d49229009efc8e85 new file mode 100644 index 00000000..48447bac Binary files /dev/null and b/fuzz/corpora/cmp/8f93e3eeaef5c6206cc1a4a1d49229009efc8e85 differ diff --git a/fuzz/corpora/cmp/8fa4f8a4dfa5d8a06303c2e289c678e0ea1f6880 b/fuzz/corpora/cmp/8fa4f8a4dfa5d8a06303c2e289c678e0ea1f6880 new file mode 100644 index 00000000..fc37cf3f Binary files /dev/null and b/fuzz/corpora/cmp/8fa4f8a4dfa5d8a06303c2e289c678e0ea1f6880 differ diff --git a/fuzz/corpora/cmp/8fb6aa9e29d87b3ad0067de0d6ae9de8e684c58a b/fuzz/corpora/cmp/8fb6aa9e29d87b3ad0067de0d6ae9de8e684c58a new file mode 100644 index 00000000..ce7105c7 Binary files /dev/null and b/fuzz/corpora/cmp/8fb6aa9e29d87b3ad0067de0d6ae9de8e684c58a differ diff --git a/fuzz/corpora/cmp/8fc889b3d5e43b99379041259f85a0fb496010c8 b/fuzz/corpora/cmp/8fc889b3d5e43b99379041259f85a0fb496010c8 new file mode 100644 index 00000000..9d7573a7 Binary files /dev/null and b/fuzz/corpora/cmp/8fc889b3d5e43b99379041259f85a0fb496010c8 differ diff --git a/fuzz/corpora/cmp/8fe477ea39679e7a52c8e897f4c80f940ef0ce2b b/fuzz/corpora/cmp/8fe477ea39679e7a52c8e897f4c80f940ef0ce2b new file mode 100644 index 00000000..111f56d6 Binary files /dev/null and b/fuzz/corpora/cmp/8fe477ea39679e7a52c8e897f4c80f940ef0ce2b differ diff --git a/fuzz/corpora/cmp/8fe586e6ae36914a1e415134d3778cbb92fc7503 b/fuzz/corpora/cmp/8fe586e6ae36914a1e415134d3778cbb92fc7503 new file mode 100644 index 00000000..2f28df30 Binary files /dev/null and b/fuzz/corpora/cmp/8fe586e6ae36914a1e415134d3778cbb92fc7503 differ diff --git a/fuzz/corpora/cmp/90008531786c0d118dee6af06ccda8ef6068f393 b/fuzz/corpora/cmp/90008531786c0d118dee6af06ccda8ef6068f393 new file mode 100644 index 00000000..8c31188c Binary files /dev/null and b/fuzz/corpora/cmp/90008531786c0d118dee6af06ccda8ef6068f393 differ diff --git a/fuzz/corpora/cmp/9003bdfb8df448a16b1d0089253fd3b70b21fbd2 b/fuzz/corpora/cmp/9003bdfb8df448a16b1d0089253fd3b70b21fbd2 new file mode 100644 index 00000000..c8305685 Binary files /dev/null and b/fuzz/corpora/cmp/9003bdfb8df448a16b1d0089253fd3b70b21fbd2 differ diff --git a/fuzz/corpora/cmp/90195b5e3d809b1b0b735e351cfca66b1159900c b/fuzz/corpora/cmp/90195b5e3d809b1b0b735e351cfca66b1159900c new file mode 100644 index 00000000..28759f8e Binary files /dev/null and b/fuzz/corpora/cmp/90195b5e3d809b1b0b735e351cfca66b1159900c differ diff --git a/fuzz/corpora/cmp/9020a416766b84d04322bf25ab1b3bf4a7e7239b b/fuzz/corpora/cmp/9020a416766b84d04322bf25ab1b3bf4a7e7239b new file mode 100644 index 00000000..0978311d Binary files /dev/null and b/fuzz/corpora/cmp/9020a416766b84d04322bf25ab1b3bf4a7e7239b differ diff --git a/fuzz/corpora/cmp/902b27d853ddf862a52c5c4483a665ab93a8b325 b/fuzz/corpora/cmp/902b27d853ddf862a52c5c4483a665ab93a8b325 new file mode 100644 index 00000000..268a955f Binary files /dev/null and b/fuzz/corpora/cmp/902b27d853ddf862a52c5c4483a665ab93a8b325 differ diff --git a/fuzz/corpora/cmp/903e8eecaffe7baad8e08d0de5b8705a5d058940 b/fuzz/corpora/cmp/903e8eecaffe7baad8e08d0de5b8705a5d058940 new file mode 100644 index 00000000..1d3741fa Binary files /dev/null and b/fuzz/corpora/cmp/903e8eecaffe7baad8e08d0de5b8705a5d058940 differ diff --git a/fuzz/corpora/cmp/905c4eef16570082d8ff279f9023e602f1f3a570 b/fuzz/corpora/cmp/905c4eef16570082d8ff279f9023e602f1f3a570 new file mode 100644 index 00000000..be277329 Binary files /dev/null and b/fuzz/corpora/cmp/905c4eef16570082d8ff279f9023e602f1f3a570 differ diff --git a/fuzz/corpora/cmp/906349e526365f74a795da00cdef2f54ddabed70 b/fuzz/corpora/cmp/906349e526365f74a795da00cdef2f54ddabed70 new file mode 100644 index 00000000..a662934d Binary files /dev/null and b/fuzz/corpora/cmp/906349e526365f74a795da00cdef2f54ddabed70 differ diff --git a/fuzz/corpora/cmp/9083d2fbc86dc3ff4d3d6ebe27478c4936255b96 b/fuzz/corpora/cmp/9083d2fbc86dc3ff4d3d6ebe27478c4936255b96 new file mode 100644 index 00000000..caa243af Binary files /dev/null and b/fuzz/corpora/cmp/9083d2fbc86dc3ff4d3d6ebe27478c4936255b96 differ diff --git a/fuzz/corpora/cmp/908b96e56cfd8f6c07204d6bbe4ae9a574470cb0 b/fuzz/corpora/cmp/908b96e56cfd8f6c07204d6bbe4ae9a574470cb0 new file mode 100644 index 00000000..6086c38f Binary files /dev/null and b/fuzz/corpora/cmp/908b96e56cfd8f6c07204d6bbe4ae9a574470cb0 differ diff --git a/fuzz/corpora/cmp/90b74c1a5403fd05a085c025a7b7a5a0ec504110 b/fuzz/corpora/cmp/90b74c1a5403fd05a085c025a7b7a5a0ec504110 new file mode 100644 index 00000000..065b5646 Binary files /dev/null and b/fuzz/corpora/cmp/90b74c1a5403fd05a085c025a7b7a5a0ec504110 differ diff --git a/fuzz/corpora/cmp/90b8fc76ac64bfa8ba38a77d986ed2eaece8923b b/fuzz/corpora/cmp/90b8fc76ac64bfa8ba38a77d986ed2eaece8923b new file mode 100644 index 00000000..3e3ab6da Binary files /dev/null and b/fuzz/corpora/cmp/90b8fc76ac64bfa8ba38a77d986ed2eaece8923b differ diff --git a/fuzz/corpora/cmp/90bc04cc49f874d9f35ac8e1f845b3b8c56f2a73 b/fuzz/corpora/cmp/90bc04cc49f874d9f35ac8e1f845b3b8c56f2a73 new file mode 100644 index 00000000..d27149f0 Binary files /dev/null and b/fuzz/corpora/cmp/90bc04cc49f874d9f35ac8e1f845b3b8c56f2a73 differ diff --git a/fuzz/corpora/cmp/90d795633be5163c6810636702ac6b2d211a5b66 b/fuzz/corpora/cmp/90d795633be5163c6810636702ac6b2d211a5b66 new file mode 100644 index 00000000..26097ec7 Binary files /dev/null and b/fuzz/corpora/cmp/90d795633be5163c6810636702ac6b2d211a5b66 differ diff --git a/fuzz/corpora/cmp/90f2996b114979d04d3cf2e2195297b0d65daef1 b/fuzz/corpora/cmp/90f2996b114979d04d3cf2e2195297b0d65daef1 new file mode 100644 index 00000000..ceccd78d Binary files /dev/null and b/fuzz/corpora/cmp/90f2996b114979d04d3cf2e2195297b0d65daef1 differ diff --git a/fuzz/corpora/cmp/9101afbca74f9415a4b8cd3afc3d19c68b19415f b/fuzz/corpora/cmp/9101afbca74f9415a4b8cd3afc3d19c68b19415f new file mode 100644 index 00000000..2543cd14 Binary files /dev/null and b/fuzz/corpora/cmp/9101afbca74f9415a4b8cd3afc3d19c68b19415f differ diff --git a/fuzz/corpora/cmp/9101f8f363d7e5614a989d11385344fd14ae4cc5 b/fuzz/corpora/cmp/9101f8f363d7e5614a989d11385344fd14ae4cc5 new file mode 100644 index 00000000..2a93172f Binary files /dev/null and b/fuzz/corpora/cmp/9101f8f363d7e5614a989d11385344fd14ae4cc5 differ diff --git a/fuzz/corpora/cmp/91119cb6cad032080dd13affedf3b944bb307376 b/fuzz/corpora/cmp/91119cb6cad032080dd13affedf3b944bb307376 new file mode 100644 index 00000000..6bf89467 Binary files /dev/null and b/fuzz/corpora/cmp/91119cb6cad032080dd13affedf3b944bb307376 differ diff --git a/fuzz/corpora/cmp/9119736e93f795bf932d727576ea661d9185f88c b/fuzz/corpora/cmp/9119736e93f795bf932d727576ea661d9185f88c new file mode 100644 index 00000000..681a10f6 Binary files /dev/null and b/fuzz/corpora/cmp/9119736e93f795bf932d727576ea661d9185f88c differ diff --git a/fuzz/corpora/cmp/91396d7037ddcff95fe3ff024f53e7ebd48d6a4e b/fuzz/corpora/cmp/91396d7037ddcff95fe3ff024f53e7ebd48d6a4e new file mode 100644 index 00000000..0d8b179d Binary files /dev/null and b/fuzz/corpora/cmp/91396d7037ddcff95fe3ff024f53e7ebd48d6a4e differ diff --git a/fuzz/corpora/cmp/914aaedd7da45a54dd2306441a9d772594ac367c b/fuzz/corpora/cmp/914aaedd7da45a54dd2306441a9d772594ac367c new file mode 100644 index 00000000..d1af7c9b Binary files /dev/null and b/fuzz/corpora/cmp/914aaedd7da45a54dd2306441a9d772594ac367c differ diff --git a/fuzz/corpora/cmp/918456190fde389c42db4ecc1e70e2b556301b37 b/fuzz/corpora/cmp/918456190fde389c42db4ecc1e70e2b556301b37 new file mode 100644 index 00000000..d269bdb6 Binary files /dev/null and b/fuzz/corpora/cmp/918456190fde389c42db4ecc1e70e2b556301b37 differ diff --git a/fuzz/corpora/cmp/91ae686e471d97ba5803a6022da87edbd6970d86 b/fuzz/corpora/cmp/91ae686e471d97ba5803a6022da87edbd6970d86 new file mode 100644 index 00000000..d861cfcf Binary files /dev/null and b/fuzz/corpora/cmp/91ae686e471d97ba5803a6022da87edbd6970d86 differ diff --git a/fuzz/corpora/cmp/91bf8d543fc56d304f3038e91d5e40fd53d3f3d7 b/fuzz/corpora/cmp/91bf8d543fc56d304f3038e91d5e40fd53d3f3d7 new file mode 100644 index 00000000..8e76f478 Binary files /dev/null and b/fuzz/corpora/cmp/91bf8d543fc56d304f3038e91d5e40fd53d3f3d7 differ diff --git a/fuzz/corpora/cmp/91df9a9dbecd03553ce02a027cb9fe05df1d3d8f b/fuzz/corpora/cmp/91df9a9dbecd03553ce02a027cb9fe05df1d3d8f new file mode 100644 index 00000000..34b79cd8 Binary files /dev/null and b/fuzz/corpora/cmp/91df9a9dbecd03553ce02a027cb9fe05df1d3d8f differ diff --git a/fuzz/corpora/cmp/91dfcde4ddf925680fccd77c500cebde04e01462 b/fuzz/corpora/cmp/91dfcde4ddf925680fccd77c500cebde04e01462 new file mode 100644 index 00000000..f314f89a Binary files /dev/null and b/fuzz/corpora/cmp/91dfcde4ddf925680fccd77c500cebde04e01462 differ diff --git a/fuzz/corpora/cmp/91e2578d7934227bb90ddba5a2fe730a92e05224 b/fuzz/corpora/cmp/91e2578d7934227bb90ddba5a2fe730a92e05224 new file mode 100644 index 00000000..e187f509 Binary files /dev/null and b/fuzz/corpora/cmp/91e2578d7934227bb90ddba5a2fe730a92e05224 differ diff --git a/fuzz/corpora/cmp/91e31d280e036edc12b7b6b3b1e46fd9dde74574 b/fuzz/corpora/cmp/91e31d280e036edc12b7b6b3b1e46fd9dde74574 new file mode 100644 index 00000000..7e02d973 Binary files /dev/null and b/fuzz/corpora/cmp/91e31d280e036edc12b7b6b3b1e46fd9dde74574 differ diff --git a/fuzz/corpora/cmp/91eb368aa09f19194a276cdaa0639172eaf50b70 b/fuzz/corpora/cmp/91eb368aa09f19194a276cdaa0639172eaf50b70 new file mode 100644 index 00000000..59fe37c6 Binary files /dev/null and b/fuzz/corpora/cmp/91eb368aa09f19194a276cdaa0639172eaf50b70 differ diff --git a/fuzz/corpora/cmp/920b57f16895c48908ed0e2ee997b04682d967ff b/fuzz/corpora/cmp/920b57f16895c48908ed0e2ee997b04682d967ff new file mode 100644 index 00000000..b4fab407 Binary files /dev/null and b/fuzz/corpora/cmp/920b57f16895c48908ed0e2ee997b04682d967ff differ diff --git a/fuzz/corpora/cmp/9213475491d2a55ae82e7fb2d2c7cf49e754f8a8 b/fuzz/corpora/cmp/9213475491d2a55ae82e7fb2d2c7cf49e754f8a8 new file mode 100644 index 00000000..f22b7e4a Binary files /dev/null and b/fuzz/corpora/cmp/9213475491d2a55ae82e7fb2d2c7cf49e754f8a8 differ diff --git a/fuzz/corpora/cmp/92172a9da9593b6a3b05d6680488b08a194d06e5 b/fuzz/corpora/cmp/92172a9da9593b6a3b05d6680488b08a194d06e5 new file mode 100644 index 00000000..8830526b Binary files /dev/null and b/fuzz/corpora/cmp/92172a9da9593b6a3b05d6680488b08a194d06e5 differ diff --git a/fuzz/corpora/cmp/922061be63e6796a60282640a3001e6c80192b07 b/fuzz/corpora/cmp/922061be63e6796a60282640a3001e6c80192b07 new file mode 100644 index 00000000..73ba515f Binary files /dev/null and b/fuzz/corpora/cmp/922061be63e6796a60282640a3001e6c80192b07 differ diff --git a/fuzz/corpora/cmp/9221ea0bd55d5615bff9edd2c9aef7b3a39a88fa b/fuzz/corpora/cmp/9221ea0bd55d5615bff9edd2c9aef7b3a39a88fa new file mode 100644 index 00000000..37b7bc33 Binary files /dev/null and b/fuzz/corpora/cmp/9221ea0bd55d5615bff9edd2c9aef7b3a39a88fa differ diff --git a/fuzz/corpora/cmp/92351024e3de60c2e39cdd00f64244597e92f2f1 b/fuzz/corpora/cmp/92351024e3de60c2e39cdd00f64244597e92f2f1 new file mode 100644 index 00000000..916f8399 Binary files /dev/null and b/fuzz/corpora/cmp/92351024e3de60c2e39cdd00f64244597e92f2f1 differ diff --git a/fuzz/corpora/cmp/9238fd3e419f1569ea32d5f21fed046d0383054c b/fuzz/corpora/cmp/9238fd3e419f1569ea32d5f21fed046d0383054c new file mode 100644 index 00000000..e72b1f27 Binary files /dev/null and b/fuzz/corpora/cmp/9238fd3e419f1569ea32d5f21fed046d0383054c differ diff --git a/fuzz/corpora/cmp/9255a987ce1ee885460618786f6354712cb837d9 b/fuzz/corpora/cmp/9255a987ce1ee885460618786f6354712cb837d9 new file mode 100644 index 00000000..2b86b16e Binary files /dev/null and b/fuzz/corpora/cmp/9255a987ce1ee885460618786f6354712cb837d9 differ diff --git a/fuzz/corpora/cmp/926ad51cccffed5d69e743a538b6991df7978f61 b/fuzz/corpora/cmp/926ad51cccffed5d69e743a538b6991df7978f61 new file mode 100644 index 00000000..41aa268a Binary files /dev/null and b/fuzz/corpora/cmp/926ad51cccffed5d69e743a538b6991df7978f61 differ diff --git a/fuzz/corpora/cmp/928bd5aeeb138fa3b1eba88ef43fe332d87015d7 b/fuzz/corpora/cmp/928bd5aeeb138fa3b1eba88ef43fe332d87015d7 new file mode 100644 index 00000000..a4384db3 Binary files /dev/null and b/fuzz/corpora/cmp/928bd5aeeb138fa3b1eba88ef43fe332d87015d7 differ diff --git a/fuzz/corpora/cmp/9294d1c8cc61b3bccdc56d2bf78191c487a3cefb b/fuzz/corpora/cmp/9294d1c8cc61b3bccdc56d2bf78191c487a3cefb new file mode 100644 index 00000000..d06efb15 Binary files /dev/null and b/fuzz/corpora/cmp/9294d1c8cc61b3bccdc56d2bf78191c487a3cefb differ diff --git a/fuzz/corpora/cmp/92a238c3a68deefa324171b5847841e63b047d45 b/fuzz/corpora/cmp/92a238c3a68deefa324171b5847841e63b047d45 new file mode 100644 index 00000000..4a5cda26 Binary files /dev/null and b/fuzz/corpora/cmp/92a238c3a68deefa324171b5847841e63b047d45 differ diff --git a/fuzz/corpora/cmp/92a5acbb95c62d9670080a8b42049adb56bd91be b/fuzz/corpora/cmp/92a5acbb95c62d9670080a8b42049adb56bd91be new file mode 100644 index 00000000..4f2e01f2 Binary files /dev/null and b/fuzz/corpora/cmp/92a5acbb95c62d9670080a8b42049adb56bd91be differ diff --git a/fuzz/corpora/cmp/92ad819c368fdbf5ff826cb2a733e45a2df0c611 b/fuzz/corpora/cmp/92ad819c368fdbf5ff826cb2a733e45a2df0c611 new file mode 100644 index 00000000..bbb7dc2b Binary files /dev/null and b/fuzz/corpora/cmp/92ad819c368fdbf5ff826cb2a733e45a2df0c611 differ diff --git a/fuzz/corpora/cmp/92b03cefbb9a3f7be7f3bd5e9bf524eb5e76a645 b/fuzz/corpora/cmp/92b03cefbb9a3f7be7f3bd5e9bf524eb5e76a645 new file mode 100644 index 00000000..82f284ee Binary files /dev/null and b/fuzz/corpora/cmp/92b03cefbb9a3f7be7f3bd5e9bf524eb5e76a645 differ diff --git a/fuzz/corpora/cmp/92b341387a42f8365800ea0941b8da6f296175cd b/fuzz/corpora/cmp/92b341387a42f8365800ea0941b8da6f296175cd new file mode 100644 index 00000000..50d5938f Binary files /dev/null and b/fuzz/corpora/cmp/92b341387a42f8365800ea0941b8da6f296175cd differ diff --git a/fuzz/corpora/cmp/92cbc03d8e843dc7a43e911038319fc658d77b75 b/fuzz/corpora/cmp/92cbc03d8e843dc7a43e911038319fc658d77b75 new file mode 100644 index 00000000..5bccb9f5 Binary files /dev/null and b/fuzz/corpora/cmp/92cbc03d8e843dc7a43e911038319fc658d77b75 differ diff --git a/fuzz/corpora/cmp/92cd0f5417ab34304aa81120fc20af71324a4ca9 b/fuzz/corpora/cmp/92cd0f5417ab34304aa81120fc20af71324a4ca9 new file mode 100644 index 00000000..1ac71225 Binary files /dev/null and b/fuzz/corpora/cmp/92cd0f5417ab34304aa81120fc20af71324a4ca9 differ diff --git a/fuzz/corpora/cmp/92ce887bda53c08cfcc14729a5d3ec7722538b35 b/fuzz/corpora/cmp/92ce887bda53c08cfcc14729a5d3ec7722538b35 new file mode 100644 index 00000000..0c8ef33b Binary files /dev/null and b/fuzz/corpora/cmp/92ce887bda53c08cfcc14729a5d3ec7722538b35 differ diff --git a/fuzz/corpora/cmp/92de29798f87572ed25723ac625347e6813c451b b/fuzz/corpora/cmp/92de29798f87572ed25723ac625347e6813c451b new file mode 100644 index 00000000..2d9e6440 Binary files /dev/null and b/fuzz/corpora/cmp/92de29798f87572ed25723ac625347e6813c451b differ diff --git a/fuzz/corpora/cmp/92e5d3bb7b9a34e2ceb4c7179259172079772c59 b/fuzz/corpora/cmp/92e5d3bb7b9a34e2ceb4c7179259172079772c59 new file mode 100644 index 00000000..e976321c --- /dev/null +++ b/fuzz/corpora/cmp/92e5d3bb7b9a34e2ceb4c7179259172079772c59 @@ -0,0 +1 @@ +0€A \ No newline at end of file diff --git a/fuzz/corpora/cmp/932d6ce7def72a041045918e118dcc0d419288c6 b/fuzz/corpora/cmp/932d6ce7def72a041045918e118dcc0d419288c6 new file mode 100644 index 00000000..8804d437 Binary files /dev/null and b/fuzz/corpora/cmp/932d6ce7def72a041045918e118dcc0d419288c6 differ diff --git a/fuzz/corpora/cmp/9336df8e13c65e1c5844fa40957229f2efac8f23 b/fuzz/corpora/cmp/9336df8e13c65e1c5844fa40957229f2efac8f23 new file mode 100644 index 00000000..7549b3dc Binary files /dev/null and b/fuzz/corpora/cmp/9336df8e13c65e1c5844fa40957229f2efac8f23 differ diff --git a/fuzz/corpora/cmp/9345cebaa1c2e770ef72cd05e3c95be9352930ff b/fuzz/corpora/cmp/9345cebaa1c2e770ef72cd05e3c95be9352930ff new file mode 100644 index 00000000..6fafd929 Binary files /dev/null and b/fuzz/corpora/cmp/9345cebaa1c2e770ef72cd05e3c95be9352930ff differ diff --git a/fuzz/corpora/cmp/934aefdeb65624817aded5ec056f8b8e5acb7028 b/fuzz/corpora/cmp/934aefdeb65624817aded5ec056f8b8e5acb7028 new file mode 100644 index 00000000..2c566502 Binary files /dev/null and b/fuzz/corpora/cmp/934aefdeb65624817aded5ec056f8b8e5acb7028 differ diff --git a/fuzz/corpora/cmp/9353f5556d244d870bc5e3dc08839016cb20d1fd b/fuzz/corpora/cmp/9353f5556d244d870bc5e3dc08839016cb20d1fd new file mode 100644 index 00000000..1a94ba98 Binary files /dev/null and b/fuzz/corpora/cmp/9353f5556d244d870bc5e3dc08839016cb20d1fd differ diff --git a/fuzz/corpora/cmp/935a63f916c099581dea50e75beabe6a1bd74bfd b/fuzz/corpora/cmp/935a63f916c099581dea50e75beabe6a1bd74bfd new file mode 100644 index 00000000..16e46d98 Binary files /dev/null and b/fuzz/corpora/cmp/935a63f916c099581dea50e75beabe6a1bd74bfd differ diff --git a/fuzz/corpora/cmp/9370fce6f9968b2836533a8e2c824c0a5a67a2fa b/fuzz/corpora/cmp/9370fce6f9968b2836533a8e2c824c0a5a67a2fa new file mode 100644 index 00000000..b655bfe4 Binary files /dev/null and b/fuzz/corpora/cmp/9370fce6f9968b2836533a8e2c824c0a5a67a2fa differ diff --git a/fuzz/corpora/cmp/9374df9bdeacfb2306126048dea0765b5bed6e5b b/fuzz/corpora/cmp/9374df9bdeacfb2306126048dea0765b5bed6e5b new file mode 100644 index 00000000..d852ed28 Binary files /dev/null and b/fuzz/corpora/cmp/9374df9bdeacfb2306126048dea0765b5bed6e5b differ diff --git a/fuzz/corpora/cmp/93877f33d9e1bb3ff435a05262f7563a4d859d30 b/fuzz/corpora/cmp/93877f33d9e1bb3ff435a05262f7563a4d859d30 new file mode 100644 index 00000000..0446b92a Binary files /dev/null and b/fuzz/corpora/cmp/93877f33d9e1bb3ff435a05262f7563a4d859d30 differ diff --git a/fuzz/corpora/cmp/9387d6826f4188d37522fde4ff6edd58c1a0e237 b/fuzz/corpora/cmp/9387d6826f4188d37522fde4ff6edd58c1a0e237 new file mode 100644 index 00000000..0e70ea3a Binary files /dev/null and b/fuzz/corpora/cmp/9387d6826f4188d37522fde4ff6edd58c1a0e237 differ diff --git a/fuzz/corpora/cmp/939fb4338629ee434267ff4c83617d7c29468378 b/fuzz/corpora/cmp/939fb4338629ee434267ff4c83617d7c29468378 new file mode 100644 index 00000000..db29215b Binary files /dev/null and b/fuzz/corpora/cmp/939fb4338629ee434267ff4c83617d7c29468378 differ diff --git a/fuzz/corpora/cmp/93a93a350671720b735e09eeabb2ca0c493bb803 b/fuzz/corpora/cmp/93a93a350671720b735e09eeabb2ca0c493bb803 new file mode 100644 index 00000000..efabc1e0 Binary files /dev/null and b/fuzz/corpora/cmp/93a93a350671720b735e09eeabb2ca0c493bb803 differ diff --git a/fuzz/corpora/cmp/93d6627c08d22dbc99b5fb430ba559865300f040 b/fuzz/corpora/cmp/93d6627c08d22dbc99b5fb430ba559865300f040 new file mode 100644 index 00000000..a716a473 Binary files /dev/null and b/fuzz/corpora/cmp/93d6627c08d22dbc99b5fb430ba559865300f040 differ diff --git a/fuzz/corpora/cmp/93dd07ba8cb049a71b827b4308c1c913f67f5c42 b/fuzz/corpora/cmp/93dd07ba8cb049a71b827b4308c1c913f67f5c42 new file mode 100644 index 00000000..a046d484 Binary files /dev/null and b/fuzz/corpora/cmp/93dd07ba8cb049a71b827b4308c1c913f67f5c42 differ diff --git a/fuzz/corpora/cmp/93e541fc85a15d31945b3ae8f043bf75bf895d56 b/fuzz/corpora/cmp/93e541fc85a15d31945b3ae8f043bf75bf895d56 new file mode 100644 index 00000000..3d2d790f Binary files /dev/null and b/fuzz/corpora/cmp/93e541fc85a15d31945b3ae8f043bf75bf895d56 differ diff --git a/fuzz/corpora/cmp/93e64f8276302c17df0a00f89635ba99553f4bf0 b/fuzz/corpora/cmp/93e64f8276302c17df0a00f89635ba99553f4bf0 new file mode 100644 index 00000000..e56c41d6 Binary files /dev/null and b/fuzz/corpora/cmp/93e64f8276302c17df0a00f89635ba99553f4bf0 differ diff --git a/fuzz/corpora/cmp/93e7da8e631ea8be16a8176cd8425309536d10de b/fuzz/corpora/cmp/93e7da8e631ea8be16a8176cd8425309536d10de new file mode 100644 index 00000000..35243fc1 Binary files /dev/null and b/fuzz/corpora/cmp/93e7da8e631ea8be16a8176cd8425309536d10de differ diff --git a/fuzz/corpora/cmp/93f783b6780b13c58536571e1188d3f1840b2998 b/fuzz/corpora/cmp/93f783b6780b13c58536571e1188d3f1840b2998 new file mode 100644 index 00000000..4ac37bd7 Binary files /dev/null and b/fuzz/corpora/cmp/93f783b6780b13c58536571e1188d3f1840b2998 differ diff --git a/fuzz/corpora/cmp/93f906bb15d30ccf07c12ae4d0d32548f87841fb b/fuzz/corpora/cmp/93f906bb15d30ccf07c12ae4d0d32548f87841fb new file mode 100644 index 00000000..11cb398f Binary files /dev/null and b/fuzz/corpora/cmp/93f906bb15d30ccf07c12ae4d0d32548f87841fb differ diff --git a/fuzz/corpora/cmp/9412edfdc6e8f7d7e66ff5d29cb040f3a64f0077 b/fuzz/corpora/cmp/9412edfdc6e8f7d7e66ff5d29cb040f3a64f0077 new file mode 100644 index 00000000..fe100b73 Binary files /dev/null and b/fuzz/corpora/cmp/9412edfdc6e8f7d7e66ff5d29cb040f3a64f0077 differ diff --git a/fuzz/corpora/cmp/9435a4eb91fcf01b6d66de2cb51d7aeeba314532 b/fuzz/corpora/cmp/9435a4eb91fcf01b6d66de2cb51d7aeeba314532 new file mode 100644 index 00000000..eed0fc32 Binary files /dev/null and b/fuzz/corpora/cmp/9435a4eb91fcf01b6d66de2cb51d7aeeba314532 differ diff --git a/fuzz/corpora/cmp/943a2cc7bb88aed220b9ff93fa6889f07dbc97ef b/fuzz/corpora/cmp/943a2cc7bb88aed220b9ff93fa6889f07dbc97ef new file mode 100644 index 00000000..c5212f6d Binary files /dev/null and b/fuzz/corpora/cmp/943a2cc7bb88aed220b9ff93fa6889f07dbc97ef differ diff --git a/fuzz/corpora/cmp/943df05f0fd3dc4ce90e2003b1bf567f6c9e87f3 b/fuzz/corpora/cmp/943df05f0fd3dc4ce90e2003b1bf567f6c9e87f3 new file mode 100644 index 00000000..cafdf816 Binary files /dev/null and b/fuzz/corpora/cmp/943df05f0fd3dc4ce90e2003b1bf567f6c9e87f3 differ diff --git a/fuzz/corpora/cmp/9445bcf7d125aa95248a9b99afd7ab3e5dd9c4ed b/fuzz/corpora/cmp/9445bcf7d125aa95248a9b99afd7ab3e5dd9c4ed new file mode 100644 index 00000000..1425434a Binary files /dev/null and b/fuzz/corpora/cmp/9445bcf7d125aa95248a9b99afd7ab3e5dd9c4ed differ diff --git a/fuzz/corpora/cmp/94474889dcf5ff1cab021bfe4fa6673f8ee23765 b/fuzz/corpora/cmp/94474889dcf5ff1cab021bfe4fa6673f8ee23765 new file mode 100644 index 00000000..f642ee92 Binary files /dev/null and b/fuzz/corpora/cmp/94474889dcf5ff1cab021bfe4fa6673f8ee23765 differ diff --git a/fuzz/corpora/cmp/9449647b79ae6b8d7d9551a77a51d724479cf374 b/fuzz/corpora/cmp/9449647b79ae6b8d7d9551a77a51d724479cf374 new file mode 100644 index 00000000..1648d720 Binary files /dev/null and b/fuzz/corpora/cmp/9449647b79ae6b8d7d9551a77a51d724479cf374 differ diff --git a/fuzz/corpora/cmp/9458dee4462c8ed37d0b37c738f7e302364742ea b/fuzz/corpora/cmp/9458dee4462c8ed37d0b37c738f7e302364742ea new file mode 100644 index 00000000..a3fee586 Binary files /dev/null and b/fuzz/corpora/cmp/9458dee4462c8ed37d0b37c738f7e302364742ea differ diff --git a/fuzz/corpora/cmp/9476151e5184e61a602efde5adcca745649cf99f b/fuzz/corpora/cmp/9476151e5184e61a602efde5adcca745649cf99f new file mode 100644 index 00000000..fa95c630 Binary files /dev/null and b/fuzz/corpora/cmp/9476151e5184e61a602efde5adcca745649cf99f differ diff --git a/fuzz/corpora/cmp/94763f4050de246b2095a875d5f25193dccda27f b/fuzz/corpora/cmp/94763f4050de246b2095a875d5f25193dccda27f new file mode 100644 index 00000000..962ac699 Binary files /dev/null and b/fuzz/corpora/cmp/94763f4050de246b2095a875d5f25193dccda27f differ diff --git a/fuzz/corpora/cmp/948e9a6dbfea4043fd0579398bb0144363297b47 b/fuzz/corpora/cmp/948e9a6dbfea4043fd0579398bb0144363297b47 new file mode 100644 index 00000000..2c860bd1 Binary files /dev/null and b/fuzz/corpora/cmp/948e9a6dbfea4043fd0579398bb0144363297b47 differ diff --git a/fuzz/corpora/cmp/949f9e3b20a5eaa4ea460e38a2f92f8e765b9a6c b/fuzz/corpora/cmp/949f9e3b20a5eaa4ea460e38a2f92f8e765b9a6c new file mode 100644 index 00000000..d718071a Binary files /dev/null and b/fuzz/corpora/cmp/949f9e3b20a5eaa4ea460e38a2f92f8e765b9a6c differ diff --git a/fuzz/corpora/cmp/94bc9f79f6914d26af8bf02d9f4766f0b9f77c26 b/fuzz/corpora/cmp/94bc9f79f6914d26af8bf02d9f4766f0b9f77c26 new file mode 100644 index 00000000..516c701f Binary files /dev/null and b/fuzz/corpora/cmp/94bc9f79f6914d26af8bf02d9f4766f0b9f77c26 differ diff --git a/fuzz/corpora/cmp/94c1553e752fce78ee38895154a9b05889fea65e b/fuzz/corpora/cmp/94c1553e752fce78ee38895154a9b05889fea65e new file mode 100644 index 00000000..c554d117 Binary files /dev/null and b/fuzz/corpora/cmp/94c1553e752fce78ee38895154a9b05889fea65e differ diff --git a/fuzz/corpora/cmp/94c643bd366f7cb154c1aa9aad492ee5cbd9cd18 b/fuzz/corpora/cmp/94c643bd366f7cb154c1aa9aad492ee5cbd9cd18 new file mode 100644 index 00000000..3c132459 Binary files /dev/null and b/fuzz/corpora/cmp/94c643bd366f7cb154c1aa9aad492ee5cbd9cd18 differ diff --git a/fuzz/corpora/cmp/94c9421f6bf741756c0106d06b28722aad611af6 b/fuzz/corpora/cmp/94c9421f6bf741756c0106d06b28722aad611af6 new file mode 100644 index 00000000..789e9f6d Binary files /dev/null and b/fuzz/corpora/cmp/94c9421f6bf741756c0106d06b28722aad611af6 differ diff --git a/fuzz/corpora/cmp/94cfe9ff6408dfe8e1e6aa679fcbe82e179ffe37 b/fuzz/corpora/cmp/94cfe9ff6408dfe8e1e6aa679fcbe82e179ffe37 new file mode 100644 index 00000000..a831a15c Binary files /dev/null and b/fuzz/corpora/cmp/94cfe9ff6408dfe8e1e6aa679fcbe82e179ffe37 differ diff --git a/fuzz/corpora/cmp/94f0944f6b666ff72fe8ea21975395ffb7ab19f7 b/fuzz/corpora/cmp/94f0944f6b666ff72fe8ea21975395ffb7ab19f7 new file mode 100644 index 00000000..a2fe58ea Binary files /dev/null and b/fuzz/corpora/cmp/94f0944f6b666ff72fe8ea21975395ffb7ab19f7 differ diff --git a/fuzz/corpora/cmp/94f6dcbb465895495329027878e365a770180468 b/fuzz/corpora/cmp/94f6dcbb465895495329027878e365a770180468 new file mode 100644 index 00000000..d91d21e1 Binary files /dev/null and b/fuzz/corpora/cmp/94f6dcbb465895495329027878e365a770180468 differ diff --git a/fuzz/corpora/cmp/9516a90dcb3a27b3962e56f382f81bfa5a6a2c04 b/fuzz/corpora/cmp/9516a90dcb3a27b3962e56f382f81bfa5a6a2c04 new file mode 100644 index 00000000..b2b5e83e Binary files /dev/null and b/fuzz/corpora/cmp/9516a90dcb3a27b3962e56f382f81bfa5a6a2c04 differ diff --git a/fuzz/corpora/cmp/951d7d56a824bfe6c1386951610f637238f571ac b/fuzz/corpora/cmp/951d7d56a824bfe6c1386951610f637238f571ac new file mode 100644 index 00000000..f032545b Binary files /dev/null and b/fuzz/corpora/cmp/951d7d56a824bfe6c1386951610f637238f571ac differ diff --git a/fuzz/corpora/cmp/952b7395a6d1f1823199e28241a7ac74dc141410 b/fuzz/corpora/cmp/952b7395a6d1f1823199e28241a7ac74dc141410 new file mode 100644 index 00000000..17262189 Binary files /dev/null and b/fuzz/corpora/cmp/952b7395a6d1f1823199e28241a7ac74dc141410 differ diff --git a/fuzz/corpora/cmp/9533f1c076060def5d84600fb4d018e2fb4feb81 b/fuzz/corpora/cmp/9533f1c076060def5d84600fb4d018e2fb4feb81 new file mode 100644 index 00000000..8a677060 Binary files /dev/null and b/fuzz/corpora/cmp/9533f1c076060def5d84600fb4d018e2fb4feb81 differ diff --git a/fuzz/corpora/cmp/9535766193085d71a8c6eb80d0e391b43a975900 b/fuzz/corpora/cmp/9535766193085d71a8c6eb80d0e391b43a975900 new file mode 100644 index 00000000..c7ad03be Binary files /dev/null and b/fuzz/corpora/cmp/9535766193085d71a8c6eb80d0e391b43a975900 differ diff --git a/fuzz/corpora/cmp/95410be1e62b55711fcf80d42c0b6b8898cc7e13 b/fuzz/corpora/cmp/95410be1e62b55711fcf80d42c0b6b8898cc7e13 new file mode 100644 index 00000000..abf284d5 Binary files /dev/null and b/fuzz/corpora/cmp/95410be1e62b55711fcf80d42c0b6b8898cc7e13 differ diff --git a/fuzz/corpora/cmp/95529eca491d2c4e78db983471b29edbb38a0aee b/fuzz/corpora/cmp/95529eca491d2c4e78db983471b29edbb38a0aee new file mode 100644 index 00000000..33c484f6 Binary files /dev/null and b/fuzz/corpora/cmp/95529eca491d2c4e78db983471b29edbb38a0aee differ diff --git a/fuzz/corpora/cmp/9552a6ab1a8e9c46b57f8fabd7b5047d15a19dfd b/fuzz/corpora/cmp/9552a6ab1a8e9c46b57f8fabd7b5047d15a19dfd new file mode 100644 index 00000000..0a729d55 Binary files /dev/null and b/fuzz/corpora/cmp/9552a6ab1a8e9c46b57f8fabd7b5047d15a19dfd differ diff --git a/fuzz/corpora/cmp/956af16e25dc02abe5864606652239808830ecc3 b/fuzz/corpora/cmp/956af16e25dc02abe5864606652239808830ecc3 new file mode 100644 index 00000000..13bfce6f Binary files /dev/null and b/fuzz/corpora/cmp/956af16e25dc02abe5864606652239808830ecc3 differ diff --git a/fuzz/corpora/cmp/957ae94d4bf733b34177a2905f9a1c615ec7df1b b/fuzz/corpora/cmp/957ae94d4bf733b34177a2905f9a1c615ec7df1b new file mode 100644 index 00000000..df03f1f8 Binary files /dev/null and b/fuzz/corpora/cmp/957ae94d4bf733b34177a2905f9a1c615ec7df1b differ diff --git a/fuzz/corpora/cmp/95901c1846ee1c5d9904eabd2663b60a1a44efee b/fuzz/corpora/cmp/95901c1846ee1c5d9904eabd2663b60a1a44efee new file mode 100644 index 00000000..4b873aea Binary files /dev/null and b/fuzz/corpora/cmp/95901c1846ee1c5d9904eabd2663b60a1a44efee differ diff --git a/fuzz/corpora/cmp/959aea2417b59a51200ae7455d676c9eeb3950ff b/fuzz/corpora/cmp/959aea2417b59a51200ae7455d676c9eeb3950ff new file mode 100644 index 00000000..47986e81 Binary files /dev/null and b/fuzz/corpora/cmp/959aea2417b59a51200ae7455d676c9eeb3950ff differ diff --git a/fuzz/corpora/cmp/95ae794899a46a3cfae1ee8feeee0bd955082c57 b/fuzz/corpora/cmp/95ae794899a46a3cfae1ee8feeee0bd955082c57 new file mode 100644 index 00000000..8b2c567e Binary files /dev/null and b/fuzz/corpora/cmp/95ae794899a46a3cfae1ee8feeee0bd955082c57 differ diff --git a/fuzz/corpora/cmp/95b135d424c24a186c8525e235f04a4ac72fc69d b/fuzz/corpora/cmp/95b135d424c24a186c8525e235f04a4ac72fc69d new file mode 100644 index 00000000..87ced5fd Binary files /dev/null and b/fuzz/corpora/cmp/95b135d424c24a186c8525e235f04a4ac72fc69d differ diff --git a/fuzz/corpora/cmp/95beecf9d68605d99f0206cc6668bb1b2f6b05c3 b/fuzz/corpora/cmp/95beecf9d68605d99f0206cc6668bb1b2f6b05c3 new file mode 100644 index 00000000..4eed3dfd Binary files /dev/null and b/fuzz/corpora/cmp/95beecf9d68605d99f0206cc6668bb1b2f6b05c3 differ diff --git a/fuzz/corpora/cmp/95c9129876772819b2f68776b55aa75673ba8696 b/fuzz/corpora/cmp/95c9129876772819b2f68776b55aa75673ba8696 new file mode 100644 index 00000000..c88db3a4 Binary files /dev/null and b/fuzz/corpora/cmp/95c9129876772819b2f68776b55aa75673ba8696 differ diff --git a/fuzz/corpora/cmp/95cf9da2fbf0e339d48d101d2d53ff228f21d1df b/fuzz/corpora/cmp/95cf9da2fbf0e339d48d101d2d53ff228f21d1df new file mode 100644 index 00000000..4bb2258c Binary files /dev/null and b/fuzz/corpora/cmp/95cf9da2fbf0e339d48d101d2d53ff228f21d1df differ diff --git a/fuzz/corpora/cmp/95ea8430a667231d2198a24fdc7473d863859ded b/fuzz/corpora/cmp/95ea8430a667231d2198a24fdc7473d863859ded new file mode 100644 index 00000000..87e70f00 Binary files /dev/null and b/fuzz/corpora/cmp/95ea8430a667231d2198a24fdc7473d863859ded differ diff --git a/fuzz/corpora/cmp/95f3dcb97e1737f46fafdd1049445179b36e66f8 b/fuzz/corpora/cmp/95f3dcb97e1737f46fafdd1049445179b36e66f8 new file mode 100644 index 00000000..0fd2a461 Binary files /dev/null and b/fuzz/corpora/cmp/95f3dcb97e1737f46fafdd1049445179b36e66f8 differ diff --git a/fuzz/corpora/cmp/95f881a619839ecc37d0f985cec9c6a995b527bb b/fuzz/corpora/cmp/95f881a619839ecc37d0f985cec9c6a995b527bb new file mode 100644 index 00000000..7679ab26 Binary files /dev/null and b/fuzz/corpora/cmp/95f881a619839ecc37d0f985cec9c6a995b527bb differ diff --git a/fuzz/corpora/cmp/95fe2c0dbc888d9a57ade88b9e17af3b98d2a156 b/fuzz/corpora/cmp/95fe2c0dbc888d9a57ade88b9e17af3b98d2a156 new file mode 100644 index 00000000..fd1168da Binary files /dev/null and b/fuzz/corpora/cmp/95fe2c0dbc888d9a57ade88b9e17af3b98d2a156 differ diff --git a/fuzz/corpora/cmp/960175c6853b1bf519f39c06abecb06cf551f12f b/fuzz/corpora/cmp/960175c6853b1bf519f39c06abecb06cf551f12f new file mode 100644 index 00000000..b5faca77 Binary files /dev/null and b/fuzz/corpora/cmp/960175c6853b1bf519f39c06abecb06cf551f12f differ diff --git a/fuzz/corpora/cmp/96170acfaf0be742f181d105ac1224536ef3cbb8 b/fuzz/corpora/cmp/96170acfaf0be742f181d105ac1224536ef3cbb8 new file mode 100644 index 00000000..999715ef Binary files /dev/null and b/fuzz/corpora/cmp/96170acfaf0be742f181d105ac1224536ef3cbb8 differ diff --git a/fuzz/corpora/cmp/9623a61ab62be6069b5a2e1b4085c5d5208c1f74 b/fuzz/corpora/cmp/9623a61ab62be6069b5a2e1b4085c5d5208c1f74 new file mode 100644 index 00000000..12c35df0 Binary files /dev/null and b/fuzz/corpora/cmp/9623a61ab62be6069b5a2e1b4085c5d5208c1f74 differ diff --git a/fuzz/corpora/cmp/9623aec12005b0e58ca2fb6395319b61beb4bc1c b/fuzz/corpora/cmp/9623aec12005b0e58ca2fb6395319b61beb4bc1c new file mode 100644 index 00000000..45911360 Binary files /dev/null and b/fuzz/corpora/cmp/9623aec12005b0e58ca2fb6395319b61beb4bc1c differ diff --git a/fuzz/corpora/cmp/962f10748797e9c31d34834dad055be22b8ba5c0 b/fuzz/corpora/cmp/962f10748797e9c31d34834dad055be22b8ba5c0 new file mode 100644 index 00000000..672ebc04 Binary files /dev/null and b/fuzz/corpora/cmp/962f10748797e9c31d34834dad055be22b8ba5c0 differ diff --git a/fuzz/corpora/cmp/96315f8b92af80bd0367b5e7fd4fdd286a374fab b/fuzz/corpora/cmp/96315f8b92af80bd0367b5e7fd4fdd286a374fab new file mode 100644 index 00000000..e425ef41 Binary files /dev/null and b/fuzz/corpora/cmp/96315f8b92af80bd0367b5e7fd4fdd286a374fab differ diff --git a/fuzz/corpora/cmp/96344dcd76e2d38255745d090a096e430c24f86c b/fuzz/corpora/cmp/96344dcd76e2d38255745d090a096e430c24f86c new file mode 100644 index 00000000..f7b80325 Binary files /dev/null and b/fuzz/corpora/cmp/96344dcd76e2d38255745d090a096e430c24f86c differ diff --git a/fuzz/corpora/cmp/9634b04ebc099cec1af8c067aaee308b0e30032b b/fuzz/corpora/cmp/9634b04ebc099cec1af8c067aaee308b0e30032b new file mode 100644 index 00000000..5107ae42 Binary files /dev/null and b/fuzz/corpora/cmp/9634b04ebc099cec1af8c067aaee308b0e30032b differ diff --git a/fuzz/corpora/cmp/964843b29e06394bf3af132e106617e1ca46a4da b/fuzz/corpora/cmp/964843b29e06394bf3af132e106617e1ca46a4da new file mode 100644 index 00000000..e5c5ec8f Binary files /dev/null and b/fuzz/corpora/cmp/964843b29e06394bf3af132e106617e1ca46a4da differ diff --git a/fuzz/corpora/cmp/9649c0d633b00968bc7f7b964bd58365b1ae0d69 b/fuzz/corpora/cmp/9649c0d633b00968bc7f7b964bd58365b1ae0d69 new file mode 100644 index 00000000..42741463 Binary files /dev/null and b/fuzz/corpora/cmp/9649c0d633b00968bc7f7b964bd58365b1ae0d69 differ diff --git a/fuzz/corpora/cmp/964b438c89e3ad5a1af546684c09a24eadf9fbb7 b/fuzz/corpora/cmp/964b438c89e3ad5a1af546684c09a24eadf9fbb7 new file mode 100644 index 00000000..f0ca1ac6 Binary files /dev/null and b/fuzz/corpora/cmp/964b438c89e3ad5a1af546684c09a24eadf9fbb7 differ diff --git a/fuzz/corpora/cmp/96691dbfc8b3cbe72022ed47ea70168a54f77da1 b/fuzz/corpora/cmp/96691dbfc8b3cbe72022ed47ea70168a54f77da1 new file mode 100644 index 00000000..a54d1463 Binary files /dev/null and b/fuzz/corpora/cmp/96691dbfc8b3cbe72022ed47ea70168a54f77da1 differ diff --git a/fuzz/corpora/cmp/968337cfa7f717fe123c3998f6edd8077337d4f3 b/fuzz/corpora/cmp/968337cfa7f717fe123c3998f6edd8077337d4f3 new file mode 100644 index 00000000..65577ad3 Binary files /dev/null and b/fuzz/corpora/cmp/968337cfa7f717fe123c3998f6edd8077337d4f3 differ diff --git a/fuzz/corpora/cmp/96851c25e87f66c1c42d4116684574634b808485 b/fuzz/corpora/cmp/96851c25e87f66c1c42d4116684574634b808485 new file mode 100644 index 00000000..a2e3bd25 Binary files /dev/null and b/fuzz/corpora/cmp/96851c25e87f66c1c42d4116684574634b808485 differ diff --git a/fuzz/corpora/cmp/96922078dcf5a283a1b50a1e23ce672ebdaaaebc b/fuzz/corpora/cmp/96922078dcf5a283a1b50a1e23ce672ebdaaaebc new file mode 100644 index 00000000..6e070cb4 Binary files /dev/null and b/fuzz/corpora/cmp/96922078dcf5a283a1b50a1e23ce672ebdaaaebc differ diff --git a/fuzz/corpora/cmp/96aa02b9f084975ab093592adf5db7d20db5094f b/fuzz/corpora/cmp/96aa02b9f084975ab093592adf5db7d20db5094f new file mode 100644 index 00000000..4bffb666 Binary files /dev/null and b/fuzz/corpora/cmp/96aa02b9f084975ab093592adf5db7d20db5094f differ diff --git a/fuzz/corpora/cmp/96adb35249108f530d602b7ca7b2f6394cf44fb1 b/fuzz/corpora/cmp/96adb35249108f530d602b7ca7b2f6394cf44fb1 new file mode 100644 index 00000000..f616753b Binary files /dev/null and b/fuzz/corpora/cmp/96adb35249108f530d602b7ca7b2f6394cf44fb1 differ diff --git a/fuzz/corpora/cmp/96b81dd2edfe87875f63d535126c6d91a14bc55b b/fuzz/corpora/cmp/96b81dd2edfe87875f63d535126c6d91a14bc55b new file mode 100644 index 00000000..8900509b Binary files /dev/null and b/fuzz/corpora/cmp/96b81dd2edfe87875f63d535126c6d91a14bc55b differ diff --git a/fuzz/corpora/cmp/96d4338190eed9117a715a32a276fdeea6a73ada b/fuzz/corpora/cmp/96d4338190eed9117a715a32a276fdeea6a73ada new file mode 100644 index 00000000..686c4a0f Binary files /dev/null and b/fuzz/corpora/cmp/96d4338190eed9117a715a32a276fdeea6a73ada differ diff --git a/fuzz/corpora/cmp/96e0b879148999f0f7adcb9647cad5707f58a615 b/fuzz/corpora/cmp/96e0b879148999f0f7adcb9647cad5707f58a615 new file mode 100644 index 00000000..fa667b66 Binary files /dev/null and b/fuzz/corpora/cmp/96e0b879148999f0f7adcb9647cad5707f58a615 differ diff --git a/fuzz/corpora/cmp/96e8cd70c9bb9bf633090e97c9fbc335bc2c8fee b/fuzz/corpora/cmp/96e8cd70c9bb9bf633090e97c9fbc335bc2c8fee new file mode 100644 index 00000000..5771a523 Binary files /dev/null and b/fuzz/corpora/cmp/96e8cd70c9bb9bf633090e97c9fbc335bc2c8fee differ diff --git a/fuzz/corpora/cmp/96fceab58f36fe2fbe428cfd03fc23a6c39e4e37 b/fuzz/corpora/cmp/96fceab58f36fe2fbe428cfd03fc23a6c39e4e37 new file mode 100644 index 00000000..865e5cfa Binary files /dev/null and b/fuzz/corpora/cmp/96fceab58f36fe2fbe428cfd03fc23a6c39e4e37 differ diff --git a/fuzz/corpora/cmp/9706c23c1d2c4bc4d61a3b8f974ee49d3c08de41 b/fuzz/corpora/cmp/9706c23c1d2c4bc4d61a3b8f974ee49d3c08de41 new file mode 100644 index 00000000..03120821 Binary files /dev/null and b/fuzz/corpora/cmp/9706c23c1d2c4bc4d61a3b8f974ee49d3c08de41 differ diff --git a/fuzz/corpora/cmp/971a2f02a73cdedaeb174a55516032149bc1b49e b/fuzz/corpora/cmp/971a2f02a73cdedaeb174a55516032149bc1b49e new file mode 100644 index 00000000..0644557f Binary files /dev/null and b/fuzz/corpora/cmp/971a2f02a73cdedaeb174a55516032149bc1b49e differ diff --git a/fuzz/corpora/cmp/971ca466273dc9bf038fc6c5b9d198ca36ba9518 b/fuzz/corpora/cmp/971ca466273dc9bf038fc6c5b9d198ca36ba9518 new file mode 100644 index 00000000..8f6ed7d3 Binary files /dev/null and b/fuzz/corpora/cmp/971ca466273dc9bf038fc6c5b9d198ca36ba9518 differ diff --git a/fuzz/corpora/cmp/9723385b5de8eaf759ca905435dc5cd278f01c6a b/fuzz/corpora/cmp/9723385b5de8eaf759ca905435dc5cd278f01c6a new file mode 100644 index 00000000..7592c578 Binary files /dev/null and b/fuzz/corpora/cmp/9723385b5de8eaf759ca905435dc5cd278f01c6a differ diff --git a/fuzz/corpora/cmp/972cf40a865c9f321f6c2ccf506e70d7abf594be b/fuzz/corpora/cmp/972cf40a865c9f321f6c2ccf506e70d7abf594be new file mode 100644 index 00000000..30ef2c61 Binary files /dev/null and b/fuzz/corpora/cmp/972cf40a865c9f321f6c2ccf506e70d7abf594be differ diff --git a/fuzz/corpora/cmp/9732f9106339a51100de861de4c452d1b724444a b/fuzz/corpora/cmp/9732f9106339a51100de861de4c452d1b724444a new file mode 100644 index 00000000..197f17ea Binary files /dev/null and b/fuzz/corpora/cmp/9732f9106339a51100de861de4c452d1b724444a differ diff --git a/fuzz/corpora/cmp/973956342d3091eb57a4e131a745567c41cddbc2 b/fuzz/corpora/cmp/973956342d3091eb57a4e131a745567c41cddbc2 new file mode 100644 index 00000000..0806010c Binary files /dev/null and b/fuzz/corpora/cmp/973956342d3091eb57a4e131a745567c41cddbc2 differ diff --git a/fuzz/corpora/cmp/973a18e1e45539c1395e0959f4e16459a4e59106 b/fuzz/corpora/cmp/973a18e1e45539c1395e0959f4e16459a4e59106 new file mode 100644 index 00000000..9199965a Binary files /dev/null and b/fuzz/corpora/cmp/973a18e1e45539c1395e0959f4e16459a4e59106 differ diff --git a/fuzz/corpora/cmp/973be37c8ec21fb5d668d2fb929b6b0c6582ed01 b/fuzz/corpora/cmp/973be37c8ec21fb5d668d2fb929b6b0c6582ed01 new file mode 100644 index 00000000..89f74a75 Binary files /dev/null and b/fuzz/corpora/cmp/973be37c8ec21fb5d668d2fb929b6b0c6582ed01 differ diff --git a/fuzz/corpora/cmp/974454b0e9c1aaa034d6969eefa230851ec0e379 b/fuzz/corpora/cmp/974454b0e9c1aaa034d6969eefa230851ec0e379 new file mode 100644 index 00000000..351ae17d Binary files /dev/null and b/fuzz/corpora/cmp/974454b0e9c1aaa034d6969eefa230851ec0e379 differ diff --git a/fuzz/corpora/cmp/97509daa910e4c9ddc2bb06327d1d9fd106a7ade b/fuzz/corpora/cmp/97509daa910e4c9ddc2bb06327d1d9fd106a7ade new file mode 100644 index 00000000..8b29018d Binary files /dev/null and b/fuzz/corpora/cmp/97509daa910e4c9ddc2bb06327d1d9fd106a7ade differ diff --git a/fuzz/corpora/cmp/975d4e578abfc95b232688eaded64060bfa134e4 b/fuzz/corpora/cmp/975d4e578abfc95b232688eaded64060bfa134e4 new file mode 100644 index 00000000..54c5cb4d Binary files /dev/null and b/fuzz/corpora/cmp/975d4e578abfc95b232688eaded64060bfa134e4 differ diff --git a/fuzz/corpora/cmp/976429145e6a0e55f0f064a36a3e43c6926a40ec b/fuzz/corpora/cmp/976429145e6a0e55f0f064a36a3e43c6926a40ec new file mode 100644 index 00000000..5312c20a Binary files /dev/null and b/fuzz/corpora/cmp/976429145e6a0e55f0f064a36a3e43c6926a40ec differ diff --git a/fuzz/corpora/cmp/977e119fbb50667a8c090bc4c86c6b993ef9068b b/fuzz/corpora/cmp/977e119fbb50667a8c090bc4c86c6b993ef9068b new file mode 100644 index 00000000..8d00387c Binary files /dev/null and b/fuzz/corpora/cmp/977e119fbb50667a8c090bc4c86c6b993ef9068b differ diff --git a/fuzz/corpora/cmp/977fd0f88f6263ab1fc8736646783ee05f0bfa54 b/fuzz/corpora/cmp/977fd0f88f6263ab1fc8736646783ee05f0bfa54 new file mode 100644 index 00000000..6d4be2fd Binary files /dev/null and b/fuzz/corpora/cmp/977fd0f88f6263ab1fc8736646783ee05f0bfa54 differ diff --git a/fuzz/corpora/cmp/9792e06ddf785761a4a00ec59cb15d1947c13953 b/fuzz/corpora/cmp/9792e06ddf785761a4a00ec59cb15d1947c13953 new file mode 100644 index 00000000..a6d41acc Binary files /dev/null and b/fuzz/corpora/cmp/9792e06ddf785761a4a00ec59cb15d1947c13953 differ diff --git a/fuzz/corpora/cmp/9794656336a0caa947c2d2eeeafd18718a6e235b b/fuzz/corpora/cmp/9794656336a0caa947c2d2eeeafd18718a6e235b new file mode 100644 index 00000000..f96b996b Binary files /dev/null and b/fuzz/corpora/cmp/9794656336a0caa947c2d2eeeafd18718a6e235b differ diff --git a/fuzz/corpora/cmp/979c0bb27b3468c1a0975a6a4e7202b6ed7e3a6c b/fuzz/corpora/cmp/979c0bb27b3468c1a0975a6a4e7202b6ed7e3a6c new file mode 100644 index 00000000..f57e7457 Binary files /dev/null and b/fuzz/corpora/cmp/979c0bb27b3468c1a0975a6a4e7202b6ed7e3a6c differ diff --git a/fuzz/corpora/cmp/97bdc2898d41382500c7f95d6b6be0b8cfcb3821 b/fuzz/corpora/cmp/97bdc2898d41382500c7f95d6b6be0b8cfcb3821 new file mode 100644 index 00000000..51caa6da Binary files /dev/null and b/fuzz/corpora/cmp/97bdc2898d41382500c7f95d6b6be0b8cfcb3821 differ diff --git a/fuzz/corpora/cmp/97c0dface9746243441e17082824493292991083 b/fuzz/corpora/cmp/97c0dface9746243441e17082824493292991083 new file mode 100644 index 00000000..29c8b4f9 Binary files /dev/null and b/fuzz/corpora/cmp/97c0dface9746243441e17082824493292991083 differ diff --git a/fuzz/corpora/cmp/97d8a16d5effbec8c1f65bba01f7191d0c90bb80 b/fuzz/corpora/cmp/97d8a16d5effbec8c1f65bba01f7191d0c90bb80 new file mode 100644 index 00000000..1aa157d7 Binary files /dev/null and b/fuzz/corpora/cmp/97d8a16d5effbec8c1f65bba01f7191d0c90bb80 differ diff --git a/fuzz/corpora/cmp/97e94427c2512fb381c4d3e4a59fe89a37f3147f b/fuzz/corpora/cmp/97e94427c2512fb381c4d3e4a59fe89a37f3147f new file mode 100644 index 00000000..1c5bfb27 Binary files /dev/null and b/fuzz/corpora/cmp/97e94427c2512fb381c4d3e4a59fe89a37f3147f differ diff --git a/fuzz/corpora/cmp/97efb64342f386ac52b9af644808b08a95e6ac6d b/fuzz/corpora/cmp/97efb64342f386ac52b9af644808b08a95e6ac6d new file mode 100644 index 00000000..4556cb65 Binary files /dev/null and b/fuzz/corpora/cmp/97efb64342f386ac52b9af644808b08a95e6ac6d differ diff --git a/fuzz/corpora/cmp/97f4576fea3780a00789abf0b0f7f8c1fad07930 b/fuzz/corpora/cmp/97f4576fea3780a00789abf0b0f7f8c1fad07930 new file mode 100644 index 00000000..98ce34ff Binary files /dev/null and b/fuzz/corpora/cmp/97f4576fea3780a00789abf0b0f7f8c1fad07930 differ diff --git a/fuzz/corpora/cmp/97f7631a04165fb09bf57b4a5127efd572b14831 b/fuzz/corpora/cmp/97f7631a04165fb09bf57b4a5127efd572b14831 new file mode 100644 index 00000000..30c691de Binary files /dev/null and b/fuzz/corpora/cmp/97f7631a04165fb09bf57b4a5127efd572b14831 differ diff --git a/fuzz/corpora/cmp/9805e0b538f73aa61a87454d71132ae2a2fe1ce0 b/fuzz/corpora/cmp/9805e0b538f73aa61a87454d71132ae2a2fe1ce0 new file mode 100644 index 00000000..49197b96 Binary files /dev/null and b/fuzz/corpora/cmp/9805e0b538f73aa61a87454d71132ae2a2fe1ce0 differ diff --git a/fuzz/corpora/cmp/980667511c00ffca33c20bc63f4538bcc34c6ef6 b/fuzz/corpora/cmp/980667511c00ffca33c20bc63f4538bcc34c6ef6 new file mode 100644 index 00000000..f56bbac8 Binary files /dev/null and b/fuzz/corpora/cmp/980667511c00ffca33c20bc63f4538bcc34c6ef6 differ diff --git a/fuzz/corpora/cmp/981341a3631db3d80f744cd6cabbdc4aaaf1897c b/fuzz/corpora/cmp/981341a3631db3d80f744cd6cabbdc4aaaf1897c new file mode 100644 index 00000000..4f5fc679 Binary files /dev/null and b/fuzz/corpora/cmp/981341a3631db3d80f744cd6cabbdc4aaaf1897c differ diff --git a/fuzz/corpora/cmp/982f9af8a7c91745a45884d649a1cc140b398c05 b/fuzz/corpora/cmp/982f9af8a7c91745a45884d649a1cc140b398c05 new file mode 100644 index 00000000..f0692d03 Binary files /dev/null and b/fuzz/corpora/cmp/982f9af8a7c91745a45884d649a1cc140b398c05 differ diff --git a/fuzz/corpora/cmp/9840365de51321d59032ae07a5d2c084a1dfebd7 b/fuzz/corpora/cmp/9840365de51321d59032ae07a5d2c084a1dfebd7 new file mode 100644 index 00000000..1cb59b73 Binary files /dev/null and b/fuzz/corpora/cmp/9840365de51321d59032ae07a5d2c084a1dfebd7 differ diff --git a/fuzz/corpora/cmp/986081f19654be47090f81fe0c28ed6b73722281 b/fuzz/corpora/cmp/986081f19654be47090f81fe0c28ed6b73722281 new file mode 100644 index 00000000..87376470 Binary files /dev/null and b/fuzz/corpora/cmp/986081f19654be47090f81fe0c28ed6b73722281 differ diff --git a/fuzz/corpora/cmp/9867d315c9fdc88e840bf377790751390f3bb71b b/fuzz/corpora/cmp/9867d315c9fdc88e840bf377790751390f3bb71b new file mode 100644 index 00000000..a0a9715b Binary files /dev/null and b/fuzz/corpora/cmp/9867d315c9fdc88e840bf377790751390f3bb71b differ diff --git a/fuzz/corpora/cmp/98791005d9f0f941965ac936f7883e30f5216c75 b/fuzz/corpora/cmp/98791005d9f0f941965ac936f7883e30f5216c75 new file mode 100644 index 00000000..0a9c6b5e Binary files /dev/null and b/fuzz/corpora/cmp/98791005d9f0f941965ac936f7883e30f5216c75 differ diff --git a/fuzz/corpora/cmp/987af6856781de1a80c0bc69295de63f657f2eef b/fuzz/corpora/cmp/987af6856781de1a80c0bc69295de63f657f2eef new file mode 100644 index 00000000..20d88fc7 Binary files /dev/null and b/fuzz/corpora/cmp/987af6856781de1a80c0bc69295de63f657f2eef differ diff --git a/fuzz/corpora/cmp/988054c3d14a6765e02591956f70b91dc1f4309a b/fuzz/corpora/cmp/988054c3d14a6765e02591956f70b91dc1f4309a new file mode 100644 index 00000000..578057f2 Binary files /dev/null and b/fuzz/corpora/cmp/988054c3d14a6765e02591956f70b91dc1f4309a differ diff --git a/fuzz/corpora/cmp/98860bcc1bae316a3b2fe67e65f92ead5cd8c700 b/fuzz/corpora/cmp/98860bcc1bae316a3b2fe67e65f92ead5cd8c700 new file mode 100644 index 00000000..f097f2c0 Binary files /dev/null and b/fuzz/corpora/cmp/98860bcc1bae316a3b2fe67e65f92ead5cd8c700 differ diff --git a/fuzz/corpora/cmp/98d203498de28141527eb4b28bf92883de181c13 b/fuzz/corpora/cmp/98d203498de28141527eb4b28bf92883de181c13 new file mode 100644 index 00000000..bf4d03d2 Binary files /dev/null and b/fuzz/corpora/cmp/98d203498de28141527eb4b28bf92883de181c13 differ diff --git a/fuzz/corpora/cmp/991266646e0a453f3d007e49114f01f49144a831 b/fuzz/corpora/cmp/991266646e0a453f3d007e49114f01f49144a831 new file mode 100644 index 00000000..8571561b Binary files /dev/null and b/fuzz/corpora/cmp/991266646e0a453f3d007e49114f01f49144a831 differ diff --git a/fuzz/corpora/cmp/991a47c1e82ed4d676e7e64624accd0f62998054 b/fuzz/corpora/cmp/991a47c1e82ed4d676e7e64624accd0f62998054 new file mode 100644 index 00000000..e58d7678 Binary files /dev/null and b/fuzz/corpora/cmp/991a47c1e82ed4d676e7e64624accd0f62998054 differ diff --git a/fuzz/corpora/cmp/992a30fbe4a1bef67370502c23908d6073b52ced b/fuzz/corpora/cmp/992a30fbe4a1bef67370502c23908d6073b52ced new file mode 100644 index 00000000..d79bb1af Binary files /dev/null and b/fuzz/corpora/cmp/992a30fbe4a1bef67370502c23908d6073b52ced differ diff --git a/fuzz/corpora/cmp/993076fad6061e1ce24547106d073a01ce3f2e0d b/fuzz/corpora/cmp/993076fad6061e1ce24547106d073a01ce3f2e0d new file mode 100644 index 00000000..6762bd75 Binary files /dev/null and b/fuzz/corpora/cmp/993076fad6061e1ce24547106d073a01ce3f2e0d differ diff --git a/fuzz/corpora/cmp/9935a61254c38100c7547f2304b1b075f430fd11 b/fuzz/corpora/cmp/9935a61254c38100c7547f2304b1b075f430fd11 new file mode 100644 index 00000000..2e0c23a1 Binary files /dev/null and b/fuzz/corpora/cmp/9935a61254c38100c7547f2304b1b075f430fd11 differ diff --git a/fuzz/corpora/cmp/9945d760adce0859412cd585f93b830f4c66a21f b/fuzz/corpora/cmp/9945d760adce0859412cd585f93b830f4c66a21f new file mode 100644 index 00000000..335a6d02 Binary files /dev/null and b/fuzz/corpora/cmp/9945d760adce0859412cd585f93b830f4c66a21f differ diff --git a/fuzz/corpora/cmp/994a02bea8b7dd315bbb82a834b48dc1bc77a1e9 b/fuzz/corpora/cmp/994a02bea8b7dd315bbb82a834b48dc1bc77a1e9 new file mode 100644 index 00000000..6aba35c9 Binary files /dev/null and b/fuzz/corpora/cmp/994a02bea8b7dd315bbb82a834b48dc1bc77a1e9 differ diff --git a/fuzz/corpora/cmp/99557a5e3c5be3623265fb2aaf92b5c13515119b b/fuzz/corpora/cmp/99557a5e3c5be3623265fb2aaf92b5c13515119b new file mode 100644 index 00000000..11325972 Binary files /dev/null and b/fuzz/corpora/cmp/99557a5e3c5be3623265fb2aaf92b5c13515119b differ diff --git a/fuzz/corpora/cmp/998115da0032600ddae901dbd226134c21a36dca b/fuzz/corpora/cmp/998115da0032600ddae901dbd226134c21a36dca new file mode 100644 index 00000000..c58a1eed Binary files /dev/null and b/fuzz/corpora/cmp/998115da0032600ddae901dbd226134c21a36dca differ diff --git a/fuzz/corpora/cmp/998a3a14c5c97763ef3e1214a831db8ac2098080 b/fuzz/corpora/cmp/998a3a14c5c97763ef3e1214a831db8ac2098080 new file mode 100644 index 00000000..7b7544b0 Binary files /dev/null and b/fuzz/corpora/cmp/998a3a14c5c97763ef3e1214a831db8ac2098080 differ diff --git a/fuzz/corpora/cmp/999e640f8ffe05d42c26cd76256ea47a6b786bee b/fuzz/corpora/cmp/999e640f8ffe05d42c26cd76256ea47a6b786bee new file mode 100644 index 00000000..871da271 Binary files /dev/null and b/fuzz/corpora/cmp/999e640f8ffe05d42c26cd76256ea47a6b786bee differ diff --git a/fuzz/corpora/cmp/99a7cf7a1e7347eb7f577070897d049bdf131bca b/fuzz/corpora/cmp/99a7cf7a1e7347eb7f577070897d049bdf131bca new file mode 100644 index 00000000..adc13e26 Binary files /dev/null and b/fuzz/corpora/cmp/99a7cf7a1e7347eb7f577070897d049bdf131bca differ diff --git a/fuzz/corpora/cmp/99aa7140b07a5b50c2d7ec14d3819eb70e1abd5c b/fuzz/corpora/cmp/99aa7140b07a5b50c2d7ec14d3819eb70e1abd5c new file mode 100644 index 00000000..30bba2c6 Binary files /dev/null and b/fuzz/corpora/cmp/99aa7140b07a5b50c2d7ec14d3819eb70e1abd5c differ diff --git a/fuzz/corpora/cmp/99c5094c90f72d873a9146ac8887ab0f10dafda3 b/fuzz/corpora/cmp/99c5094c90f72d873a9146ac8887ab0f10dafda3 new file mode 100644 index 00000000..9827a59a Binary files /dev/null and b/fuzz/corpora/cmp/99c5094c90f72d873a9146ac8887ab0f10dafda3 differ diff --git a/fuzz/corpora/cmp/99c92f8dfec73fa9dc4ac64e95e7c992c4ba95a2 b/fuzz/corpora/cmp/99c92f8dfec73fa9dc4ac64e95e7c992c4ba95a2 new file mode 100644 index 00000000..b4f04d34 Binary files /dev/null and b/fuzz/corpora/cmp/99c92f8dfec73fa9dc4ac64e95e7c992c4ba95a2 differ diff --git a/fuzz/corpora/cmp/99d0712db4f02c398dd75aabbb6839ad2f0932f3 b/fuzz/corpora/cmp/99d0712db4f02c398dd75aabbb6839ad2f0932f3 new file mode 100644 index 00000000..4371b6f0 Binary files /dev/null and b/fuzz/corpora/cmp/99d0712db4f02c398dd75aabbb6839ad2f0932f3 differ diff --git a/fuzz/corpora/cmp/99fd156613f9945c787267e4d0f09ecd1483bf96 b/fuzz/corpora/cmp/99fd156613f9945c787267e4d0f09ecd1483bf96 new file mode 100644 index 00000000..e127b16d Binary files /dev/null and b/fuzz/corpora/cmp/99fd156613f9945c787267e4d0f09ecd1483bf96 differ diff --git a/fuzz/corpora/cmp/9a09b00bc484e83a22ddba9e2385fe8d9296c975 b/fuzz/corpora/cmp/9a09b00bc484e83a22ddba9e2385fe8d9296c975 new file mode 100644 index 00000000..1ff7318d Binary files /dev/null and b/fuzz/corpora/cmp/9a09b00bc484e83a22ddba9e2385fe8d9296c975 differ diff --git a/fuzz/corpora/cmp/9a0c2740f55894ce562c828698adb35b9d61f48c b/fuzz/corpora/cmp/9a0c2740f55894ce562c828698adb35b9d61f48c new file mode 100644 index 00000000..552c8a6a Binary files /dev/null and b/fuzz/corpora/cmp/9a0c2740f55894ce562c828698adb35b9d61f48c differ diff --git a/fuzz/corpora/cmp/9a1b3ab4b68b0d9abd43c1381552d9cff5aa1a2b b/fuzz/corpora/cmp/9a1b3ab4b68b0d9abd43c1381552d9cff5aa1a2b new file mode 100644 index 00000000..7b472c32 Binary files /dev/null and b/fuzz/corpora/cmp/9a1b3ab4b68b0d9abd43c1381552d9cff5aa1a2b differ diff --git a/fuzz/corpora/cmp/9a1c791abf1a7f874ccc303edf563f21ae803604 b/fuzz/corpora/cmp/9a1c791abf1a7f874ccc303edf563f21ae803604 new file mode 100644 index 00000000..70379294 Binary files /dev/null and b/fuzz/corpora/cmp/9a1c791abf1a7f874ccc303edf563f21ae803604 differ diff --git a/fuzz/corpora/cmp/9a5418d3925d02dd777c1b724d7e2211f3ccb15a b/fuzz/corpora/cmp/9a5418d3925d02dd777c1b724d7e2211f3ccb15a new file mode 100644 index 00000000..2c198b68 Binary files /dev/null and b/fuzz/corpora/cmp/9a5418d3925d02dd777c1b724d7e2211f3ccb15a differ diff --git a/fuzz/corpora/cmp/9a5529eddf13cde74b34dd5064fb27fedb3d3fb2 b/fuzz/corpora/cmp/9a5529eddf13cde74b34dd5064fb27fedb3d3fb2 new file mode 100644 index 00000000..67b652c3 Binary files /dev/null and b/fuzz/corpora/cmp/9a5529eddf13cde74b34dd5064fb27fedb3d3fb2 differ diff --git a/fuzz/corpora/cmp/9a5bfd0d82febe9484459d529fd0558fdf3d6f51 b/fuzz/corpora/cmp/9a5bfd0d82febe9484459d529fd0558fdf3d6f51 new file mode 100644 index 00000000..f3b96946 Binary files /dev/null and b/fuzz/corpora/cmp/9a5bfd0d82febe9484459d529fd0558fdf3d6f51 differ diff --git a/fuzz/corpora/cmp/9a662cec118b66d5a80e55d79c82bff664841156 b/fuzz/corpora/cmp/9a662cec118b66d5a80e55d79c82bff664841156 new file mode 100644 index 00000000..d5147948 Binary files /dev/null and b/fuzz/corpora/cmp/9a662cec118b66d5a80e55d79c82bff664841156 differ diff --git a/fuzz/corpora/cmp/9a68b5829d4c9d59500c4f0a294312ac7a300ba9 b/fuzz/corpora/cmp/9a68b5829d4c9d59500c4f0a294312ac7a300ba9 new file mode 100644 index 00000000..14e69b28 Binary files /dev/null and b/fuzz/corpora/cmp/9a68b5829d4c9d59500c4f0a294312ac7a300ba9 differ diff --git a/fuzz/corpora/cmp/9a6e353d9ddddce55242a232afcd3a5a5536750d b/fuzz/corpora/cmp/9a6e353d9ddddce55242a232afcd3a5a5536750d new file mode 100644 index 00000000..046bcde1 Binary files /dev/null and b/fuzz/corpora/cmp/9a6e353d9ddddce55242a232afcd3a5a5536750d differ diff --git a/fuzz/corpora/cmp/9a7683763e2ea382475d6d43e22d36b5522c1d9d b/fuzz/corpora/cmp/9a7683763e2ea382475d6d43e22d36b5522c1d9d new file mode 100644 index 00000000..1f48b08d Binary files /dev/null and b/fuzz/corpora/cmp/9a7683763e2ea382475d6d43e22d36b5522c1d9d differ diff --git a/fuzz/corpora/cmp/9a779993b97c9976d313798efd7b4089326e6607 b/fuzz/corpora/cmp/9a779993b97c9976d313798efd7b4089326e6607 new file mode 100644 index 00000000..b5cdc4f0 Binary files /dev/null and b/fuzz/corpora/cmp/9a779993b97c9976d313798efd7b4089326e6607 differ diff --git a/fuzz/corpora/cmp/9a8452d4dd9c5e469d48b6e4b8027904e4c658b0 b/fuzz/corpora/cmp/9a8452d4dd9c5e469d48b6e4b8027904e4c658b0 new file mode 100644 index 00000000..4f2c63c0 Binary files /dev/null and b/fuzz/corpora/cmp/9a8452d4dd9c5e469d48b6e4b8027904e4c658b0 differ diff --git a/fuzz/corpora/cmp/9a87cd13b068725e2c1eb392d197c00d9c20392d b/fuzz/corpora/cmp/9a87cd13b068725e2c1eb392d197c00d9c20392d new file mode 100644 index 00000000..c741602d Binary files /dev/null and b/fuzz/corpora/cmp/9a87cd13b068725e2c1eb392d197c00d9c20392d differ diff --git a/fuzz/corpora/cmp/9a8f5583e1a254c1e7f064b47e30eb71887c0ad4 b/fuzz/corpora/cmp/9a8f5583e1a254c1e7f064b47e30eb71887c0ad4 new file mode 100644 index 00000000..75ae434c Binary files /dev/null and b/fuzz/corpora/cmp/9a8f5583e1a254c1e7f064b47e30eb71887c0ad4 differ diff --git a/fuzz/corpora/cmp/9a9f19aac18217eae88fd712b46596c1f6b8ef85 b/fuzz/corpora/cmp/9a9f19aac18217eae88fd712b46596c1f6b8ef85 new file mode 100644 index 00000000..09b86155 Binary files /dev/null and b/fuzz/corpora/cmp/9a9f19aac18217eae88fd712b46596c1f6b8ef85 differ diff --git a/fuzz/corpora/cmp/9aba50ef8869fe325f3adc6940ab4f147a072988 b/fuzz/corpora/cmp/9aba50ef8869fe325f3adc6940ab4f147a072988 new file mode 100644 index 00000000..a0bff541 Binary files /dev/null and b/fuzz/corpora/cmp/9aba50ef8869fe325f3adc6940ab4f147a072988 differ diff --git a/fuzz/corpora/cmp/9ad31a005c261d7dd69eac74bde13dc2f5d3d449 b/fuzz/corpora/cmp/9ad31a005c261d7dd69eac74bde13dc2f5d3d449 new file mode 100644 index 00000000..5d351fca Binary files /dev/null and b/fuzz/corpora/cmp/9ad31a005c261d7dd69eac74bde13dc2f5d3d449 differ diff --git a/fuzz/corpora/cmp/9ae7ca11b1af3983ccea64219a485a238a23e3f4 b/fuzz/corpora/cmp/9ae7ca11b1af3983ccea64219a485a238a23e3f4 new file mode 100644 index 00000000..be2355a1 Binary files /dev/null and b/fuzz/corpora/cmp/9ae7ca11b1af3983ccea64219a485a238a23e3f4 differ diff --git a/fuzz/corpora/cmp/9af3e8ac551c86938570efa47cc0c9d25952aa78 b/fuzz/corpora/cmp/9af3e8ac551c86938570efa47cc0c9d25952aa78 new file mode 100644 index 00000000..44010314 Binary files /dev/null and b/fuzz/corpora/cmp/9af3e8ac551c86938570efa47cc0c9d25952aa78 differ diff --git a/fuzz/corpora/cmp/9af508f6e346a131c7052feaf3e0577251c61131 b/fuzz/corpora/cmp/9af508f6e346a131c7052feaf3e0577251c61131 new file mode 100644 index 00000000..b893159a Binary files /dev/null and b/fuzz/corpora/cmp/9af508f6e346a131c7052feaf3e0577251c61131 differ diff --git a/fuzz/corpora/cmp/9b1506e37f017a9cf989983565051a7989ea9cfe b/fuzz/corpora/cmp/9b1506e37f017a9cf989983565051a7989ea9cfe new file mode 100644 index 00000000..8f7ff4a5 Binary files /dev/null and b/fuzz/corpora/cmp/9b1506e37f017a9cf989983565051a7989ea9cfe differ diff --git a/fuzz/corpora/cmp/9b23c09e72081e67dbe3d88549b269e2c07ed85e b/fuzz/corpora/cmp/9b23c09e72081e67dbe3d88549b269e2c07ed85e new file mode 100644 index 00000000..d3a90339 Binary files /dev/null and b/fuzz/corpora/cmp/9b23c09e72081e67dbe3d88549b269e2c07ed85e differ diff --git a/fuzz/corpora/cmp/9b39bf837f83c1b3fd2ecf884e851e31832a8615 b/fuzz/corpora/cmp/9b39bf837f83c1b3fd2ecf884e851e31832a8615 new file mode 100644 index 00000000..b73cb1f7 Binary files /dev/null and b/fuzz/corpora/cmp/9b39bf837f83c1b3fd2ecf884e851e31832a8615 differ diff --git a/fuzz/corpora/cmp/9b48c636259563325d1d63225ce81e438c30121a b/fuzz/corpora/cmp/9b48c636259563325d1d63225ce81e438c30121a new file mode 100644 index 00000000..ab4c79c3 Binary files /dev/null and b/fuzz/corpora/cmp/9b48c636259563325d1d63225ce81e438c30121a differ diff --git a/fuzz/corpora/cmp/9b8c108afa3b76cbcfecab5ca55c3b78aac4c47e b/fuzz/corpora/cmp/9b8c108afa3b76cbcfecab5ca55c3b78aac4c47e new file mode 100644 index 00000000..adddb0eb Binary files /dev/null and b/fuzz/corpora/cmp/9b8c108afa3b76cbcfecab5ca55c3b78aac4c47e differ diff --git a/fuzz/corpora/cmp/9b98a3133a93ccea8602a5741f4abbfc12cc1eea b/fuzz/corpora/cmp/9b98a3133a93ccea8602a5741f4abbfc12cc1eea new file mode 100644 index 00000000..46a6425d Binary files /dev/null and b/fuzz/corpora/cmp/9b98a3133a93ccea8602a5741f4abbfc12cc1eea differ diff --git a/fuzz/corpora/cmp/9bbcd3a577f720649199d3dc2aaceecb29f0a946 b/fuzz/corpora/cmp/9bbcd3a577f720649199d3dc2aaceecb29f0a946 new file mode 100644 index 00000000..39750f07 Binary files /dev/null and b/fuzz/corpora/cmp/9bbcd3a577f720649199d3dc2aaceecb29f0a946 differ diff --git a/fuzz/corpora/cmp/9bbd504ad2e4d6686683d4aa80accbdf1520c68f b/fuzz/corpora/cmp/9bbd504ad2e4d6686683d4aa80accbdf1520c68f new file mode 100644 index 00000000..d617b0c6 Binary files /dev/null and b/fuzz/corpora/cmp/9bbd504ad2e4d6686683d4aa80accbdf1520c68f differ diff --git a/fuzz/corpora/cmp/9bcb52ad257a1ecbb37cf8da56fe1508ffbcfc13 b/fuzz/corpora/cmp/9bcb52ad257a1ecbb37cf8da56fe1508ffbcfc13 new file mode 100644 index 00000000..599eaf75 Binary files /dev/null and b/fuzz/corpora/cmp/9bcb52ad257a1ecbb37cf8da56fe1508ffbcfc13 differ diff --git a/fuzz/corpora/cmp/9bd22cb7351dab7ae001ca26f16f1cbf57b92732 b/fuzz/corpora/cmp/9bd22cb7351dab7ae001ca26f16f1cbf57b92732 new file mode 100644 index 00000000..ae29f8ab Binary files /dev/null and b/fuzz/corpora/cmp/9bd22cb7351dab7ae001ca26f16f1cbf57b92732 differ diff --git a/fuzz/corpora/cmp/9be905a9265068ad07d997e12417da9f8e3a98f2 b/fuzz/corpora/cmp/9be905a9265068ad07d997e12417da9f8e3a98f2 new file mode 100644 index 00000000..bde31676 Binary files /dev/null and b/fuzz/corpora/cmp/9be905a9265068ad07d997e12417da9f8e3a98f2 differ diff --git a/fuzz/corpora/cmp/9bf66e99f5e08b9816c7dbf7bd7f69e92e37e04c b/fuzz/corpora/cmp/9bf66e99f5e08b9816c7dbf7bd7f69e92e37e04c new file mode 100644 index 00000000..1e9a623a Binary files /dev/null and b/fuzz/corpora/cmp/9bf66e99f5e08b9816c7dbf7bd7f69e92e37e04c differ diff --git a/fuzz/corpora/cmp/9c150f788e76b921ee033b8ed718a5ca5c87e52e b/fuzz/corpora/cmp/9c150f788e76b921ee033b8ed718a5ca5c87e52e new file mode 100644 index 00000000..06122d63 Binary files /dev/null and b/fuzz/corpora/cmp/9c150f788e76b921ee033b8ed718a5ca5c87e52e differ diff --git a/fuzz/corpora/cmp/9c1514f798222cf06a35c53a42af9df56d27ec74 b/fuzz/corpora/cmp/9c1514f798222cf06a35c53a42af9df56d27ec74 new file mode 100644 index 00000000..d8ce1a39 Binary files /dev/null and b/fuzz/corpora/cmp/9c1514f798222cf06a35c53a42af9df56d27ec74 differ diff --git a/fuzz/corpora/cmp/9c1a00e61d739238f3d2c9be08750160604c74e1 b/fuzz/corpora/cmp/9c1a00e61d739238f3d2c9be08750160604c74e1 new file mode 100644 index 00000000..41079547 Binary files /dev/null and b/fuzz/corpora/cmp/9c1a00e61d739238f3d2c9be08750160604c74e1 differ diff --git a/fuzz/corpora/cmp/9c25ddd37d0a351ba4aad5265b4985c8844c36da b/fuzz/corpora/cmp/9c25ddd37d0a351ba4aad5265b4985c8844c36da new file mode 100644 index 00000000..5e52dfdb Binary files /dev/null and b/fuzz/corpora/cmp/9c25ddd37d0a351ba4aad5265b4985c8844c36da differ diff --git a/fuzz/corpora/cmp/9c2f84e169e21930f6d827c4929570eca21928e9 b/fuzz/corpora/cmp/9c2f84e169e21930f6d827c4929570eca21928e9 new file mode 100644 index 00000000..f694bd73 Binary files /dev/null and b/fuzz/corpora/cmp/9c2f84e169e21930f6d827c4929570eca21928e9 differ diff --git a/fuzz/corpora/cmp/9c3d1cbe5a0afca3eced22cbcb32ef3d0c3713ff b/fuzz/corpora/cmp/9c3d1cbe5a0afca3eced22cbcb32ef3d0c3713ff new file mode 100644 index 00000000..83edbf90 Binary files /dev/null and b/fuzz/corpora/cmp/9c3d1cbe5a0afca3eced22cbcb32ef3d0c3713ff differ diff --git a/fuzz/corpora/cmp/9c69d3ab388278fd6039ee6eb4f00b4ae8664f90 b/fuzz/corpora/cmp/9c69d3ab388278fd6039ee6eb4f00b4ae8664f90 new file mode 100644 index 00000000..8d20dac7 Binary files /dev/null and b/fuzz/corpora/cmp/9c69d3ab388278fd6039ee6eb4f00b4ae8664f90 differ diff --git a/fuzz/corpora/cmp/9c6a749dcf2e72e7f883286e7e22dc37a3a77a73 b/fuzz/corpora/cmp/9c6a749dcf2e72e7f883286e7e22dc37a3a77a73 new file mode 100644 index 00000000..05c9b97c Binary files /dev/null and b/fuzz/corpora/cmp/9c6a749dcf2e72e7f883286e7e22dc37a3a77a73 differ diff --git a/fuzz/corpora/cmp/9c82230e56205913b7d3dfd92c7fa62dd701c6c9 b/fuzz/corpora/cmp/9c82230e56205913b7d3dfd92c7fa62dd701c6c9 new file mode 100644 index 00000000..e97577a5 Binary files /dev/null and b/fuzz/corpora/cmp/9c82230e56205913b7d3dfd92c7fa62dd701c6c9 differ diff --git a/fuzz/corpora/cmp/9c8cd61f24b8e52d8bc2f1aac7e0b97282c3c90f b/fuzz/corpora/cmp/9c8cd61f24b8e52d8bc2f1aac7e0b97282c3c90f new file mode 100644 index 00000000..241f53f7 Binary files /dev/null and b/fuzz/corpora/cmp/9c8cd61f24b8e52d8bc2f1aac7e0b97282c3c90f differ diff --git a/fuzz/corpora/cmp/9c90b97e949a665b34fd2487e5fd7019c1233cda b/fuzz/corpora/cmp/9c90b97e949a665b34fd2487e5fd7019c1233cda new file mode 100644 index 00000000..51f83349 Binary files /dev/null and b/fuzz/corpora/cmp/9c90b97e949a665b34fd2487e5fd7019c1233cda differ diff --git a/fuzz/corpora/cmp/9ccb809b4850ddc6e442daaaff354ebca937d6e0 b/fuzz/corpora/cmp/9ccb809b4850ddc6e442daaaff354ebca937d6e0 new file mode 100644 index 00000000..bc35e77f Binary files /dev/null and b/fuzz/corpora/cmp/9ccb809b4850ddc6e442daaaff354ebca937d6e0 differ diff --git a/fuzz/corpora/cmp/9cd59b80c2edb8c23c0a354bb39f1d3c6254cfe1 b/fuzz/corpora/cmp/9cd59b80c2edb8c23c0a354bb39f1d3c6254cfe1 new file mode 100644 index 00000000..10d08848 Binary files /dev/null and b/fuzz/corpora/cmp/9cd59b80c2edb8c23c0a354bb39f1d3c6254cfe1 differ diff --git a/fuzz/corpora/cmp/9cece7262fde54e77ba658be6caf7d3ef53c923f b/fuzz/corpora/cmp/9cece7262fde54e77ba658be6caf7d3ef53c923f new file mode 100644 index 00000000..1e624f9f Binary files /dev/null and b/fuzz/corpora/cmp/9cece7262fde54e77ba658be6caf7d3ef53c923f differ diff --git a/fuzz/corpora/cmp/9cf0fd17e806cca403daffc3e779c2ce0752e593 b/fuzz/corpora/cmp/9cf0fd17e806cca403daffc3e779c2ce0752e593 new file mode 100644 index 00000000..8f09ff32 Binary files /dev/null and b/fuzz/corpora/cmp/9cf0fd17e806cca403daffc3e779c2ce0752e593 differ diff --git a/fuzz/corpora/cmp/9d090b76f57de4e3f673e992c317db575cd2b7af b/fuzz/corpora/cmp/9d090b76f57de4e3f673e992c317db575cd2b7af new file mode 100644 index 00000000..265de9f2 Binary files /dev/null and b/fuzz/corpora/cmp/9d090b76f57de4e3f673e992c317db575cd2b7af differ diff --git a/fuzz/corpora/cmp/9d2bb2d9193f4437a894d375d7dbc3b5d45b4074 b/fuzz/corpora/cmp/9d2bb2d9193f4437a894d375d7dbc3b5d45b4074 new file mode 100644 index 00000000..213bd316 Binary files /dev/null and b/fuzz/corpora/cmp/9d2bb2d9193f4437a894d375d7dbc3b5d45b4074 differ diff --git a/fuzz/corpora/cmp/9d3d6e7255d54203da4bc8efcfd9d3b1e8ee42ae b/fuzz/corpora/cmp/9d3d6e7255d54203da4bc8efcfd9d3b1e8ee42ae new file mode 100644 index 00000000..961321b8 Binary files /dev/null and b/fuzz/corpora/cmp/9d3d6e7255d54203da4bc8efcfd9d3b1e8ee42ae differ diff --git a/fuzz/corpora/cmp/9d5836073c7d5cdfc6e381f9d0bb3a92b22d2fe0 b/fuzz/corpora/cmp/9d5836073c7d5cdfc6e381f9d0bb3a92b22d2fe0 new file mode 100644 index 00000000..92ebe9cf Binary files /dev/null and b/fuzz/corpora/cmp/9d5836073c7d5cdfc6e381f9d0bb3a92b22d2fe0 differ diff --git a/fuzz/corpora/cmp/9d5bb20cdbbaefd1415c6af879b3b901659a16c5 b/fuzz/corpora/cmp/9d5bb20cdbbaefd1415c6af879b3b901659a16c5 new file mode 100644 index 00000000..157b4509 Binary files /dev/null and b/fuzz/corpora/cmp/9d5bb20cdbbaefd1415c6af879b3b901659a16c5 differ diff --git a/fuzz/corpora/cmp/9d8a54386cd79f51d24a9cf710c6fc6ecc55dad2 b/fuzz/corpora/cmp/9d8a54386cd79f51d24a9cf710c6fc6ecc55dad2 new file mode 100644 index 00000000..67f0785d Binary files /dev/null and b/fuzz/corpora/cmp/9d8a54386cd79f51d24a9cf710c6fc6ecc55dad2 differ diff --git a/fuzz/corpora/cmp/9d8e4a85faa391813b51b2befdb5d5a52eec9c72 b/fuzz/corpora/cmp/9d8e4a85faa391813b51b2befdb5d5a52eec9c72 new file mode 100644 index 00000000..a9dd7ad6 Binary files /dev/null and b/fuzz/corpora/cmp/9d8e4a85faa391813b51b2befdb5d5a52eec9c72 differ diff --git a/fuzz/corpora/cmp/9d9137294981e294c7141f79def2fc2d4340c227 b/fuzz/corpora/cmp/9d9137294981e294c7141f79def2fc2d4340c227 new file mode 100644 index 00000000..dc497200 Binary files /dev/null and b/fuzz/corpora/cmp/9d9137294981e294c7141f79def2fc2d4340c227 differ diff --git a/fuzz/corpora/cmp/9d919bff0ee1ae4d20e3ce3bbd37eeb35c8c80c3 b/fuzz/corpora/cmp/9d919bff0ee1ae4d20e3ce3bbd37eeb35c8c80c3 new file mode 100644 index 00000000..fc1c0aff Binary files /dev/null and b/fuzz/corpora/cmp/9d919bff0ee1ae4d20e3ce3bbd37eeb35c8c80c3 differ diff --git a/fuzz/corpora/cmp/9d94220bdfa67cd3ba4633b822a856ffc1c78e81 b/fuzz/corpora/cmp/9d94220bdfa67cd3ba4633b822a856ffc1c78e81 new file mode 100644 index 00000000..25c22c3f Binary files /dev/null and b/fuzz/corpora/cmp/9d94220bdfa67cd3ba4633b822a856ffc1c78e81 differ diff --git a/fuzz/corpora/cmp/9d949910e17346494fbcb55dec42668eaf43d716 b/fuzz/corpora/cmp/9d949910e17346494fbcb55dec42668eaf43d716 new file mode 100644 index 00000000..f77bd2ea Binary files /dev/null and b/fuzz/corpora/cmp/9d949910e17346494fbcb55dec42668eaf43d716 differ diff --git a/fuzz/corpora/cmp/9d96bf6c35740b0b519d22a8754180d9d776b28c b/fuzz/corpora/cmp/9d96bf6c35740b0b519d22a8754180d9d776b28c new file mode 100644 index 00000000..2827e90f Binary files /dev/null and b/fuzz/corpora/cmp/9d96bf6c35740b0b519d22a8754180d9d776b28c differ diff --git a/fuzz/corpora/cmp/9d9d938b5bbdfe40cea3f9d37f44b953a4ac393a b/fuzz/corpora/cmp/9d9d938b5bbdfe40cea3f9d37f44b953a4ac393a new file mode 100644 index 00000000..96d41919 Binary files /dev/null and b/fuzz/corpora/cmp/9d9d938b5bbdfe40cea3f9d37f44b953a4ac393a differ diff --git a/fuzz/corpora/cmp/9da014dee197e7392d6e49e9207dc5fc842f0a6f b/fuzz/corpora/cmp/9da014dee197e7392d6e49e9207dc5fc842f0a6f new file mode 100644 index 00000000..91e89d1a Binary files /dev/null and b/fuzz/corpora/cmp/9da014dee197e7392d6e49e9207dc5fc842f0a6f differ diff --git a/fuzz/corpora/cmp/9daf6ff13aefe761c52b93743e5306e463eeff0c b/fuzz/corpora/cmp/9daf6ff13aefe761c52b93743e5306e463eeff0c new file mode 100644 index 00000000..be668b55 Binary files /dev/null and b/fuzz/corpora/cmp/9daf6ff13aefe761c52b93743e5306e463eeff0c differ diff --git a/fuzz/corpora/cmp/9db85727e38f746f32dd78e80f3a1b8441397f0f b/fuzz/corpora/cmp/9db85727e38f746f32dd78e80f3a1b8441397f0f new file mode 100644 index 00000000..e07f305d Binary files /dev/null and b/fuzz/corpora/cmp/9db85727e38f746f32dd78e80f3a1b8441397f0f differ diff --git a/fuzz/corpora/cmp/9db874f46cf3c255bbb358836a6d84bfacd59b46 b/fuzz/corpora/cmp/9db874f46cf3c255bbb358836a6d84bfacd59b46 new file mode 100644 index 00000000..9a6388fe Binary files /dev/null and b/fuzz/corpora/cmp/9db874f46cf3c255bbb358836a6d84bfacd59b46 differ diff --git a/fuzz/corpora/cmp/9dc21dd10dced5e9bcf567b69e9b133caa52e7e9 b/fuzz/corpora/cmp/9dc21dd10dced5e9bcf567b69e9b133caa52e7e9 new file mode 100644 index 00000000..4ba0467a Binary files /dev/null and b/fuzz/corpora/cmp/9dc21dd10dced5e9bcf567b69e9b133caa52e7e9 differ diff --git a/fuzz/corpora/cmp/9ddc84c9963fd5dc80413462678813d92228aacf b/fuzz/corpora/cmp/9ddc84c9963fd5dc80413462678813d92228aacf new file mode 100644 index 00000000..96234c83 Binary files /dev/null and b/fuzz/corpora/cmp/9ddc84c9963fd5dc80413462678813d92228aacf differ diff --git a/fuzz/corpora/cmp/9de608e564f834795675cf5ef8fdd22bd40813da b/fuzz/corpora/cmp/9de608e564f834795675cf5ef8fdd22bd40813da new file mode 100644 index 00000000..57a1031b Binary files /dev/null and b/fuzz/corpora/cmp/9de608e564f834795675cf5ef8fdd22bd40813da differ diff --git a/fuzz/corpora/cmp/9de732b89e927ca0ecb7e304a32d48072cb146e4 b/fuzz/corpora/cmp/9de732b89e927ca0ecb7e304a32d48072cb146e4 new file mode 100644 index 00000000..37c590d5 Binary files /dev/null and b/fuzz/corpora/cmp/9de732b89e927ca0ecb7e304a32d48072cb146e4 differ diff --git a/fuzz/corpora/cmp/9deb85911633862eb51986e28357998b0aa76a15 b/fuzz/corpora/cmp/9deb85911633862eb51986e28357998b0aa76a15 new file mode 100644 index 00000000..166e0ff7 Binary files /dev/null and b/fuzz/corpora/cmp/9deb85911633862eb51986e28357998b0aa76a15 differ diff --git a/fuzz/corpora/cmp/9e084c0f8f67e13afee05a291450f55c5cd9b34a b/fuzz/corpora/cmp/9e084c0f8f67e13afee05a291450f55c5cd9b34a new file mode 100644 index 00000000..0edba9dd Binary files /dev/null and b/fuzz/corpora/cmp/9e084c0f8f67e13afee05a291450f55c5cd9b34a differ diff --git a/fuzz/corpora/cmp/9e1c405ebd0771e0efc40daf3265de264a5db1e1 b/fuzz/corpora/cmp/9e1c405ebd0771e0efc40daf3265de264a5db1e1 new file mode 100644 index 00000000..a1415d01 Binary files /dev/null and b/fuzz/corpora/cmp/9e1c405ebd0771e0efc40daf3265de264a5db1e1 differ diff --git a/fuzz/corpora/cmp/9e2c89d717a62207330b6ee4049c6dc109111c6a b/fuzz/corpora/cmp/9e2c89d717a62207330b6ee4049c6dc109111c6a new file mode 100644 index 00000000..be87f946 Binary files /dev/null and b/fuzz/corpora/cmp/9e2c89d717a62207330b6ee4049c6dc109111c6a differ diff --git a/fuzz/corpora/cmp/9e3b10a8ca74714c8a60aff91973c096a756d9cb b/fuzz/corpora/cmp/9e3b10a8ca74714c8a60aff91973c096a756d9cb new file mode 100644 index 00000000..ca81ef6e Binary files /dev/null and b/fuzz/corpora/cmp/9e3b10a8ca74714c8a60aff91973c096a756d9cb differ diff --git a/fuzz/corpora/cmp/9e44a809f7a32d6b8545e80fa68b743945643986 b/fuzz/corpora/cmp/9e44a809f7a32d6b8545e80fa68b743945643986 new file mode 100644 index 00000000..366a4173 Binary files /dev/null and b/fuzz/corpora/cmp/9e44a809f7a32d6b8545e80fa68b743945643986 differ diff --git a/fuzz/corpora/cmp/9e5494360bcd3ff444ea6c94613e293248cca3c7 b/fuzz/corpora/cmp/9e5494360bcd3ff444ea6c94613e293248cca3c7 new file mode 100644 index 00000000..290bc0be Binary files /dev/null and b/fuzz/corpora/cmp/9e5494360bcd3ff444ea6c94613e293248cca3c7 differ diff --git a/fuzz/corpora/cmp/9e5c1e170e8162aaf8ecd612121010e57166ac5a b/fuzz/corpora/cmp/9e5c1e170e8162aaf8ecd612121010e57166ac5a new file mode 100644 index 00000000..baf6e997 Binary files /dev/null and b/fuzz/corpora/cmp/9e5c1e170e8162aaf8ecd612121010e57166ac5a differ diff --git a/fuzz/corpora/cmp/9e666525b2282619fd78620647ee10cb71e161b9 b/fuzz/corpora/cmp/9e666525b2282619fd78620647ee10cb71e161b9 new file mode 100644 index 00000000..2dc64bd3 Binary files /dev/null and b/fuzz/corpora/cmp/9e666525b2282619fd78620647ee10cb71e161b9 differ diff --git a/fuzz/corpora/cmp/9e6e4e613e763b5e68a72bf878ff66d22b0d8a35 b/fuzz/corpora/cmp/9e6e4e613e763b5e68a72bf878ff66d22b0d8a35 new file mode 100644 index 00000000..4e5267b2 Binary files /dev/null and b/fuzz/corpora/cmp/9e6e4e613e763b5e68a72bf878ff66d22b0d8a35 differ diff --git a/fuzz/corpora/cmp/9e7b12b4b254218f600394b0cedb1374cdbb0428 b/fuzz/corpora/cmp/9e7b12b4b254218f600394b0cedb1374cdbb0428 new file mode 100644 index 00000000..a8c0823c Binary files /dev/null and b/fuzz/corpora/cmp/9e7b12b4b254218f600394b0cedb1374cdbb0428 differ diff --git a/fuzz/corpora/cmp/9e7ff5d0fb713a4f95ceb30b45f21d92f6948f7b b/fuzz/corpora/cmp/9e7ff5d0fb713a4f95ceb30b45f21d92f6948f7b new file mode 100644 index 00000000..42510b3f Binary files /dev/null and b/fuzz/corpora/cmp/9e7ff5d0fb713a4f95ceb30b45f21d92f6948f7b differ diff --git a/fuzz/corpora/cmp/9e85743f9ea85bd23aa32fb609711b4665d2159d b/fuzz/corpora/cmp/9e85743f9ea85bd23aa32fb609711b4665d2159d new file mode 100644 index 00000000..ea7768de Binary files /dev/null and b/fuzz/corpora/cmp/9e85743f9ea85bd23aa32fb609711b4665d2159d differ diff --git a/fuzz/corpora/cmp/9e9146e85a3c468dc485a4b4f13c4cd5831b4970 b/fuzz/corpora/cmp/9e9146e85a3c468dc485a4b4f13c4cd5831b4970 new file mode 100644 index 00000000..9e892ceb Binary files /dev/null and b/fuzz/corpora/cmp/9e9146e85a3c468dc485a4b4f13c4cd5831b4970 differ diff --git a/fuzz/corpora/cmp/9eb38b73c670fbc4fcdd3a1e8a9a168a775bfbd6 b/fuzz/corpora/cmp/9eb38b73c670fbc4fcdd3a1e8a9a168a775bfbd6 new file mode 100644 index 00000000..5177fd60 Binary files /dev/null and b/fuzz/corpora/cmp/9eb38b73c670fbc4fcdd3a1e8a9a168a775bfbd6 differ diff --git a/fuzz/corpora/cmp/9ecd3f83fbc89ea6ac95bbbb78e76f7247aace98 b/fuzz/corpora/cmp/9ecd3f83fbc89ea6ac95bbbb78e76f7247aace98 new file mode 100644 index 00000000..ad007bf8 Binary files /dev/null and b/fuzz/corpora/cmp/9ecd3f83fbc89ea6ac95bbbb78e76f7247aace98 differ diff --git a/fuzz/corpora/cmp/9ed29da465a7e0cab8bff5f1601c2cc3ecb8093d b/fuzz/corpora/cmp/9ed29da465a7e0cab8bff5f1601c2cc3ecb8093d new file mode 100644 index 00000000..435566c8 Binary files /dev/null and b/fuzz/corpora/cmp/9ed29da465a7e0cab8bff5f1601c2cc3ecb8093d differ diff --git a/fuzz/corpora/cmp/9ef6be384c8a430c35fb440e74aa4f8e51e8cfdd b/fuzz/corpora/cmp/9ef6be384c8a430c35fb440e74aa4f8e51e8cfdd new file mode 100644 index 00000000..0c23bdeb Binary files /dev/null and b/fuzz/corpora/cmp/9ef6be384c8a430c35fb440e74aa4f8e51e8cfdd differ diff --git a/fuzz/corpora/cmp/9efb85130340ce790b4e3b0eaa79716e85674911 b/fuzz/corpora/cmp/9efb85130340ce790b4e3b0eaa79716e85674911 new file mode 100644 index 00000000..5fb4e695 Binary files /dev/null and b/fuzz/corpora/cmp/9efb85130340ce790b4e3b0eaa79716e85674911 differ diff --git a/fuzz/corpora/cmp/9efc581a430b51d87218b14aa64987ef2f64a095 b/fuzz/corpora/cmp/9efc581a430b51d87218b14aa64987ef2f64a095 new file mode 100644 index 00000000..2d5dfa4b Binary files /dev/null and b/fuzz/corpora/cmp/9efc581a430b51d87218b14aa64987ef2f64a095 differ diff --git a/fuzz/corpora/cmp/9efd79ddcd06d70a9cf0607cda452dd7d0b5df44 b/fuzz/corpora/cmp/9efd79ddcd06d70a9cf0607cda452dd7d0b5df44 new file mode 100644 index 00000000..8eaddd86 Binary files /dev/null and b/fuzz/corpora/cmp/9efd79ddcd06d70a9cf0607cda452dd7d0b5df44 differ diff --git a/fuzz/corpora/cmp/9f322ef8a7da26188bf3781cad90c9e2f0eaa4ea b/fuzz/corpora/cmp/9f322ef8a7da26188bf3781cad90c9e2f0eaa4ea new file mode 100644 index 00000000..0628b173 Binary files /dev/null and b/fuzz/corpora/cmp/9f322ef8a7da26188bf3781cad90c9e2f0eaa4ea differ diff --git a/fuzz/corpora/cmp/9f4867756cbd9e9b78720c799218e66959cc4301 b/fuzz/corpora/cmp/9f4867756cbd9e9b78720c799218e66959cc4301 new file mode 100644 index 00000000..b9a77ddd Binary files /dev/null and b/fuzz/corpora/cmp/9f4867756cbd9e9b78720c799218e66959cc4301 differ diff --git a/fuzz/corpora/cmp/9f5e9620b627c80a6137180d307106787ad66325 b/fuzz/corpora/cmp/9f5e9620b627c80a6137180d307106787ad66325 new file mode 100644 index 00000000..8cd46611 Binary files /dev/null and b/fuzz/corpora/cmp/9f5e9620b627c80a6137180d307106787ad66325 differ diff --git a/fuzz/corpora/cmp/9f5fd9712fa63cfca0449b09a596713d535fd669 b/fuzz/corpora/cmp/9f5fd9712fa63cfca0449b09a596713d535fd669 new file mode 100644 index 00000000..7cf5e2df Binary files /dev/null and b/fuzz/corpora/cmp/9f5fd9712fa63cfca0449b09a596713d535fd669 differ diff --git a/fuzz/corpora/cmp/9f8738b931f678eac52a7d9d466047ba60ef1cc9 b/fuzz/corpora/cmp/9f8738b931f678eac52a7d9d466047ba60ef1cc9 new file mode 100644 index 00000000..5b695086 Binary files /dev/null and b/fuzz/corpora/cmp/9f8738b931f678eac52a7d9d466047ba60ef1cc9 differ diff --git a/fuzz/corpora/cmp/9f89a8eddc1cd83d901e76d81d0db1e9030637d1 b/fuzz/corpora/cmp/9f89a8eddc1cd83d901e76d81d0db1e9030637d1 new file mode 100644 index 00000000..2046dd16 Binary files /dev/null and b/fuzz/corpora/cmp/9f89a8eddc1cd83d901e76d81d0db1e9030637d1 differ diff --git a/fuzz/corpora/cmp/9f92645949517cbfad745a002edd21474f5ae2e8 b/fuzz/corpora/cmp/9f92645949517cbfad745a002edd21474f5ae2e8 new file mode 100644 index 00000000..cb4a3168 Binary files /dev/null and b/fuzz/corpora/cmp/9f92645949517cbfad745a002edd21474f5ae2e8 differ diff --git a/fuzz/corpora/cmp/9f99b1e6d439927d45560016133d55823cf7a427 b/fuzz/corpora/cmp/9f99b1e6d439927d45560016133d55823cf7a427 new file mode 100644 index 00000000..45af4419 Binary files /dev/null and b/fuzz/corpora/cmp/9f99b1e6d439927d45560016133d55823cf7a427 differ diff --git a/fuzz/corpora/cmp/9f9d3076862e327baf54f55b7ef423ca8a850d32 b/fuzz/corpora/cmp/9f9d3076862e327baf54f55b7ef423ca8a850d32 new file mode 100644 index 00000000..cd2fb121 Binary files /dev/null and b/fuzz/corpora/cmp/9f9d3076862e327baf54f55b7ef423ca8a850d32 differ diff --git a/fuzz/corpora/cmp/9fa33642a8f1f1e3940728d9e02a8c3dd6828717 b/fuzz/corpora/cmp/9fa33642a8f1f1e3940728d9e02a8c3dd6828717 new file mode 100644 index 00000000..f7e3a38d Binary files /dev/null and b/fuzz/corpora/cmp/9fa33642a8f1f1e3940728d9e02a8c3dd6828717 differ diff --git a/fuzz/corpora/cmp/9fb404d88ec8751383649ced85cb40d33e6a2605 b/fuzz/corpora/cmp/9fb404d88ec8751383649ced85cb40d33e6a2605 new file mode 100644 index 00000000..0ec8e78a Binary files /dev/null and b/fuzz/corpora/cmp/9fb404d88ec8751383649ced85cb40d33e6a2605 differ diff --git a/fuzz/corpora/cmp/9fcc57ca2b4d28ac0fda7dce3d08555d27df2109 b/fuzz/corpora/cmp/9fcc57ca2b4d28ac0fda7dce3d08555d27df2109 new file mode 100644 index 00000000..285f12a6 Binary files /dev/null and b/fuzz/corpora/cmp/9fcc57ca2b4d28ac0fda7dce3d08555d27df2109 differ diff --git a/fuzz/corpora/cmp/9fce194ccd2a2bb56a98ff40cd817adb5abecd4f b/fuzz/corpora/cmp/9fce194ccd2a2bb56a98ff40cd817adb5abecd4f new file mode 100644 index 00000000..f2b02afc Binary files /dev/null and b/fuzz/corpora/cmp/9fce194ccd2a2bb56a98ff40cd817adb5abecd4f differ diff --git a/fuzz/corpora/cmp/9fd1c13d4d3c9f21bd4c60347acdd5416a3a6cc5 b/fuzz/corpora/cmp/9fd1c13d4d3c9f21bd4c60347acdd5416a3a6cc5 new file mode 100644 index 00000000..ec4ca0a9 Binary files /dev/null and b/fuzz/corpora/cmp/9fd1c13d4d3c9f21bd4c60347acdd5416a3a6cc5 differ diff --git a/fuzz/corpora/cmp/9fd552d52f69f788350476940f5b00764cffbe96 b/fuzz/corpora/cmp/9fd552d52f69f788350476940f5b00764cffbe96 new file mode 100644 index 00000000..22c36edb Binary files /dev/null and b/fuzz/corpora/cmp/9fd552d52f69f788350476940f5b00764cffbe96 differ diff --git a/fuzz/corpora/cmp/9fe72c43fde828c7c88cd649c08b977c7f98b675 b/fuzz/corpora/cmp/9fe72c43fde828c7c88cd649c08b977c7f98b675 new file mode 100644 index 00000000..5bdbd018 Binary files /dev/null and b/fuzz/corpora/cmp/9fe72c43fde828c7c88cd649c08b977c7f98b675 differ diff --git a/fuzz/corpora/cmp/9fe7d41ccf172cfa56f8eef661b3677022e229da b/fuzz/corpora/cmp/9fe7d41ccf172cfa56f8eef661b3677022e229da new file mode 100644 index 00000000..b63ee7e8 Binary files /dev/null and b/fuzz/corpora/cmp/9fe7d41ccf172cfa56f8eef661b3677022e229da differ diff --git a/fuzz/corpora/cmp/CP_Insta.der b/fuzz/corpora/cmp/CP_Insta.der new file mode 100644 index 00000000..0628b173 Binary files /dev/null and b/fuzz/corpora/cmp/CP_Insta.der differ diff --git a/fuzz/corpora/cmp/CR_Insta.der b/fuzz/corpora/cmp/CR_Insta.der new file mode 100644 index 00000000..0414d192 Binary files /dev/null and b/fuzz/corpora/cmp/CR_Insta.der differ diff --git a/fuzz/corpora/cmp/CR_protected_PBM_1234.der b/fuzz/corpora/cmp/CR_protected_PBM_1234.der new file mode 100644 index 00000000..fc1c0aff Binary files /dev/null and b/fuzz/corpora/cmp/CR_protected_PBM_1234.der differ diff --git a/fuzz/corpora/cmp/CertConf_Insta.der b/fuzz/corpora/cmp/CertConf_Insta.der new file mode 100644 index 00000000..52baa72d Binary files /dev/null and b/fuzz/corpora/cmp/CertConf_Insta.der differ diff --git a/fuzz/corpora/cmp/Error_Insta.der b/fuzz/corpora/cmp/Error_Insta.der new file mode 100644 index 00000000..5312c20a Binary files /dev/null and b/fuzz/corpora/cmp/Error_Insta.der differ diff --git a/fuzz/corpora/cmp/GenM_Insta.der b/fuzz/corpora/cmp/GenM_Insta.der new file mode 100644 index 00000000..bde7c913 Binary files /dev/null and b/fuzz/corpora/cmp/GenM_Insta.der differ diff --git a/fuzz/corpora/cmp/GenP_Insta.der b/fuzz/corpora/cmp/GenP_Insta.der new file mode 100644 index 00000000..2bab0aa1 Binary files /dev/null and b/fuzz/corpora/cmp/GenP_Insta.der differ diff --git a/fuzz/corpora/cmp/IP_PBM.der b/fuzz/corpora/cmp/IP_PBM.der new file mode 100644 index 00000000..d0890712 Binary files /dev/null and b/fuzz/corpora/cmp/IP_PBM.der differ diff --git a/fuzz/corpora/cmp/IP_empty_subject_Insta.der b/fuzz/corpora/cmp/IP_empty_subject_Insta.der new file mode 100644 index 00000000..268df57b Binary files /dev/null and b/fuzz/corpora/cmp/IP_empty_subject_Insta.der differ diff --git a/fuzz/corpora/cmp/IP_waitingStatus_PBM.der b/fuzz/corpora/cmp/IP_waitingStatus_PBM.der new file mode 100644 index 00000000..76888e84 Binary files /dev/null and b/fuzz/corpora/cmp/IP_waitingStatus_PBM.der differ diff --git a/fuzz/corpora/cmp/IR_empty_subject_Insta.der b/fuzz/corpora/cmp/IR_empty_subject_Insta.der new file mode 100644 index 00000000..94c75ae9 Binary files /dev/null and b/fuzz/corpora/cmp/IR_empty_subject_Insta.der differ diff --git a/fuzz/corpora/cmp/IR_protected.der b/fuzz/corpora/cmp/IR_protected.der new file mode 100644 index 00000000..ce0a7a46 Binary files /dev/null and b/fuzz/corpora/cmp/IR_protected.der differ diff --git a/fuzz/corpora/cmp/IR_protected_0_extraCerts.der b/fuzz/corpora/cmp/IR_protected_0_extraCerts.der new file mode 100644 index 00000000..1c260280 Binary files /dev/null and b/fuzz/corpora/cmp/IR_protected_0_extraCerts.der differ diff --git a/fuzz/corpora/cmp/IR_protected_2_extraCerts.der b/fuzz/corpora/cmp/IR_protected_2_extraCerts.der new file mode 100644 index 00000000..56faad4a Binary files /dev/null and b/fuzz/corpora/cmp/IR_protected_2_extraCerts.der differ diff --git a/fuzz/corpora/cmp/IR_rmprotection.der b/fuzz/corpora/cmp/IR_rmprotection.der new file mode 100644 index 00000000..e84c64d8 Binary files /dev/null and b/fuzz/corpora/cmp/IR_rmprotection.der differ diff --git a/fuzz/corpora/cmp/IR_unprotected.der b/fuzz/corpora/cmp/IR_unprotected.der new file mode 100644 index 00000000..41a64969 Binary files /dev/null and b/fuzz/corpora/cmp/IR_unprotected.der differ diff --git a/fuzz/corpora/cmp/KUP_Insta.der b/fuzz/corpora/cmp/KUP_Insta.der new file mode 100644 index 00000000..607af54d Binary files /dev/null and b/fuzz/corpora/cmp/KUP_Insta.der differ diff --git a/fuzz/corpora/cmp/KUR_Insta.der b/fuzz/corpora/cmp/KUR_Insta.der new file mode 100644 index 00000000..ec8bbb8a Binary files /dev/null and b/fuzz/corpora/cmp/KUR_Insta.der differ diff --git a/fuzz/corpora/cmp/P10CR_Insta.der b/fuzz/corpora/cmp/P10CR_Insta.der new file mode 100644 index 00000000..489eddb4 Binary files /dev/null and b/fuzz/corpora/cmp/P10CR_Insta.der differ diff --git a/fuzz/corpora/cmp/PKIConf_Insta.der b/fuzz/corpora/cmp/PKIConf_Insta.der new file mode 100644 index 00000000..fc3cc2d5 Binary files /dev/null and b/fuzz/corpora/cmp/PKIConf_Insta.der differ diff --git a/fuzz/corpora/cmp/PollRep_Insta.der b/fuzz/corpora/cmp/PollRep_Insta.der new file mode 100644 index 00000000..02a19bd5 Binary files /dev/null and b/fuzz/corpora/cmp/PollRep_Insta.der differ diff --git a/fuzz/corpora/cmp/PollReq_Insta.der b/fuzz/corpora/cmp/PollReq_Insta.der new file mode 100644 index 00000000..5c5ce1c2 Binary files /dev/null and b/fuzz/corpora/cmp/PollReq_Insta.der differ diff --git a/fuzz/corpora/cmp/RP_Insta.der b/fuzz/corpora/cmp/RP_Insta.der new file mode 100644 index 00000000..e7415412 Binary files /dev/null and b/fuzz/corpora/cmp/RP_Insta.der differ diff --git a/fuzz/corpora/cmp/RR_Insta.der b/fuzz/corpora/cmp/RR_Insta.der new file mode 100644 index 00000000..140f2ec0 Binary files /dev/null and b/fuzz/corpora/cmp/RR_Insta.der differ diff --git a/fuzz/corpora/cmp/a004c23ae79ef90c27cc2d373bdbd675e9734f4f b/fuzz/corpora/cmp/a004c23ae79ef90c27cc2d373bdbd675e9734f4f new file mode 100644 index 00000000..ff2757c0 Binary files /dev/null and b/fuzz/corpora/cmp/a004c23ae79ef90c27cc2d373bdbd675e9734f4f differ diff --git a/fuzz/corpora/cmp/a005ce8d4631529d828235a832924c70afbfc83e b/fuzz/corpora/cmp/a005ce8d4631529d828235a832924c70afbfc83e new file mode 100644 index 00000000..75cb7e8a Binary files /dev/null and b/fuzz/corpora/cmp/a005ce8d4631529d828235a832924c70afbfc83e differ diff --git a/fuzz/corpora/cmp/a00ae530f4fc3cf42648a1a16c6685bd3ee866fb b/fuzz/corpora/cmp/a00ae530f4fc3cf42648a1a16c6685bd3ee866fb new file mode 100644 index 00000000..eb46b7ef Binary files /dev/null and b/fuzz/corpora/cmp/a00ae530f4fc3cf42648a1a16c6685bd3ee866fb differ diff --git a/fuzz/corpora/cmp/a03417271632eb93317678c0a0b8bcd51edd9a32 b/fuzz/corpora/cmp/a03417271632eb93317678c0a0b8bcd51edd9a32 new file mode 100644 index 00000000..b052d791 Binary files /dev/null and b/fuzz/corpora/cmp/a03417271632eb93317678c0a0b8bcd51edd9a32 differ diff --git a/fuzz/corpora/cmp/a048752bdf4e4952d8e966bf20ec9e2c5f98a672 b/fuzz/corpora/cmp/a048752bdf4e4952d8e966bf20ec9e2c5f98a672 new file mode 100644 index 00000000..31851da6 Binary files /dev/null and b/fuzz/corpora/cmp/a048752bdf4e4952d8e966bf20ec9e2c5f98a672 differ diff --git a/fuzz/corpora/cmp/a05713fcef3f027458353acf4888864234400f85 b/fuzz/corpora/cmp/a05713fcef3f027458353acf4888864234400f85 new file mode 100644 index 00000000..aad62ee1 Binary files /dev/null and b/fuzz/corpora/cmp/a05713fcef3f027458353acf4888864234400f85 differ diff --git a/fuzz/corpora/cmp/a059af8ae981e35b5e7a2efe9598918ad85de447 b/fuzz/corpora/cmp/a059af8ae981e35b5e7a2efe9598918ad85de447 new file mode 100644 index 00000000..f48b70e8 Binary files /dev/null and b/fuzz/corpora/cmp/a059af8ae981e35b5e7a2efe9598918ad85de447 differ diff --git a/fuzz/corpora/cmp/a05c88fd27c64c0753f5135789772cd819e8b3c5 b/fuzz/corpora/cmp/a05c88fd27c64c0753f5135789772cd819e8b3c5 new file mode 100644 index 00000000..1bd0a7e4 Binary files /dev/null and b/fuzz/corpora/cmp/a05c88fd27c64c0753f5135789772cd819e8b3c5 differ diff --git a/fuzz/corpora/cmp/a08074d3310fef34901aafc739e22b3fdd319602 b/fuzz/corpora/cmp/a08074d3310fef34901aafc739e22b3fdd319602 new file mode 100644 index 00000000..80c7c2ad Binary files /dev/null and b/fuzz/corpora/cmp/a08074d3310fef34901aafc739e22b3fdd319602 differ diff --git a/fuzz/corpora/cmp/a08a2d107be74f50049ed66c9799bf65444c7fdf b/fuzz/corpora/cmp/a08a2d107be74f50049ed66c9799bf65444c7fdf new file mode 100644 index 00000000..2925724c Binary files /dev/null and b/fuzz/corpora/cmp/a08a2d107be74f50049ed66c9799bf65444c7fdf differ diff --git a/fuzz/corpora/cmp/a095968d6d7d1a3a1d05a5c0518fdfd9c79ee499 b/fuzz/corpora/cmp/a095968d6d7d1a3a1d05a5c0518fdfd9c79ee499 new file mode 100644 index 00000000..50056087 Binary files /dev/null and b/fuzz/corpora/cmp/a095968d6d7d1a3a1d05a5c0518fdfd9c79ee499 differ diff --git a/fuzz/corpora/cmp/a09d92eaf2a8b25caee77ed09a5507e121790cb1 b/fuzz/corpora/cmp/a09d92eaf2a8b25caee77ed09a5507e121790cb1 new file mode 100644 index 00000000..cf4af804 Binary files /dev/null and b/fuzz/corpora/cmp/a09d92eaf2a8b25caee77ed09a5507e121790cb1 differ diff --git a/fuzz/corpora/cmp/a0a5106b2b84ef83eb473d5ffed64c4923ac64b9 b/fuzz/corpora/cmp/a0a5106b2b84ef83eb473d5ffed64c4923ac64b9 new file mode 100644 index 00000000..1514865e Binary files /dev/null and b/fuzz/corpora/cmp/a0a5106b2b84ef83eb473d5ffed64c4923ac64b9 differ diff --git a/fuzz/corpora/cmp/a0a8a3fc368ca62bae096694821977332ce3df35 b/fuzz/corpora/cmp/a0a8a3fc368ca62bae096694821977332ce3df35 new file mode 100644 index 00000000..92e78e81 Binary files /dev/null and b/fuzz/corpora/cmp/a0a8a3fc368ca62bae096694821977332ce3df35 differ diff --git a/fuzz/corpora/cmp/a0b776071d4d87f282bb7e37faf0af1ba379aa96 b/fuzz/corpora/cmp/a0b776071d4d87f282bb7e37faf0af1ba379aa96 new file mode 100644 index 00000000..2bea85b1 Binary files /dev/null and b/fuzz/corpora/cmp/a0b776071d4d87f282bb7e37faf0af1ba379aa96 differ diff --git a/fuzz/corpora/cmp/a0b96fc8bfa7d273efd7e3a69d65b0b0982cbea5 b/fuzz/corpora/cmp/a0b96fc8bfa7d273efd7e3a69d65b0b0982cbea5 new file mode 100644 index 00000000..92ce6773 Binary files /dev/null and b/fuzz/corpora/cmp/a0b96fc8bfa7d273efd7e3a69d65b0b0982cbea5 differ diff --git a/fuzz/corpora/cmp/a0be86faae401bf0d7b5848dc2b45deddc6a50f4 b/fuzz/corpora/cmp/a0be86faae401bf0d7b5848dc2b45deddc6a50f4 new file mode 100644 index 00000000..71f7c77f Binary files /dev/null and b/fuzz/corpora/cmp/a0be86faae401bf0d7b5848dc2b45deddc6a50f4 differ diff --git a/fuzz/corpora/cmp/a0d55abcc303992d1ccbca18c67cf2b9b45d454e b/fuzz/corpora/cmp/a0d55abcc303992d1ccbca18c67cf2b9b45d454e new file mode 100644 index 00000000..ce993b78 Binary files /dev/null and b/fuzz/corpora/cmp/a0d55abcc303992d1ccbca18c67cf2b9b45d454e differ diff --git a/fuzz/corpora/cmp/a0dc5bb930470d7bd645f74296502f5ba56da331 b/fuzz/corpora/cmp/a0dc5bb930470d7bd645f74296502f5ba56da331 new file mode 100644 index 00000000..2258c071 Binary files /dev/null and b/fuzz/corpora/cmp/a0dc5bb930470d7bd645f74296502f5ba56da331 differ diff --git a/fuzz/corpora/cmp/a0df28e3da10b9958ac0a258ac766c09ea518b47 b/fuzz/corpora/cmp/a0df28e3da10b9958ac0a258ac766c09ea518b47 new file mode 100644 index 00000000..1aca3775 Binary files /dev/null and b/fuzz/corpora/cmp/a0df28e3da10b9958ac0a258ac766c09ea518b47 differ diff --git a/fuzz/corpora/cmp/a0e8f50b155ecd9614a5c5d6de91b68eff7e3a1c b/fuzz/corpora/cmp/a0e8f50b155ecd9614a5c5d6de91b68eff7e3a1c new file mode 100644 index 00000000..6af00b8b Binary files /dev/null and b/fuzz/corpora/cmp/a0e8f50b155ecd9614a5c5d6de91b68eff7e3a1c differ diff --git a/fuzz/corpora/cmp/a0f1138133b5eb3510ef36469f60e8572fba9497 b/fuzz/corpora/cmp/a0f1138133b5eb3510ef36469f60e8572fba9497 new file mode 100644 index 00000000..0e8b7cf4 Binary files /dev/null and b/fuzz/corpora/cmp/a0f1138133b5eb3510ef36469f60e8572fba9497 differ diff --git a/fuzz/corpora/cmp/a0fae3675c177b17e82fd016e5a68c60f9903801 b/fuzz/corpora/cmp/a0fae3675c177b17e82fd016e5a68c60f9903801 new file mode 100644 index 00000000..45fcc5bd Binary files /dev/null and b/fuzz/corpora/cmp/a0fae3675c177b17e82fd016e5a68c60f9903801 differ diff --git a/fuzz/corpora/cmp/a0fd2c828f3a7cf28642af08da000aab8c4f121d b/fuzz/corpora/cmp/a0fd2c828f3a7cf28642af08da000aab8c4f121d new file mode 100644 index 00000000..e768bf4a Binary files /dev/null and b/fuzz/corpora/cmp/a0fd2c828f3a7cf28642af08da000aab8c4f121d differ diff --git a/fuzz/corpora/cmp/a10cd3ec3db0d0a15e706c014bc65dd3a48bb48e b/fuzz/corpora/cmp/a10cd3ec3db0d0a15e706c014bc65dd3a48bb48e new file mode 100644 index 00000000..38b83b61 Binary files /dev/null and b/fuzz/corpora/cmp/a10cd3ec3db0d0a15e706c014bc65dd3a48bb48e differ diff --git a/fuzz/corpora/cmp/a1167758a1527e4c83592e8c9f8bcba1623a64da b/fuzz/corpora/cmp/a1167758a1527e4c83592e8c9f8bcba1623a64da new file mode 100644 index 00000000..80b3d796 Binary files /dev/null and b/fuzz/corpora/cmp/a1167758a1527e4c83592e8c9f8bcba1623a64da differ diff --git a/fuzz/corpora/cmp/a13a514a576005d4c32eb3a1ed7450cc765c4fd0 b/fuzz/corpora/cmp/a13a514a576005d4c32eb3a1ed7450cc765c4fd0 new file mode 100644 index 00000000..ce0eabe3 Binary files /dev/null and b/fuzz/corpora/cmp/a13a514a576005d4c32eb3a1ed7450cc765c4fd0 differ diff --git a/fuzz/corpora/cmp/a15e3127f99ef0597a5f9ed192b6103e78e27aa9 b/fuzz/corpora/cmp/a15e3127f99ef0597a5f9ed192b6103e78e27aa9 new file mode 100644 index 00000000..5f18a0a8 Binary files /dev/null and b/fuzz/corpora/cmp/a15e3127f99ef0597a5f9ed192b6103e78e27aa9 differ diff --git a/fuzz/corpora/cmp/a173f647aab19be7d34910d02d2528437e61ed7e b/fuzz/corpora/cmp/a173f647aab19be7d34910d02d2528437e61ed7e new file mode 100644 index 00000000..be3edfad Binary files /dev/null and b/fuzz/corpora/cmp/a173f647aab19be7d34910d02d2528437e61ed7e differ diff --git a/fuzz/corpora/cmp/a180deb56338fa343c847114f3896b40447c7f28 b/fuzz/corpora/cmp/a180deb56338fa343c847114f3896b40447c7f28 new file mode 100644 index 00000000..484ad022 Binary files /dev/null and b/fuzz/corpora/cmp/a180deb56338fa343c847114f3896b40447c7f28 differ diff --git a/fuzz/corpora/cmp/a1881889fa3cb62ac80a5d5bc01971633aa6039c b/fuzz/corpora/cmp/a1881889fa3cb62ac80a5d5bc01971633aa6039c new file mode 100644 index 00000000..e7be4e3a Binary files /dev/null and b/fuzz/corpora/cmp/a1881889fa3cb62ac80a5d5bc01971633aa6039c differ diff --git a/fuzz/corpora/cmp/a19d28a4268dfaeca666c6d4c2e7c4986d553755 b/fuzz/corpora/cmp/a19d28a4268dfaeca666c6d4c2e7c4986d553755 new file mode 100644 index 00000000..0dccf6bb Binary files /dev/null and b/fuzz/corpora/cmp/a19d28a4268dfaeca666c6d4c2e7c4986d553755 differ diff --git a/fuzz/corpora/cmp/a1bd90126806865295fa2c3074aa1825a23ddb23 b/fuzz/corpora/cmp/a1bd90126806865295fa2c3074aa1825a23ddb23 new file mode 100644 index 00000000..2651fc96 Binary files /dev/null and b/fuzz/corpora/cmp/a1bd90126806865295fa2c3074aa1825a23ddb23 differ diff --git a/fuzz/corpora/cmp/a1c0ad4508b07a646513a797dcce1e78fda6906e b/fuzz/corpora/cmp/a1c0ad4508b07a646513a797dcce1e78fda6906e new file mode 100644 index 00000000..43534def Binary files /dev/null and b/fuzz/corpora/cmp/a1c0ad4508b07a646513a797dcce1e78fda6906e differ diff --git a/fuzz/corpora/cmp/a1d442a42ed589fbb222efc6551df6e1dbc6bc78 b/fuzz/corpora/cmp/a1d442a42ed589fbb222efc6551df6e1dbc6bc78 new file mode 100644 index 00000000..530802fc Binary files /dev/null and b/fuzz/corpora/cmp/a1d442a42ed589fbb222efc6551df6e1dbc6bc78 differ diff --git a/fuzz/corpora/cmp/a1e33265bfb3d3a2ed8562938c11db87e60b4040 b/fuzz/corpora/cmp/a1e33265bfb3d3a2ed8562938c11db87e60b4040 new file mode 100644 index 00000000..b498f96a Binary files /dev/null and b/fuzz/corpora/cmp/a1e33265bfb3d3a2ed8562938c11db87e60b4040 differ diff --git a/fuzz/corpora/cmp/a1f494f72b72c663c5f4290c5af4e970b3137942 b/fuzz/corpora/cmp/a1f494f72b72c663c5f4290c5af4e970b3137942 new file mode 100644 index 00000000..bf363867 Binary files /dev/null and b/fuzz/corpora/cmp/a1f494f72b72c663c5f4290c5af4e970b3137942 differ diff --git a/fuzz/corpora/cmp/a1fd1b85e9ecdf211c26906d85bf9f1669c5e583 b/fuzz/corpora/cmp/a1fd1b85e9ecdf211c26906d85bf9f1669c5e583 new file mode 100644 index 00000000..0f7d6b5a Binary files /dev/null and b/fuzz/corpora/cmp/a1fd1b85e9ecdf211c26906d85bf9f1669c5e583 differ diff --git a/fuzz/corpora/cmp/a21528a9a36cd74615bc7de15d65d29e79b92361 b/fuzz/corpora/cmp/a21528a9a36cd74615bc7de15d65d29e79b92361 new file mode 100644 index 00000000..82ee707b Binary files /dev/null and b/fuzz/corpora/cmp/a21528a9a36cd74615bc7de15d65d29e79b92361 differ diff --git a/fuzz/corpora/cmp/a2159c19cc3ad80f2ef6969b48664e78769f0bfa b/fuzz/corpora/cmp/a2159c19cc3ad80f2ef6969b48664e78769f0bfa new file mode 100644 index 00000000..7eb6ae8f Binary files /dev/null and b/fuzz/corpora/cmp/a2159c19cc3ad80f2ef6969b48664e78769f0bfa differ diff --git a/fuzz/corpora/cmp/a223209b932a338f5b72f759d8beab650c2746b0 b/fuzz/corpora/cmp/a223209b932a338f5b72f759d8beab650c2746b0 new file mode 100644 index 00000000..470e5db8 Binary files /dev/null and b/fuzz/corpora/cmp/a223209b932a338f5b72f759d8beab650c2746b0 differ diff --git a/fuzz/corpora/cmp/a24862e53aa69edb4ec3f5ae7c90a6cb155a2b65 b/fuzz/corpora/cmp/a24862e53aa69edb4ec3f5ae7c90a6cb155a2b65 new file mode 100644 index 00000000..8fb3cd02 Binary files /dev/null and b/fuzz/corpora/cmp/a24862e53aa69edb4ec3f5ae7c90a6cb155a2b65 differ diff --git a/fuzz/corpora/cmp/a2652e759b615b0474a8c7a1d0467b12a0280842 b/fuzz/corpora/cmp/a2652e759b615b0474a8c7a1d0467b12a0280842 new file mode 100644 index 00000000..ae5acdae Binary files /dev/null and b/fuzz/corpora/cmp/a2652e759b615b0474a8c7a1d0467b12a0280842 differ diff --git a/fuzz/corpora/cmp/a26c305b3f7e5c5400c72ddf071e1df4c6422bd9 b/fuzz/corpora/cmp/a26c305b3f7e5c5400c72ddf071e1df4c6422bd9 new file mode 100644 index 00000000..7a9a60b4 Binary files /dev/null and b/fuzz/corpora/cmp/a26c305b3f7e5c5400c72ddf071e1df4c6422bd9 differ diff --git a/fuzz/corpora/cmp/a276246b9bf1b556adb77486de346a2b40fe0dd9 b/fuzz/corpora/cmp/a276246b9bf1b556adb77486de346a2b40fe0dd9 new file mode 100644 index 00000000..7b860d03 Binary files /dev/null and b/fuzz/corpora/cmp/a276246b9bf1b556adb77486de346a2b40fe0dd9 differ diff --git a/fuzz/corpora/cmp/a2817ee8550bc324b8d25db639767551b69f4a4f b/fuzz/corpora/cmp/a2817ee8550bc324b8d25db639767551b69f4a4f new file mode 100644 index 00000000..e6be4a35 Binary files /dev/null and b/fuzz/corpora/cmp/a2817ee8550bc324b8d25db639767551b69f4a4f differ diff --git a/fuzz/corpora/cmp/a2855dcbb2e4b8c97bbff10ccc88311c1a75be9b b/fuzz/corpora/cmp/a2855dcbb2e4b8c97bbff10ccc88311c1a75be9b new file mode 100644 index 00000000..04e2a266 Binary files /dev/null and b/fuzz/corpora/cmp/a2855dcbb2e4b8c97bbff10ccc88311c1a75be9b differ diff --git a/fuzz/corpora/cmp/a29611dd6b54c25713db9ba33b0817573313ddb2 b/fuzz/corpora/cmp/a29611dd6b54c25713db9ba33b0817573313ddb2 new file mode 100644 index 00000000..8d3cd81a Binary files /dev/null and b/fuzz/corpora/cmp/a29611dd6b54c25713db9ba33b0817573313ddb2 differ diff --git a/fuzz/corpora/cmp/a2a015a8951e7a0dfbb5d9d78d82e0339746bf9e b/fuzz/corpora/cmp/a2a015a8951e7a0dfbb5d9d78d82e0339746bf9e new file mode 100644 index 00000000..9e5ea2d3 Binary files /dev/null and b/fuzz/corpora/cmp/a2a015a8951e7a0dfbb5d9d78d82e0339746bf9e differ diff --git a/fuzz/corpora/cmp/a2a84bb03399d0102dc2682ca19c24cc67ea100c b/fuzz/corpora/cmp/a2a84bb03399d0102dc2682ca19c24cc67ea100c new file mode 100644 index 00000000..e30f2f45 Binary files /dev/null and b/fuzz/corpora/cmp/a2a84bb03399d0102dc2682ca19c24cc67ea100c differ diff --git a/fuzz/corpora/cmp/a2b005760020a32735d2b810cb7b0fd282a5967a b/fuzz/corpora/cmp/a2b005760020a32735d2b810cb7b0fd282a5967a new file mode 100644 index 00000000..5f71410a Binary files /dev/null and b/fuzz/corpora/cmp/a2b005760020a32735d2b810cb7b0fd282a5967a differ diff --git a/fuzz/corpora/cmp/a2ca07c85d789ad4ce25abf2626b4a68d3dd6ebf b/fuzz/corpora/cmp/a2ca07c85d789ad4ce25abf2626b4a68d3dd6ebf new file mode 100644 index 00000000..d844423b Binary files /dev/null and b/fuzz/corpora/cmp/a2ca07c85d789ad4ce25abf2626b4a68d3dd6ebf differ diff --git a/fuzz/corpora/cmp/a2cbf4037ca8538076157f08e78d8d8755f4e7b5 b/fuzz/corpora/cmp/a2cbf4037ca8538076157f08e78d8d8755f4e7b5 new file mode 100644 index 00000000..73104356 Binary files /dev/null and b/fuzz/corpora/cmp/a2cbf4037ca8538076157f08e78d8d8755f4e7b5 differ diff --git a/fuzz/corpora/cmp/a2ddcec755fbc4bb04883253e2ada97a3c560b83 b/fuzz/corpora/cmp/a2ddcec755fbc4bb04883253e2ada97a3c560b83 new file mode 100644 index 00000000..79db2bac Binary files /dev/null and b/fuzz/corpora/cmp/a2ddcec755fbc4bb04883253e2ada97a3c560b83 differ diff --git a/fuzz/corpora/cmp/a2e20f38645a2f3112cb358aaaf591fbc4a9e8e8 b/fuzz/corpora/cmp/a2e20f38645a2f3112cb358aaaf591fbc4a9e8e8 new file mode 100644 index 00000000..efc91f53 Binary files /dev/null and b/fuzz/corpora/cmp/a2e20f38645a2f3112cb358aaaf591fbc4a9e8e8 differ diff --git a/fuzz/corpora/cmp/a2e997e86a40ca63d75f98fafe64ddd802203b7a b/fuzz/corpora/cmp/a2e997e86a40ca63d75f98fafe64ddd802203b7a new file mode 100644 index 00000000..5dc8d875 Binary files /dev/null and b/fuzz/corpora/cmp/a2e997e86a40ca63d75f98fafe64ddd802203b7a differ diff --git a/fuzz/corpora/cmp/a305a2fe38304782ea06a9044e10c3750c59bcc6 b/fuzz/corpora/cmp/a305a2fe38304782ea06a9044e10c3750c59bcc6 new file mode 100644 index 00000000..d8a252df Binary files /dev/null and b/fuzz/corpora/cmp/a305a2fe38304782ea06a9044e10c3750c59bcc6 differ diff --git a/fuzz/corpora/cmp/a3216c3e9d64e4a62eac806643fa306e9bddc6f3 b/fuzz/corpora/cmp/a3216c3e9d64e4a62eac806643fa306e9bddc6f3 new file mode 100644 index 00000000..722afabe Binary files /dev/null and b/fuzz/corpora/cmp/a3216c3e9d64e4a62eac806643fa306e9bddc6f3 differ diff --git a/fuzz/corpora/cmp/a33865d88da3e2aca3863ff345c442e5d19c4c39 b/fuzz/corpora/cmp/a33865d88da3e2aca3863ff345c442e5d19c4c39 new file mode 100644 index 00000000..344d66a5 Binary files /dev/null and b/fuzz/corpora/cmp/a33865d88da3e2aca3863ff345c442e5d19c4c39 differ diff --git a/fuzz/corpora/cmp/a33d1a35f3267dbb71b3ca5c93d53930f2823c20 b/fuzz/corpora/cmp/a33d1a35f3267dbb71b3ca5c93d53930f2823c20 new file mode 100644 index 00000000..e8a48dd0 Binary files /dev/null and b/fuzz/corpora/cmp/a33d1a35f3267dbb71b3ca5c93d53930f2823c20 differ diff --git a/fuzz/corpora/cmp/a3565d98af612e3fae872499722c16235bb9b6bb b/fuzz/corpora/cmp/a3565d98af612e3fae872499722c16235bb9b6bb new file mode 100644 index 00000000..24f6c1d2 Binary files /dev/null and b/fuzz/corpora/cmp/a3565d98af612e3fae872499722c16235bb9b6bb differ diff --git a/fuzz/corpora/cmp/a35a98282f218319b42f8936c8d9b731a2cc4814 b/fuzz/corpora/cmp/a35a98282f218319b42f8936c8d9b731a2cc4814 new file mode 100644 index 00000000..13267ccd Binary files /dev/null and b/fuzz/corpora/cmp/a35a98282f218319b42f8936c8d9b731a2cc4814 differ diff --git a/fuzz/corpora/cmp/a35cd507fa54f2a18c363994b4d69ab1fd1ca63e b/fuzz/corpora/cmp/a35cd507fa54f2a18c363994b4d69ab1fd1ca63e new file mode 100644 index 00000000..995ab57f Binary files /dev/null and b/fuzz/corpora/cmp/a35cd507fa54f2a18c363994b4d69ab1fd1ca63e differ diff --git a/fuzz/corpora/cmp/a3608f2ec66705ef82bdbd136fff673ecbd2bf6d b/fuzz/corpora/cmp/a3608f2ec66705ef82bdbd136fff673ecbd2bf6d new file mode 100644 index 00000000..f7cd44fc Binary files /dev/null and b/fuzz/corpora/cmp/a3608f2ec66705ef82bdbd136fff673ecbd2bf6d differ diff --git a/fuzz/corpora/cmp/a362005b8740a99b22e0a257922dff415f437b19 b/fuzz/corpora/cmp/a362005b8740a99b22e0a257922dff415f437b19 new file mode 100644 index 00000000..45b8c41e Binary files /dev/null and b/fuzz/corpora/cmp/a362005b8740a99b22e0a257922dff415f437b19 differ diff --git a/fuzz/corpora/cmp/a37db707685a2271ce44d14491d043c6b02beb70 b/fuzz/corpora/cmp/a37db707685a2271ce44d14491d043c6b02beb70 new file mode 100644 index 00000000..c8c08d05 Binary files /dev/null and b/fuzz/corpora/cmp/a37db707685a2271ce44d14491d043c6b02beb70 differ diff --git a/fuzz/corpora/cmp/a37ead408b9d440c349dc6aa9c46003548364bc1 b/fuzz/corpora/cmp/a37ead408b9d440c349dc6aa9c46003548364bc1 new file mode 100644 index 00000000..9e68425a Binary files /dev/null and b/fuzz/corpora/cmp/a37ead408b9d440c349dc6aa9c46003548364bc1 differ diff --git a/fuzz/corpora/cmp/a3814b799a5c2865e23b93341e20f939be496c48 b/fuzz/corpora/cmp/a3814b799a5c2865e23b93341e20f939be496c48 new file mode 100644 index 00000000..66b80143 Binary files /dev/null and b/fuzz/corpora/cmp/a3814b799a5c2865e23b93341e20f939be496c48 differ diff --git a/fuzz/corpora/cmp/a385746dde48204795ae299d4a702132e126aadd b/fuzz/corpora/cmp/a385746dde48204795ae299d4a702132e126aadd new file mode 100644 index 00000000..91d7d529 Binary files /dev/null and b/fuzz/corpora/cmp/a385746dde48204795ae299d4a702132e126aadd differ diff --git a/fuzz/corpora/cmp/a3b6d9b273873e925a73fdc753825f33eacf54aa b/fuzz/corpora/cmp/a3b6d9b273873e925a73fdc753825f33eacf54aa new file mode 100644 index 00000000..16576166 Binary files /dev/null and b/fuzz/corpora/cmp/a3b6d9b273873e925a73fdc753825f33eacf54aa differ diff --git a/fuzz/corpora/cmp/a3c178bd743e5067622913b4c95c3b301275031c b/fuzz/corpora/cmp/a3c178bd743e5067622913b4c95c3b301275031c new file mode 100644 index 00000000..0d75bbaf Binary files /dev/null and b/fuzz/corpora/cmp/a3c178bd743e5067622913b4c95c3b301275031c differ diff --git a/fuzz/corpora/cmp/a3e5b6bf7dcc0c058fb2add09e335fda9c2f3749 b/fuzz/corpora/cmp/a3e5b6bf7dcc0c058fb2add09e335fda9c2f3749 new file mode 100644 index 00000000..e5fadaaa Binary files /dev/null and b/fuzz/corpora/cmp/a3e5b6bf7dcc0c058fb2add09e335fda9c2f3749 differ diff --git a/fuzz/corpora/cmp/a3e6c588bfc46344511e11e58b518e96513ed0bd b/fuzz/corpora/cmp/a3e6c588bfc46344511e11e58b518e96513ed0bd new file mode 100644 index 00000000..c1a98f49 Binary files /dev/null and b/fuzz/corpora/cmp/a3e6c588bfc46344511e11e58b518e96513ed0bd differ diff --git a/fuzz/corpora/cmp/a3ff259a0a63be8dc1bff1460ddc59cb2d5ab06b b/fuzz/corpora/cmp/a3ff259a0a63be8dc1bff1460ddc59cb2d5ab06b new file mode 100644 index 00000000..bc31c4e0 Binary files /dev/null and b/fuzz/corpora/cmp/a3ff259a0a63be8dc1bff1460ddc59cb2d5ab06b differ diff --git a/fuzz/corpora/cmp/a405b64af95bd8a3bf43e3373c70c4363dc6b208 b/fuzz/corpora/cmp/a405b64af95bd8a3bf43e3373c70c4363dc6b208 new file mode 100644 index 00000000..86e027ad Binary files /dev/null and b/fuzz/corpora/cmp/a405b64af95bd8a3bf43e3373c70c4363dc6b208 differ diff --git a/fuzz/corpora/cmp/a4105416e98a134c012e71d532e82204832b70f1 b/fuzz/corpora/cmp/a4105416e98a134c012e71d532e82204832b70f1 new file mode 100644 index 00000000..f0e1b986 Binary files /dev/null and b/fuzz/corpora/cmp/a4105416e98a134c012e71d532e82204832b70f1 differ diff --git a/fuzz/corpora/cmp/a4163f5b219b14643b70451c2158f63358833de6 b/fuzz/corpora/cmp/a4163f5b219b14643b70451c2158f63358833de6 new file mode 100644 index 00000000..a5970c0c Binary files /dev/null and b/fuzz/corpora/cmp/a4163f5b219b14643b70451c2158f63358833de6 differ diff --git a/fuzz/corpora/cmp/a419bccafc0b84c6f46f452614d7ed3d8857a8a8 b/fuzz/corpora/cmp/a419bccafc0b84c6f46f452614d7ed3d8857a8a8 new file mode 100644 index 00000000..4c28e753 Binary files /dev/null and b/fuzz/corpora/cmp/a419bccafc0b84c6f46f452614d7ed3d8857a8a8 differ diff --git a/fuzz/corpora/cmp/a41bfa3a654a5ff97a4f3c5d9a3b5278c565920d b/fuzz/corpora/cmp/a41bfa3a654a5ff97a4f3c5d9a3b5278c565920d new file mode 100644 index 00000000..9674cde2 Binary files /dev/null and b/fuzz/corpora/cmp/a41bfa3a654a5ff97a4f3c5d9a3b5278c565920d differ diff --git a/fuzz/corpora/cmp/a42bb5b92441b3639db836ff8cc0fe4bb8d6c5b6 b/fuzz/corpora/cmp/a42bb5b92441b3639db836ff8cc0fe4bb8d6c5b6 new file mode 100644 index 00000000..681d98f2 Binary files /dev/null and b/fuzz/corpora/cmp/a42bb5b92441b3639db836ff8cc0fe4bb8d6c5b6 differ diff --git a/fuzz/corpora/cmp/a43453ccf74112192e5cd437dd8860a63e143798 b/fuzz/corpora/cmp/a43453ccf74112192e5cd437dd8860a63e143798 new file mode 100644 index 00000000..aa795dac Binary files /dev/null and b/fuzz/corpora/cmp/a43453ccf74112192e5cd437dd8860a63e143798 differ diff --git a/fuzz/corpora/cmp/a4523556028a1b2f05ef47474b33fd787b087421 b/fuzz/corpora/cmp/a4523556028a1b2f05ef47474b33fd787b087421 new file mode 100644 index 00000000..86ad69c8 Binary files /dev/null and b/fuzz/corpora/cmp/a4523556028a1b2f05ef47474b33fd787b087421 differ diff --git a/fuzz/corpora/cmp/a456b2c27cb8a0db84859dc00d070df214f145a0 b/fuzz/corpora/cmp/a456b2c27cb8a0db84859dc00d070df214f145a0 new file mode 100644 index 00000000..f345e8c0 Binary files /dev/null and b/fuzz/corpora/cmp/a456b2c27cb8a0db84859dc00d070df214f145a0 differ diff --git a/fuzz/corpora/cmp/a4668213647f70e8aed7104895a9bd2f5c81ca5f b/fuzz/corpora/cmp/a4668213647f70e8aed7104895a9bd2f5c81ca5f new file mode 100644 index 00000000..e365b3e3 Binary files /dev/null and b/fuzz/corpora/cmp/a4668213647f70e8aed7104895a9bd2f5c81ca5f differ diff --git a/fuzz/corpora/cmp/a468b8885f56866ef6c3c2ed585507107a722b11 b/fuzz/corpora/cmp/a468b8885f56866ef6c3c2ed585507107a722b11 new file mode 100644 index 00000000..dd65f1e1 Binary files /dev/null and b/fuzz/corpora/cmp/a468b8885f56866ef6c3c2ed585507107a722b11 differ diff --git a/fuzz/corpora/cmp/a46d250c81a2f6a547a4860e447d916861488737 b/fuzz/corpora/cmp/a46d250c81a2f6a547a4860e447d916861488737 new file mode 100644 index 00000000..5ced17e7 Binary files /dev/null and b/fuzz/corpora/cmp/a46d250c81a2f6a547a4860e447d916861488737 differ diff --git a/fuzz/corpora/cmp/a47110a2a952b5638453caa78de1b3e67f79fe4e b/fuzz/corpora/cmp/a47110a2a952b5638453caa78de1b3e67f79fe4e new file mode 100644 index 00000000..ac7b954a Binary files /dev/null and b/fuzz/corpora/cmp/a47110a2a952b5638453caa78de1b3e67f79fe4e differ diff --git a/fuzz/corpora/cmp/a48813faea30f6ea4b97cda93a0749a6cb45ee42 b/fuzz/corpora/cmp/a48813faea30f6ea4b97cda93a0749a6cb45ee42 new file mode 100644 index 00000000..3d4b2387 Binary files /dev/null and b/fuzz/corpora/cmp/a48813faea30f6ea4b97cda93a0749a6cb45ee42 differ diff --git a/fuzz/corpora/cmp/a49213cceb2c5ac466173674afba77bd697a4fcf b/fuzz/corpora/cmp/a49213cceb2c5ac466173674afba77bd697a4fcf new file mode 100644 index 00000000..b38cadbf --- /dev/null +++ b/fuzz/corpora/cmp/a49213cceb2c5ac466173674afba77bd697a4fcf @@ -0,0 +1 @@ +0€0·- \ No newline at end of file diff --git a/fuzz/corpora/cmp/a4988a1bf1e65d4b9df61c606e8a88a8dea4f275 b/fuzz/corpora/cmp/a4988a1bf1e65d4b9df61c606e8a88a8dea4f275 new file mode 100644 index 00000000..285a8d03 Binary files /dev/null and b/fuzz/corpora/cmp/a4988a1bf1e65d4b9df61c606e8a88a8dea4f275 differ diff --git a/fuzz/corpora/cmp/a49e063d3ee7659d7236c36a12d9950f708175c1 b/fuzz/corpora/cmp/a49e063d3ee7659d7236c36a12d9950f708175c1 new file mode 100644 index 00000000..ccd31713 Binary files /dev/null and b/fuzz/corpora/cmp/a49e063d3ee7659d7236c36a12d9950f708175c1 differ diff --git a/fuzz/corpora/cmp/a4b96d17dcfe5b8874195c233455f35ba862bba8 b/fuzz/corpora/cmp/a4b96d17dcfe5b8874195c233455f35ba862bba8 new file mode 100644 index 00000000..f055df16 Binary files /dev/null and b/fuzz/corpora/cmp/a4b96d17dcfe5b8874195c233455f35ba862bba8 differ diff --git a/fuzz/corpora/cmp/a4c9c29b9c7cd5e44bf209d0044098fd218bf64f b/fuzz/corpora/cmp/a4c9c29b9c7cd5e44bf209d0044098fd218bf64f new file mode 100644 index 00000000..46124ae3 Binary files /dev/null and b/fuzz/corpora/cmp/a4c9c29b9c7cd5e44bf209d0044098fd218bf64f differ diff --git a/fuzz/corpora/cmp/a4cdb207268e134ad9779b56457599b52015341d b/fuzz/corpora/cmp/a4cdb207268e134ad9779b56457599b52015341d new file mode 100644 index 00000000..bb100912 Binary files /dev/null and b/fuzz/corpora/cmp/a4cdb207268e134ad9779b56457599b52015341d differ diff --git a/fuzz/corpora/cmp/a4d6bfaf5cf041255dfe0c51e4e39fb4ddf73563 b/fuzz/corpora/cmp/a4d6bfaf5cf041255dfe0c51e4e39fb4ddf73563 new file mode 100644 index 00000000..9b157387 Binary files /dev/null and b/fuzz/corpora/cmp/a4d6bfaf5cf041255dfe0c51e4e39fb4ddf73563 differ diff --git a/fuzz/corpora/cmp/a4dba1474aa745fc6756e87c572bd91290a65453 b/fuzz/corpora/cmp/a4dba1474aa745fc6756e87c572bd91290a65453 new file mode 100644 index 00000000..4572ab6a Binary files /dev/null and b/fuzz/corpora/cmp/a4dba1474aa745fc6756e87c572bd91290a65453 differ diff --git a/fuzz/corpora/cmp/a4e6dc7aa63157b639bbe14d2d9c42a0846c2287 b/fuzz/corpora/cmp/a4e6dc7aa63157b639bbe14d2d9c42a0846c2287 new file mode 100644 index 00000000..c0625e16 Binary files /dev/null and b/fuzz/corpora/cmp/a4e6dc7aa63157b639bbe14d2d9c42a0846c2287 differ diff --git a/fuzz/corpora/cmp/a4f52a168187139c48aff0c44e76c70867427143 b/fuzz/corpora/cmp/a4f52a168187139c48aff0c44e76c70867427143 new file mode 100644 index 00000000..89e13ccf Binary files /dev/null and b/fuzz/corpora/cmp/a4f52a168187139c48aff0c44e76c70867427143 differ diff --git a/fuzz/corpora/cmp/a4f62d521e33d5736341ef80eb03aea732ab1697 b/fuzz/corpora/cmp/a4f62d521e33d5736341ef80eb03aea732ab1697 new file mode 100644 index 00000000..85b5dcd0 Binary files /dev/null and b/fuzz/corpora/cmp/a4f62d521e33d5736341ef80eb03aea732ab1697 differ diff --git a/fuzz/corpora/cmp/a50dd9ba8bea6e73d57e82c8e9bd4834322b55b0 b/fuzz/corpora/cmp/a50dd9ba8bea6e73d57e82c8e9bd4834322b55b0 new file mode 100644 index 00000000..45af50c6 Binary files /dev/null and b/fuzz/corpora/cmp/a50dd9ba8bea6e73d57e82c8e9bd4834322b55b0 differ diff --git a/fuzz/corpora/cmp/a5104883e9aa9c62e29291cc7073d8f89c3ee798 b/fuzz/corpora/cmp/a5104883e9aa9c62e29291cc7073d8f89c3ee798 new file mode 100644 index 00000000..16b59f39 Binary files /dev/null and b/fuzz/corpora/cmp/a5104883e9aa9c62e29291cc7073d8f89c3ee798 differ diff --git a/fuzz/corpora/cmp/a516b739e626af7352e34648498880eb4bb30e6c b/fuzz/corpora/cmp/a516b739e626af7352e34648498880eb4bb30e6c new file mode 100644 index 00000000..69ef0096 Binary files /dev/null and b/fuzz/corpora/cmp/a516b739e626af7352e34648498880eb4bb30e6c differ diff --git a/fuzz/corpora/cmp/a527d7ccfddf9fb984a928cea80dc7683b01f2b5 b/fuzz/corpora/cmp/a527d7ccfddf9fb984a928cea80dc7683b01f2b5 new file mode 100644 index 00000000..bd176354 Binary files /dev/null and b/fuzz/corpora/cmp/a527d7ccfddf9fb984a928cea80dc7683b01f2b5 differ diff --git a/fuzz/corpora/cmp/a527df2cd86e1beaac5bd7de3974c5e8a23f2c6b b/fuzz/corpora/cmp/a527df2cd86e1beaac5bd7de3974c5e8a23f2c6b new file mode 100644 index 00000000..e2da1dc1 Binary files /dev/null and b/fuzz/corpora/cmp/a527df2cd86e1beaac5bd7de3974c5e8a23f2c6b differ diff --git a/fuzz/corpora/cmp/a53529d6df4668fdf00a1bcd2dcd802c50d68e13 b/fuzz/corpora/cmp/a53529d6df4668fdf00a1bcd2dcd802c50d68e13 new file mode 100644 index 00000000..5073d14e Binary files /dev/null and b/fuzz/corpora/cmp/a53529d6df4668fdf00a1bcd2dcd802c50d68e13 differ diff --git a/fuzz/corpora/cmp/a558332d6ee51b41bdc92c8fb02eb84415d59dda b/fuzz/corpora/cmp/a558332d6ee51b41bdc92c8fb02eb84415d59dda new file mode 100644 index 00000000..014cbfda Binary files /dev/null and b/fuzz/corpora/cmp/a558332d6ee51b41bdc92c8fb02eb84415d59dda differ diff --git a/fuzz/corpora/cmp/a55df4433740c3fead35d4ff09650a9bb9d71ad4 b/fuzz/corpora/cmp/a55df4433740c3fead35d4ff09650a9bb9d71ad4 new file mode 100644 index 00000000..0b4dbc21 Binary files /dev/null and b/fuzz/corpora/cmp/a55df4433740c3fead35d4ff09650a9bb9d71ad4 differ diff --git a/fuzz/corpora/cmp/a56186a162842218cb3d839ce28af5208d4ea79c b/fuzz/corpora/cmp/a56186a162842218cb3d839ce28af5208d4ea79c new file mode 100644 index 00000000..b3570a05 Binary files /dev/null and b/fuzz/corpora/cmp/a56186a162842218cb3d839ce28af5208d4ea79c differ diff --git a/fuzz/corpora/cmp/a56bcce11dfa1dafcf5605169e2fa36dc6b203bc b/fuzz/corpora/cmp/a56bcce11dfa1dafcf5605169e2fa36dc6b203bc new file mode 100644 index 00000000..4f49558b Binary files /dev/null and b/fuzz/corpora/cmp/a56bcce11dfa1dafcf5605169e2fa36dc6b203bc differ diff --git a/fuzz/corpora/cmp/a571b3154eaffa196ff5d20de9c620c0b7f0fc8e b/fuzz/corpora/cmp/a571b3154eaffa196ff5d20de9c620c0b7f0fc8e new file mode 100644 index 00000000..7a835422 Binary files /dev/null and b/fuzz/corpora/cmp/a571b3154eaffa196ff5d20de9c620c0b7f0fc8e differ diff --git a/fuzz/corpora/cmp/a5769477102dc4d83177b7e8ce4026aa3559e9de b/fuzz/corpora/cmp/a5769477102dc4d83177b7e8ce4026aa3559e9de new file mode 100644 index 00000000..034af12b Binary files /dev/null and b/fuzz/corpora/cmp/a5769477102dc4d83177b7e8ce4026aa3559e9de differ diff --git a/fuzz/corpora/cmp/a590e3e0ff49dada087e901271a1b9ab0b105bf0 b/fuzz/corpora/cmp/a590e3e0ff49dada087e901271a1b9ab0b105bf0 new file mode 100644 index 00000000..7448e182 Binary files /dev/null and b/fuzz/corpora/cmp/a590e3e0ff49dada087e901271a1b9ab0b105bf0 differ diff --git a/fuzz/corpora/cmp/a5a5763289aa081aa778078c853701e9dcc26a35 b/fuzz/corpora/cmp/a5a5763289aa081aa778078c853701e9dcc26a35 new file mode 100644 index 00000000..413eb246 Binary files /dev/null and b/fuzz/corpora/cmp/a5a5763289aa081aa778078c853701e9dcc26a35 differ diff --git a/fuzz/corpora/cmp/a5aa47ab3b232446305992cb605fe92a9948684f b/fuzz/corpora/cmp/a5aa47ab3b232446305992cb605fe92a9948684f new file mode 100644 index 00000000..dd9776f6 Binary files /dev/null and b/fuzz/corpora/cmp/a5aa47ab3b232446305992cb605fe92a9948684f differ diff --git a/fuzz/corpora/cmp/a5b02e836b031824efca6fc71e47f0469410317c b/fuzz/corpora/cmp/a5b02e836b031824efca6fc71e47f0469410317c new file mode 100644 index 00000000..d862ee70 Binary files /dev/null and b/fuzz/corpora/cmp/a5b02e836b031824efca6fc71e47f0469410317c differ diff --git a/fuzz/corpora/cmp/a5be5c066e3fbf972db4d6259cf7d3d1dff34632 b/fuzz/corpora/cmp/a5be5c066e3fbf972db4d6259cf7d3d1dff34632 new file mode 100644 index 00000000..67a11781 Binary files /dev/null and b/fuzz/corpora/cmp/a5be5c066e3fbf972db4d6259cf7d3d1dff34632 differ diff --git a/fuzz/corpora/cmp/a5e7066e7c3836ecd0c0ae502ce5bc364b2de645 b/fuzz/corpora/cmp/a5e7066e7c3836ecd0c0ae502ce5bc364b2de645 new file mode 100644 index 00000000..ba73981f Binary files /dev/null and b/fuzz/corpora/cmp/a5e7066e7c3836ecd0c0ae502ce5bc364b2de645 differ diff --git a/fuzz/corpora/cmp/a5f375dcf211078b9f2426e745cb3f7c49f66830 b/fuzz/corpora/cmp/a5f375dcf211078b9f2426e745cb3f7c49f66830 new file mode 100644 index 00000000..576305a3 Binary files /dev/null and b/fuzz/corpora/cmp/a5f375dcf211078b9f2426e745cb3f7c49f66830 differ diff --git a/fuzz/corpora/cmp/a5fea702793c5e4276f0bbff1550d2c77f6d7883 b/fuzz/corpora/cmp/a5fea702793c5e4276f0bbff1550d2c77f6d7883 new file mode 100644 index 00000000..3d6a1e7e Binary files /dev/null and b/fuzz/corpora/cmp/a5fea702793c5e4276f0bbff1550d2c77f6d7883 differ diff --git a/fuzz/corpora/cmp/a5ffb388933a34fae4076db06037312a6764d3d4 b/fuzz/corpora/cmp/a5ffb388933a34fae4076db06037312a6764d3d4 new file mode 100644 index 00000000..f79a8807 Binary files /dev/null and b/fuzz/corpora/cmp/a5ffb388933a34fae4076db06037312a6764d3d4 differ diff --git a/fuzz/corpora/cmp/a613df040aed5beb5f0ee381ab78a818a0e47e4a b/fuzz/corpora/cmp/a613df040aed5beb5f0ee381ab78a818a0e47e4a new file mode 100644 index 00000000..d03a3507 Binary files /dev/null and b/fuzz/corpora/cmp/a613df040aed5beb5f0ee381ab78a818a0e47e4a differ diff --git a/fuzz/corpora/cmp/a62662de9def2840c3e473fed76fed56ac798d86 b/fuzz/corpora/cmp/a62662de9def2840c3e473fed76fed56ac798d86 new file mode 100644 index 00000000..21bc4de0 Binary files /dev/null and b/fuzz/corpora/cmp/a62662de9def2840c3e473fed76fed56ac798d86 differ diff --git a/fuzz/corpora/cmp/a63588ee092a5c1c39f349535019d5657c776527 b/fuzz/corpora/cmp/a63588ee092a5c1c39f349535019d5657c776527 new file mode 100644 index 00000000..c1345e38 Binary files /dev/null and b/fuzz/corpora/cmp/a63588ee092a5c1c39f349535019d5657c776527 differ diff --git a/fuzz/corpora/cmp/a643011f94c2a3be5b31e9f02ec4da832599d391 b/fuzz/corpora/cmp/a643011f94c2a3be5b31e9f02ec4da832599d391 new file mode 100644 index 00000000..0581c076 Binary files /dev/null and b/fuzz/corpora/cmp/a643011f94c2a3be5b31e9f02ec4da832599d391 differ diff --git a/fuzz/corpora/cmp/a648b4ada436228e972655185e7514df9b294d54 b/fuzz/corpora/cmp/a648b4ada436228e972655185e7514df9b294d54 new file mode 100644 index 00000000..cd97043d Binary files /dev/null and b/fuzz/corpora/cmp/a648b4ada436228e972655185e7514df9b294d54 differ diff --git a/fuzz/corpora/cmp/a64b2f7188d61affa8469bfde455e25b629627da b/fuzz/corpora/cmp/a64b2f7188d61affa8469bfde455e25b629627da new file mode 100644 index 00000000..6dfc766c Binary files /dev/null and b/fuzz/corpora/cmp/a64b2f7188d61affa8469bfde455e25b629627da differ diff --git a/fuzz/corpora/cmp/a65327f6c5794e7922468593069a807b631b6a64 b/fuzz/corpora/cmp/a65327f6c5794e7922468593069a807b631b6a64 new file mode 100644 index 00000000..d82be4cb Binary files /dev/null and b/fuzz/corpora/cmp/a65327f6c5794e7922468593069a807b631b6a64 differ diff --git a/fuzz/corpora/cmp/a6637d267f8778c4fc918ce00d447b1f786125ce b/fuzz/corpora/cmp/a6637d267f8778c4fc918ce00d447b1f786125ce new file mode 100644 index 00000000..f9d13e43 Binary files /dev/null and b/fuzz/corpora/cmp/a6637d267f8778c4fc918ce00d447b1f786125ce differ diff --git a/fuzz/corpora/cmp/a66ad619671e6738af8a39eb60e29495c9e06b29 b/fuzz/corpora/cmp/a66ad619671e6738af8a39eb60e29495c9e06b29 new file mode 100644 index 00000000..7e4f0044 Binary files /dev/null and b/fuzz/corpora/cmp/a66ad619671e6738af8a39eb60e29495c9e06b29 differ diff --git a/fuzz/corpora/cmp/a6883eaecc07c8ff6218b324b00f24d9ffcdd2ff b/fuzz/corpora/cmp/a6883eaecc07c8ff6218b324b00f24d9ffcdd2ff new file mode 100644 index 00000000..a209e3bd Binary files /dev/null and b/fuzz/corpora/cmp/a6883eaecc07c8ff6218b324b00f24d9ffcdd2ff differ diff --git a/fuzz/corpora/cmp/a68bfc20b299711516ca3a6c25ccc5553ef025eb b/fuzz/corpora/cmp/a68bfc20b299711516ca3a6c25ccc5553ef025eb new file mode 100644 index 00000000..7fc3d844 Binary files /dev/null and b/fuzz/corpora/cmp/a68bfc20b299711516ca3a6c25ccc5553ef025eb differ diff --git a/fuzz/corpora/cmp/a68fe1a0263683104a3a6e87d19c27372495ab3b b/fuzz/corpora/cmp/a68fe1a0263683104a3a6e87d19c27372495ab3b new file mode 100644 index 00000000..15f175e7 Binary files /dev/null and b/fuzz/corpora/cmp/a68fe1a0263683104a3a6e87d19c27372495ab3b differ diff --git a/fuzz/corpora/cmp/a6a935c498c7e79ae3a4ac817a37c397d5fde4b3 b/fuzz/corpora/cmp/a6a935c498c7e79ae3a4ac817a37c397d5fde4b3 new file mode 100644 index 00000000..5b4b37ee Binary files /dev/null and b/fuzz/corpora/cmp/a6a935c498c7e79ae3a4ac817a37c397d5fde4b3 differ diff --git a/fuzz/corpora/cmp/a6bbf8c7ba13c02419abc9c4a0be917e904a8084 b/fuzz/corpora/cmp/a6bbf8c7ba13c02419abc9c4a0be917e904a8084 new file mode 100644 index 00000000..22a9a554 Binary files /dev/null and b/fuzz/corpora/cmp/a6bbf8c7ba13c02419abc9c4a0be917e904a8084 differ diff --git a/fuzz/corpora/cmp/a6c08e639bc8d2183bc1b24bb33f6cc79bccffc5 b/fuzz/corpora/cmp/a6c08e639bc8d2183bc1b24bb33f6cc79bccffc5 new file mode 100644 index 00000000..c7ba8c44 Binary files /dev/null and b/fuzz/corpora/cmp/a6c08e639bc8d2183bc1b24bb33f6cc79bccffc5 differ diff --git a/fuzz/corpora/cmp/a6c450ca8851389778d926fcf8559db9a213705d b/fuzz/corpora/cmp/a6c450ca8851389778d926fcf8559db9a213705d new file mode 100644 index 00000000..aa50ba6b Binary files /dev/null and b/fuzz/corpora/cmp/a6c450ca8851389778d926fcf8559db9a213705d differ diff --git a/fuzz/corpora/cmp/a6c74cb1a4dc73e9ab5791f99401aad588400503 b/fuzz/corpora/cmp/a6c74cb1a4dc73e9ab5791f99401aad588400503 new file mode 100644 index 00000000..87f70a54 Binary files /dev/null and b/fuzz/corpora/cmp/a6c74cb1a4dc73e9ab5791f99401aad588400503 differ diff --git a/fuzz/corpora/cmp/a6cfa5b435d87abbe2cb57fd219601c95609ab62 b/fuzz/corpora/cmp/a6cfa5b435d87abbe2cb57fd219601c95609ab62 new file mode 100644 index 00000000..4c137440 Binary files /dev/null and b/fuzz/corpora/cmp/a6cfa5b435d87abbe2cb57fd219601c95609ab62 differ diff --git a/fuzz/corpora/cmp/a6e103d2d0a5ab3635952e73236957f82aad2c25 b/fuzz/corpora/cmp/a6e103d2d0a5ab3635952e73236957f82aad2c25 new file mode 100644 index 00000000..0f391af0 Binary files /dev/null and b/fuzz/corpora/cmp/a6e103d2d0a5ab3635952e73236957f82aad2c25 differ diff --git a/fuzz/corpora/cmp/a6e2e04a674d6bd4702f255c42c9be1f8419efb7 b/fuzz/corpora/cmp/a6e2e04a674d6bd4702f255c42c9be1f8419efb7 new file mode 100644 index 00000000..401518bf Binary files /dev/null and b/fuzz/corpora/cmp/a6e2e04a674d6bd4702f255c42c9be1f8419efb7 differ diff --git a/fuzz/corpora/cmp/a6eaf30b9edf982638d00e85f4bea9c60d6ea9a9 b/fuzz/corpora/cmp/a6eaf30b9edf982638d00e85f4bea9c60d6ea9a9 new file mode 100644 index 00000000..8db83ed3 Binary files /dev/null and b/fuzz/corpora/cmp/a6eaf30b9edf982638d00e85f4bea9c60d6ea9a9 differ diff --git a/fuzz/corpora/cmp/a6f63f5ddbecc3898409cffa7447d0bbacdf1459 b/fuzz/corpora/cmp/a6f63f5ddbecc3898409cffa7447d0bbacdf1459 new file mode 100644 index 00000000..5a401c1c Binary files /dev/null and b/fuzz/corpora/cmp/a6f63f5ddbecc3898409cffa7447d0bbacdf1459 differ diff --git a/fuzz/corpora/cmp/a6f79ebae66604cfe46d4ea323a92c9678660bd1 b/fuzz/corpora/cmp/a6f79ebae66604cfe46d4ea323a92c9678660bd1 new file mode 100644 index 00000000..e6d88546 Binary files /dev/null and b/fuzz/corpora/cmp/a6f79ebae66604cfe46d4ea323a92c9678660bd1 differ diff --git a/fuzz/corpora/cmp/a6f81813fe5bb412cfa1501ac2c66fcffc496547 b/fuzz/corpora/cmp/a6f81813fe5bb412cfa1501ac2c66fcffc496547 new file mode 100644 index 00000000..74fddd8e Binary files /dev/null and b/fuzz/corpora/cmp/a6f81813fe5bb412cfa1501ac2c66fcffc496547 differ diff --git a/fuzz/corpora/cmp/a7002309eaa050cbfab3b0f4b2b87225cada880d b/fuzz/corpora/cmp/a7002309eaa050cbfab3b0f4b2b87225cada880d new file mode 100644 index 00000000..5f05db64 Binary files /dev/null and b/fuzz/corpora/cmp/a7002309eaa050cbfab3b0f4b2b87225cada880d differ diff --git a/fuzz/corpora/cmp/a708d4bc19135f6db9b3cf888c17087274ae18ee b/fuzz/corpora/cmp/a708d4bc19135f6db9b3cf888c17087274ae18ee new file mode 100644 index 00000000..c568105b Binary files /dev/null and b/fuzz/corpora/cmp/a708d4bc19135f6db9b3cf888c17087274ae18ee differ diff --git a/fuzz/corpora/cmp/a7090638b5dd406fe0ed0cad3c7f0053755f23a5 b/fuzz/corpora/cmp/a7090638b5dd406fe0ed0cad3c7f0053755f23a5 new file mode 100644 index 00000000..d80a8e04 Binary files /dev/null and b/fuzz/corpora/cmp/a7090638b5dd406fe0ed0cad3c7f0053755f23a5 differ diff --git a/fuzz/corpora/cmp/a731fbf00382d0a5d9244ec3c9b5bf888bd51a3f b/fuzz/corpora/cmp/a731fbf00382d0a5d9244ec3c9b5bf888bd51a3f new file mode 100644 index 00000000..2c3a8791 Binary files /dev/null and b/fuzz/corpora/cmp/a731fbf00382d0a5d9244ec3c9b5bf888bd51a3f differ diff --git a/fuzz/corpora/cmp/a7337e426c0a8c60ddec202f75ccade3a91a238f b/fuzz/corpora/cmp/a7337e426c0a8c60ddec202f75ccade3a91a238f new file mode 100644 index 00000000..60d383c2 Binary files /dev/null and b/fuzz/corpora/cmp/a7337e426c0a8c60ddec202f75ccade3a91a238f differ diff --git a/fuzz/corpora/cmp/a73dcb2aa023dfe6b565d70f1f3cd9088a13c894 b/fuzz/corpora/cmp/a73dcb2aa023dfe6b565d70f1f3cd9088a13c894 new file mode 100644 index 00000000..696a403c Binary files /dev/null and b/fuzz/corpora/cmp/a73dcb2aa023dfe6b565d70f1f3cd9088a13c894 differ diff --git a/fuzz/corpora/cmp/a749c6298b277e3af469712aa581c087a0616d10 b/fuzz/corpora/cmp/a749c6298b277e3af469712aa581c087a0616d10 new file mode 100644 index 00000000..290a36de Binary files /dev/null and b/fuzz/corpora/cmp/a749c6298b277e3af469712aa581c087a0616d10 differ diff --git a/fuzz/corpora/cmp/a74a78ca1b21b91b6ba871a29d99d77da716df22 b/fuzz/corpora/cmp/a74a78ca1b21b91b6ba871a29d99d77da716df22 new file mode 100644 index 00000000..92e6f894 Binary files /dev/null and b/fuzz/corpora/cmp/a74a78ca1b21b91b6ba871a29d99d77da716df22 differ diff --git a/fuzz/corpora/cmp/a759025a6c838ea39f8ca0eca0648cfcaa21d49e b/fuzz/corpora/cmp/a759025a6c838ea39f8ca0eca0648cfcaa21d49e new file mode 100644 index 00000000..bbd28bcf Binary files /dev/null and b/fuzz/corpora/cmp/a759025a6c838ea39f8ca0eca0648cfcaa21d49e differ diff --git a/fuzz/corpora/cmp/a7754ddae7f9967dd0b9f9d68ea41063b1d8c997 b/fuzz/corpora/cmp/a7754ddae7f9967dd0b9f9d68ea41063b1d8c997 new file mode 100644 index 00000000..c4a64125 Binary files /dev/null and b/fuzz/corpora/cmp/a7754ddae7f9967dd0b9f9d68ea41063b1d8c997 differ diff --git a/fuzz/corpora/cmp/a77a27c3aec6694703803c6bd99ad448d49e3c98 b/fuzz/corpora/cmp/a77a27c3aec6694703803c6bd99ad448d49e3c98 new file mode 100644 index 00000000..7638cbed Binary files /dev/null and b/fuzz/corpora/cmp/a77a27c3aec6694703803c6bd99ad448d49e3c98 differ diff --git a/fuzz/corpora/cmp/a77cf7024976fef2eb36af1cf1cbf757606d749f b/fuzz/corpora/cmp/a77cf7024976fef2eb36af1cf1cbf757606d749f new file mode 100644 index 00000000..283cc920 Binary files /dev/null and b/fuzz/corpora/cmp/a77cf7024976fef2eb36af1cf1cbf757606d749f differ diff --git a/fuzz/corpora/cmp/a780f44200c5d2fec2e21a38d95381935b908225 b/fuzz/corpora/cmp/a780f44200c5d2fec2e21a38d95381935b908225 new file mode 100644 index 00000000..094995d3 Binary files /dev/null and b/fuzz/corpora/cmp/a780f44200c5d2fec2e21a38d95381935b908225 differ diff --git a/fuzz/corpora/cmp/a79cb994e4d8a86300a12b66e5e92519c30ac221 b/fuzz/corpora/cmp/a79cb994e4d8a86300a12b66e5e92519c30ac221 new file mode 100644 index 00000000..716950cc Binary files /dev/null and b/fuzz/corpora/cmp/a79cb994e4d8a86300a12b66e5e92519c30ac221 differ diff --git a/fuzz/corpora/cmp/a7ab2f46647e0dca8b5c2f9786ae82feb6013ba0 b/fuzz/corpora/cmp/a7ab2f46647e0dca8b5c2f9786ae82feb6013ba0 new file mode 100644 index 00000000..044d6255 --- /dev/null +++ b/fuzz/corpora/cmp/a7ab2f46647e0dca8b5c2f9786ae82feb6013ba0 @@ -0,0 +1 @@ +½€~ \ No newline at end of file diff --git a/fuzz/corpora/cmp/a7ab5040d10b435f1f35b08a3db1515e28c415a4 b/fuzz/corpora/cmp/a7ab5040d10b435f1f35b08a3db1515e28c415a4 new file mode 100644 index 00000000..63d30beb Binary files /dev/null and b/fuzz/corpora/cmp/a7ab5040d10b435f1f35b08a3db1515e28c415a4 differ diff --git a/fuzz/corpora/cmp/a7bf471b89e4a18008d8fbe231c659d475a232af b/fuzz/corpora/cmp/a7bf471b89e4a18008d8fbe231c659d475a232af new file mode 100644 index 00000000..436147c3 Binary files /dev/null and b/fuzz/corpora/cmp/a7bf471b89e4a18008d8fbe231c659d475a232af differ diff --git a/fuzz/corpora/cmp/a7c4388a701af7881adc9477f004a767076c1deb b/fuzz/corpora/cmp/a7c4388a701af7881adc9477f004a767076c1deb new file mode 100644 index 00000000..d0890712 Binary files /dev/null and b/fuzz/corpora/cmp/a7c4388a701af7881adc9477f004a767076c1deb differ diff --git a/fuzz/corpora/cmp/a7ccefb027a116429e7df618f7e8db26742b9004 b/fuzz/corpora/cmp/a7ccefb027a116429e7df618f7e8db26742b9004 new file mode 100644 index 00000000..9bfe42af Binary files /dev/null and b/fuzz/corpora/cmp/a7ccefb027a116429e7df618f7e8db26742b9004 differ diff --git a/fuzz/corpora/cmp/a7f30345576fd7366515d7863b0425c45fab2837 b/fuzz/corpora/cmp/a7f30345576fd7366515d7863b0425c45fab2837 new file mode 100644 index 00000000..b4b9da27 Binary files /dev/null and b/fuzz/corpora/cmp/a7f30345576fd7366515d7863b0425c45fab2837 differ diff --git a/fuzz/corpora/cmp/a80740f3a8c61316f8867a0386716cfc32b02caf b/fuzz/corpora/cmp/a80740f3a8c61316f8867a0386716cfc32b02caf new file mode 100644 index 00000000..85fe8c52 Binary files /dev/null and b/fuzz/corpora/cmp/a80740f3a8c61316f8867a0386716cfc32b02caf differ diff --git a/fuzz/corpora/cmp/a80990273e02b161372733c3acc58c4d836d12b5 b/fuzz/corpora/cmp/a80990273e02b161372733c3acc58c4d836d12b5 new file mode 100644 index 00000000..f92003a0 Binary files /dev/null and b/fuzz/corpora/cmp/a80990273e02b161372733c3acc58c4d836d12b5 differ diff --git a/fuzz/corpora/cmp/a81a3afc85ecef4946091ada95ed3b2a503db374 b/fuzz/corpora/cmp/a81a3afc85ecef4946091ada95ed3b2a503db374 new file mode 100644 index 00000000..3d3937f9 Binary files /dev/null and b/fuzz/corpora/cmp/a81a3afc85ecef4946091ada95ed3b2a503db374 differ diff --git a/fuzz/corpora/cmp/a8266032476078fb6cd4c30f5bf82cfe1e4ae54c b/fuzz/corpora/cmp/a8266032476078fb6cd4c30f5bf82cfe1e4ae54c new file mode 100644 index 00000000..de07aa08 Binary files /dev/null and b/fuzz/corpora/cmp/a8266032476078fb6cd4c30f5bf82cfe1e4ae54c differ diff --git a/fuzz/corpora/cmp/a826871dc8eda292f46bda4c108dc31535f64884 b/fuzz/corpora/cmp/a826871dc8eda292f46bda4c108dc31535f64884 new file mode 100644 index 00000000..5ab4ccc1 Binary files /dev/null and b/fuzz/corpora/cmp/a826871dc8eda292f46bda4c108dc31535f64884 differ diff --git a/fuzz/corpora/cmp/a826cc6e19f6cb178cab7dba811faa5a5f4f08ac b/fuzz/corpora/cmp/a826cc6e19f6cb178cab7dba811faa5a5f4f08ac new file mode 100644 index 00000000..a93a5fc9 Binary files /dev/null and b/fuzz/corpora/cmp/a826cc6e19f6cb178cab7dba811faa5a5f4f08ac differ diff --git a/fuzz/corpora/cmp/a82c77a386c093544c09cacd48865f69b432a045 b/fuzz/corpora/cmp/a82c77a386c093544c09cacd48865f69b432a045 new file mode 100644 index 00000000..88b9cb13 Binary files /dev/null and b/fuzz/corpora/cmp/a82c77a386c093544c09cacd48865f69b432a045 differ diff --git a/fuzz/corpora/cmp/a82d3a7af2c838c86ec654e83d6d3f7964009df5 b/fuzz/corpora/cmp/a82d3a7af2c838c86ec654e83d6d3f7964009df5 new file mode 100644 index 00000000..caf0d65d Binary files /dev/null and b/fuzz/corpora/cmp/a82d3a7af2c838c86ec654e83d6d3f7964009df5 differ diff --git a/fuzz/corpora/cmp/a831ee2098e310f1056f9fef673fe59f8094665f b/fuzz/corpora/cmp/a831ee2098e310f1056f9fef673fe59f8094665f new file mode 100644 index 00000000..0c03a860 Binary files /dev/null and b/fuzz/corpora/cmp/a831ee2098e310f1056f9fef673fe59f8094665f differ diff --git a/fuzz/corpora/cmp/a842f7e22761b9c845afea8bbc627ea2f5d36a63 b/fuzz/corpora/cmp/a842f7e22761b9c845afea8bbc627ea2f5d36a63 new file mode 100644 index 00000000..301cd745 Binary files /dev/null and b/fuzz/corpora/cmp/a842f7e22761b9c845afea8bbc627ea2f5d36a63 differ diff --git a/fuzz/corpora/cmp/a843988bc19f2882f36f3bf168919a47af718b7d b/fuzz/corpora/cmp/a843988bc19f2882f36f3bf168919a47af718b7d new file mode 100644 index 00000000..f534e7a3 Binary files /dev/null and b/fuzz/corpora/cmp/a843988bc19f2882f36f3bf168919a47af718b7d differ diff --git a/fuzz/corpora/cmp/a86ca7753c65d30c0f386c36d7e13964e5ecc0a9 b/fuzz/corpora/cmp/a86ca7753c65d30c0f386c36d7e13964e5ecc0a9 new file mode 100644 index 00000000..fc7acd61 Binary files /dev/null and b/fuzz/corpora/cmp/a86ca7753c65d30c0f386c36d7e13964e5ecc0a9 differ diff --git a/fuzz/corpora/cmp/a87503a43a9a6767adaf3d66ba53f6249de6c528 b/fuzz/corpora/cmp/a87503a43a9a6767adaf3d66ba53f6249de6c528 new file mode 100644 index 00000000..0abdec1c Binary files /dev/null and b/fuzz/corpora/cmp/a87503a43a9a6767adaf3d66ba53f6249de6c528 differ diff --git a/fuzz/corpora/cmp/a8921a37f6856982ef66b06edee3bcda056e0dce b/fuzz/corpora/cmp/a8921a37f6856982ef66b06edee3bcda056e0dce new file mode 100644 index 00000000..782e8211 Binary files /dev/null and b/fuzz/corpora/cmp/a8921a37f6856982ef66b06edee3bcda056e0dce differ diff --git a/fuzz/corpora/cmp/a8a00950bff978db6bd5094343e5ac06c3e88ec7 b/fuzz/corpora/cmp/a8a00950bff978db6bd5094343e5ac06c3e88ec7 new file mode 100644 index 00000000..82266e90 Binary files /dev/null and b/fuzz/corpora/cmp/a8a00950bff978db6bd5094343e5ac06c3e88ec7 differ diff --git a/fuzz/corpora/cmp/a8b1790444604915ed8d556606a11aee0dcf1d42 b/fuzz/corpora/cmp/a8b1790444604915ed8d556606a11aee0dcf1d42 new file mode 100644 index 00000000..9ea885bd Binary files /dev/null and b/fuzz/corpora/cmp/a8b1790444604915ed8d556606a11aee0dcf1d42 differ diff --git a/fuzz/corpora/cmp/a8b67609038fe26446e190e47dca7d2a94b51b96 b/fuzz/corpora/cmp/a8b67609038fe26446e190e47dca7d2a94b51b96 new file mode 100644 index 00000000..31afa548 Binary files /dev/null and b/fuzz/corpora/cmp/a8b67609038fe26446e190e47dca7d2a94b51b96 differ diff --git a/fuzz/corpora/cmp/a8d52676c0770f827848561cb792fb1475ab432d b/fuzz/corpora/cmp/a8d52676c0770f827848561cb792fb1475ab432d new file mode 100644 index 00000000..61681302 Binary files /dev/null and b/fuzz/corpora/cmp/a8d52676c0770f827848561cb792fb1475ab432d differ diff --git a/fuzz/corpora/cmp/a8d5bcae04e43261525864e7050d4e4cc34008d4 b/fuzz/corpora/cmp/a8d5bcae04e43261525864e7050d4e4cc34008d4 new file mode 100644 index 00000000..b58e9d0a Binary files /dev/null and b/fuzz/corpora/cmp/a8d5bcae04e43261525864e7050d4e4cc34008d4 differ diff --git a/fuzz/corpora/cmp/a8f5a3d3c0000257d1f2d57aa035a58af014537b b/fuzz/corpora/cmp/a8f5a3d3c0000257d1f2d57aa035a58af014537b new file mode 100644 index 00000000..5b46892d Binary files /dev/null and b/fuzz/corpora/cmp/a8f5a3d3c0000257d1f2d57aa035a58af014537b differ diff --git a/fuzz/corpora/cmp/a904455c34aa8ea3488455ecce71df3d3a0581e6 b/fuzz/corpora/cmp/a904455c34aa8ea3488455ecce71df3d3a0581e6 new file mode 100644 index 00000000..74fc84c9 Binary files /dev/null and b/fuzz/corpora/cmp/a904455c34aa8ea3488455ecce71df3d3a0581e6 differ diff --git a/fuzz/corpora/cmp/a9066284c4e5d8fb235ac3ae596ad49db7949e2d b/fuzz/corpora/cmp/a9066284c4e5d8fb235ac3ae596ad49db7949e2d new file mode 100644 index 00000000..a1139989 Binary files /dev/null and b/fuzz/corpora/cmp/a9066284c4e5d8fb235ac3ae596ad49db7949e2d differ diff --git a/fuzz/corpora/cmp/a90f4a69ad0b6d855662bb83db75f0ac58552300 b/fuzz/corpora/cmp/a90f4a69ad0b6d855662bb83db75f0ac58552300 new file mode 100644 index 00000000..e1adc572 Binary files /dev/null and b/fuzz/corpora/cmp/a90f4a69ad0b6d855662bb83db75f0ac58552300 differ diff --git a/fuzz/corpora/cmp/a922de03eb0f4f589d3b7ff30d26e4511f35c97e b/fuzz/corpora/cmp/a922de03eb0f4f589d3b7ff30d26e4511f35c97e new file mode 100644 index 00000000..6fadd49c --- /dev/null +++ b/fuzz/corpora/cmp/a922de03eb0f4f589d3b7ff30d26e4511f35c97e @@ -0,0 +1 @@ +00€ €?Uÿÿÿ)ˆ€ \ No newline at end of file diff --git a/fuzz/corpora/cmp/a94c9a2d49e69441d5353714d126206db5496070 b/fuzz/corpora/cmp/a94c9a2d49e69441d5353714d126206db5496070 new file mode 100644 index 00000000..f96ab415 Binary files /dev/null and b/fuzz/corpora/cmp/a94c9a2d49e69441d5353714d126206db5496070 differ diff --git a/fuzz/corpora/cmp/a95ca9a8c997eff2ebdb847c953bd9cefd1d2f5c b/fuzz/corpora/cmp/a95ca9a8c997eff2ebdb847c953bd9cefd1d2f5c new file mode 100644 index 00000000..54bce74e Binary files /dev/null and b/fuzz/corpora/cmp/a95ca9a8c997eff2ebdb847c953bd9cefd1d2f5c differ diff --git a/fuzz/corpora/cmp/a971c0b26174d50f8fd985e23031036825fbcb3d b/fuzz/corpora/cmp/a971c0b26174d50f8fd985e23031036825fbcb3d new file mode 100644 index 00000000..d65e6f03 Binary files /dev/null and b/fuzz/corpora/cmp/a971c0b26174d50f8fd985e23031036825fbcb3d differ diff --git a/fuzz/corpora/cmp/a9885410c8317d325eb03741c643ce2eabe49da1 b/fuzz/corpora/cmp/a9885410c8317d325eb03741c643ce2eabe49da1 new file mode 100644 index 00000000..e58146cf Binary files /dev/null and b/fuzz/corpora/cmp/a9885410c8317d325eb03741c643ce2eabe49da1 differ diff --git a/fuzz/corpora/cmp/a999eec6ede97652226035aa5b38cd5978565fd3 b/fuzz/corpora/cmp/a999eec6ede97652226035aa5b38cd5978565fd3 new file mode 100644 index 00000000..b312c9a7 Binary files /dev/null and b/fuzz/corpora/cmp/a999eec6ede97652226035aa5b38cd5978565fd3 differ diff --git a/fuzz/corpora/cmp/a9a2611e8b3dd7df5fe52ba7811cafbed97c54f9 b/fuzz/corpora/cmp/a9a2611e8b3dd7df5fe52ba7811cafbed97c54f9 new file mode 100644 index 00000000..1cdb7fd6 Binary files /dev/null and b/fuzz/corpora/cmp/a9a2611e8b3dd7df5fe52ba7811cafbed97c54f9 differ diff --git a/fuzz/corpora/cmp/a9ba146f42ef9750d3daf2fe9b4139e118ff6da2 b/fuzz/corpora/cmp/a9ba146f42ef9750d3daf2fe9b4139e118ff6da2 new file mode 100644 index 00000000..dfd07af9 Binary files /dev/null and b/fuzz/corpora/cmp/a9ba146f42ef9750d3daf2fe9b4139e118ff6da2 differ diff --git a/fuzz/corpora/cmp/a9be2b8c6041185093b5549d869a4bbdebb02597 b/fuzz/corpora/cmp/a9be2b8c6041185093b5549d869a4bbdebb02597 new file mode 100644 index 00000000..ab9dbb24 Binary files /dev/null and b/fuzz/corpora/cmp/a9be2b8c6041185093b5549d869a4bbdebb02597 differ diff --git a/fuzz/corpora/cmp/a9c00cfc605411674ef1835f31fc35dd6af97c2f b/fuzz/corpora/cmp/a9c00cfc605411674ef1835f31fc35dd6af97c2f new file mode 100644 index 00000000..fc6ad159 Binary files /dev/null and b/fuzz/corpora/cmp/a9c00cfc605411674ef1835f31fc35dd6af97c2f differ diff --git a/fuzz/corpora/cmp/a9c26ee6f114df84ca69dcf0b8cfc0c189c4304b b/fuzz/corpora/cmp/a9c26ee6f114df84ca69dcf0b8cfc0c189c4304b new file mode 100644 index 00000000..e837b87b Binary files /dev/null and b/fuzz/corpora/cmp/a9c26ee6f114df84ca69dcf0b8cfc0c189c4304b differ diff --git a/fuzz/corpora/cmp/a9db9a13c3ef2561d57c0de1d05c68b7642c0b74 b/fuzz/corpora/cmp/a9db9a13c3ef2561d57c0de1d05c68b7642c0b74 new file mode 100644 index 00000000..897977c9 Binary files /dev/null and b/fuzz/corpora/cmp/a9db9a13c3ef2561d57c0de1d05c68b7642c0b74 differ diff --git a/fuzz/corpora/cmp/a9f4c5fd425e4dc625ea660b16602053af03a43a b/fuzz/corpora/cmp/a9f4c5fd425e4dc625ea660b16602053af03a43a new file mode 100644 index 00000000..4d3a7851 Binary files /dev/null and b/fuzz/corpora/cmp/a9f4c5fd425e4dc625ea660b16602053af03a43a differ diff --git a/fuzz/corpora/cmp/aa17899b72f6d8d236a7ca27911734657503153c b/fuzz/corpora/cmp/aa17899b72f6d8d236a7ca27911734657503153c new file mode 100644 index 00000000..c36939c3 Binary files /dev/null and b/fuzz/corpora/cmp/aa17899b72f6d8d236a7ca27911734657503153c differ diff --git a/fuzz/corpora/cmp/aa2042778dd21cc1b646ee9bb40a4730f51ab3c8 b/fuzz/corpora/cmp/aa2042778dd21cc1b646ee9bb40a4730f51ab3c8 new file mode 100644 index 00000000..210cd391 Binary files /dev/null and b/fuzz/corpora/cmp/aa2042778dd21cc1b646ee9bb40a4730f51ab3c8 differ diff --git a/fuzz/corpora/cmp/aa3072d3eafc372f17821cfa88116d78e37fcb23 b/fuzz/corpora/cmp/aa3072d3eafc372f17821cfa88116d78e37fcb23 new file mode 100644 index 00000000..3fa6f22d Binary files /dev/null and b/fuzz/corpora/cmp/aa3072d3eafc372f17821cfa88116d78e37fcb23 differ diff --git a/fuzz/corpora/cmp/aa3a38f46d74167c1fb30e9024d89ffb4c3f20d3 b/fuzz/corpora/cmp/aa3a38f46d74167c1fb30e9024d89ffb4c3f20d3 new file mode 100644 index 00000000..a801bc71 Binary files /dev/null and b/fuzz/corpora/cmp/aa3a38f46d74167c1fb30e9024d89ffb4c3f20d3 differ diff --git a/fuzz/corpora/cmp/aa4574b05c15e9c9b76ec1760afa44571b12ac40 b/fuzz/corpora/cmp/aa4574b05c15e9c9b76ec1760afa44571b12ac40 new file mode 100644 index 00000000..dbe2f382 Binary files /dev/null and b/fuzz/corpora/cmp/aa4574b05c15e9c9b76ec1760afa44571b12ac40 differ diff --git a/fuzz/corpora/cmp/aa4b519910ceb2f75ce123796493b917da01b446 b/fuzz/corpora/cmp/aa4b519910ceb2f75ce123796493b917da01b446 new file mode 100644 index 00000000..a6e625cc Binary files /dev/null and b/fuzz/corpora/cmp/aa4b519910ceb2f75ce123796493b917da01b446 differ diff --git a/fuzz/corpora/cmp/aa50566b130f1ddbf355b29a5a9c86c12ee6c412 b/fuzz/corpora/cmp/aa50566b130f1ddbf355b29a5a9c86c12ee6c412 new file mode 100644 index 00000000..e5f8c144 Binary files /dev/null and b/fuzz/corpora/cmp/aa50566b130f1ddbf355b29a5a9c86c12ee6c412 differ diff --git a/fuzz/corpora/cmp/aa51f143ef0f8a043b4e77b2154fe890c25ffc20 b/fuzz/corpora/cmp/aa51f143ef0f8a043b4e77b2154fe890c25ffc20 new file mode 100644 index 00000000..686ff4a9 Binary files /dev/null and b/fuzz/corpora/cmp/aa51f143ef0f8a043b4e77b2154fe890c25ffc20 differ diff --git a/fuzz/corpora/cmp/aa6b66e5b31c634fd200c15859e6e21be6e263ed b/fuzz/corpora/cmp/aa6b66e5b31c634fd200c15859e6e21be6e263ed new file mode 100644 index 00000000..9285852f Binary files /dev/null and b/fuzz/corpora/cmp/aa6b66e5b31c634fd200c15859e6e21be6e263ed differ diff --git a/fuzz/corpora/cmp/aa984c69564e0b492ada4527443d33cedc27c596 b/fuzz/corpora/cmp/aa984c69564e0b492ada4527443d33cedc27c596 new file mode 100644 index 00000000..4e5c3c2b Binary files /dev/null and b/fuzz/corpora/cmp/aa984c69564e0b492ada4527443d33cedc27c596 differ diff --git a/fuzz/corpora/cmp/aabc641d9bc9fb9e6d55885d2b267a612ca23fbe b/fuzz/corpora/cmp/aabc641d9bc9fb9e6d55885d2b267a612ca23fbe new file mode 100644 index 00000000..aa1bdc71 Binary files /dev/null and b/fuzz/corpora/cmp/aabc641d9bc9fb9e6d55885d2b267a612ca23fbe differ diff --git a/fuzz/corpora/cmp/aacb4753202ae277674f6ceea592d467b37f97ba b/fuzz/corpora/cmp/aacb4753202ae277674f6ceea592d467b37f97ba new file mode 100644 index 00000000..8c9bbbcb Binary files /dev/null and b/fuzz/corpora/cmp/aacb4753202ae277674f6ceea592d467b37f97ba differ diff --git a/fuzz/corpora/cmp/aaee9db4ddc961f2c51c252802c779230d5bd8ad b/fuzz/corpora/cmp/aaee9db4ddc961f2c51c252802c779230d5bd8ad new file mode 100644 index 00000000..0cbacd46 Binary files /dev/null and b/fuzz/corpora/cmp/aaee9db4ddc961f2c51c252802c779230d5bd8ad differ diff --git a/fuzz/corpora/cmp/aaf2091a7473db77d32b11bcfe056c0cb56db502 b/fuzz/corpora/cmp/aaf2091a7473db77d32b11bcfe056c0cb56db502 new file mode 100644 index 00000000..096def7b Binary files /dev/null and b/fuzz/corpora/cmp/aaf2091a7473db77d32b11bcfe056c0cb56db502 differ diff --git a/fuzz/corpora/cmp/ab0a010981d386004985fbd56bf36965db461b5f b/fuzz/corpora/cmp/ab0a010981d386004985fbd56bf36965db461b5f new file mode 100644 index 00000000..6a091cb6 Binary files /dev/null and b/fuzz/corpora/cmp/ab0a010981d386004985fbd56bf36965db461b5f differ diff --git a/fuzz/corpora/cmp/ab16917542ff5aca3518add2f177def7ee10a7ef b/fuzz/corpora/cmp/ab16917542ff5aca3518add2f177def7ee10a7ef new file mode 100644 index 00000000..8fcaaa2b --- /dev/null +++ b/fuzz/corpora/cmp/ab16917542ff5aca3518add2f177def7ee10a7ef @@ -0,0 +1 @@ +ÿÿ¨ \ No newline at end of file diff --git a/fuzz/corpora/cmp/ab3359b434c923ea0bf33007f6e32bf79a2dedd5 b/fuzz/corpora/cmp/ab3359b434c923ea0bf33007f6e32bf79a2dedd5 new file mode 100644 index 00000000..3fff4ee6 Binary files /dev/null and b/fuzz/corpora/cmp/ab3359b434c923ea0bf33007f6e32bf79a2dedd5 differ diff --git a/fuzz/corpora/cmp/ab3d25a1f5e9c10dd4edb048ab9c8bc5753c50ff b/fuzz/corpora/cmp/ab3d25a1f5e9c10dd4edb048ab9c8bc5753c50ff new file mode 100644 index 00000000..269685ea Binary files /dev/null and b/fuzz/corpora/cmp/ab3d25a1f5e9c10dd4edb048ab9c8bc5753c50ff differ diff --git a/fuzz/corpora/cmp/ab6a410b82656ea3d967dbcf91b4269ada98a4a6 b/fuzz/corpora/cmp/ab6a410b82656ea3d967dbcf91b4269ada98a4a6 new file mode 100644 index 00000000..6eaf3351 Binary files /dev/null and b/fuzz/corpora/cmp/ab6a410b82656ea3d967dbcf91b4269ada98a4a6 differ diff --git a/fuzz/corpora/cmp/ab731da2b7522b6893283777fbbaf41e63544ac6 b/fuzz/corpora/cmp/ab731da2b7522b6893283777fbbaf41e63544ac6 new file mode 100644 index 00000000..43b2c8c7 Binary files /dev/null and b/fuzz/corpora/cmp/ab731da2b7522b6893283777fbbaf41e63544ac6 differ diff --git a/fuzz/corpora/cmp/ab7db32d7017bc826d635180b8a5ea253729613d b/fuzz/corpora/cmp/ab7db32d7017bc826d635180b8a5ea253729613d new file mode 100644 index 00000000..41bf0996 Binary files /dev/null and b/fuzz/corpora/cmp/ab7db32d7017bc826d635180b8a5ea253729613d differ diff --git a/fuzz/corpora/cmp/aba30d47397322d5570a7513dabd3079b33bd094 b/fuzz/corpora/cmp/aba30d47397322d5570a7513dabd3079b33bd094 new file mode 100644 index 00000000..de7863c1 Binary files /dev/null and b/fuzz/corpora/cmp/aba30d47397322d5570a7513dabd3079b33bd094 differ diff --git a/fuzz/corpora/cmp/abc78130981d5d04fa2269a7f14a80a282d52d71 b/fuzz/corpora/cmp/abc78130981d5d04fa2269a7f14a80a282d52d71 new file mode 100644 index 00000000..5478900c Binary files /dev/null and b/fuzz/corpora/cmp/abc78130981d5d04fa2269a7f14a80a282d52d71 differ diff --git a/fuzz/corpora/cmp/abd2e7d726a8add73cb4999aa5247be0aae379a4 b/fuzz/corpora/cmp/abd2e7d726a8add73cb4999aa5247be0aae379a4 new file mode 100644 index 00000000..a8485bd4 Binary files /dev/null and b/fuzz/corpora/cmp/abd2e7d726a8add73cb4999aa5247be0aae379a4 differ diff --git a/fuzz/corpora/cmp/abd596235965515775f69dbf513a983a3f191857 b/fuzz/corpora/cmp/abd596235965515775f69dbf513a983a3f191857 new file mode 100644 index 00000000..b5814024 Binary files /dev/null and b/fuzz/corpora/cmp/abd596235965515775f69dbf513a983a3f191857 differ diff --git a/fuzz/corpora/cmp/abe9a2319fcdcfbf5201b3377c5c52f51bbc0acb b/fuzz/corpora/cmp/abe9a2319fcdcfbf5201b3377c5c52f51bbc0acb new file mode 100644 index 00000000..ea4b10fb Binary files /dev/null and b/fuzz/corpora/cmp/abe9a2319fcdcfbf5201b3377c5c52f51bbc0acb differ diff --git a/fuzz/corpora/cmp/abf273d9add30f81912937c55ef124bc7741a317 b/fuzz/corpora/cmp/abf273d9add30f81912937c55ef124bc7741a317 new file mode 100644 index 00000000..7dacac29 Binary files /dev/null and b/fuzz/corpora/cmp/abf273d9add30f81912937c55ef124bc7741a317 differ diff --git a/fuzz/corpora/cmp/abf69237769f51c0cdecc282930411afb7b5bd8c b/fuzz/corpora/cmp/abf69237769f51c0cdecc282930411afb7b5bd8c new file mode 100644 index 00000000..0bdcf447 Binary files /dev/null and b/fuzz/corpora/cmp/abf69237769f51c0cdecc282930411afb7b5bd8c differ diff --git a/fuzz/corpora/cmp/ac0383d736eacdd9a8076351cd9478c097763201 b/fuzz/corpora/cmp/ac0383d736eacdd9a8076351cd9478c097763201 new file mode 100644 index 00000000..1f114382 Binary files /dev/null and b/fuzz/corpora/cmp/ac0383d736eacdd9a8076351cd9478c097763201 differ diff --git a/fuzz/corpora/cmp/ac040d829b1e6c6788efabbf7dcd1bc161733fdc b/fuzz/corpora/cmp/ac040d829b1e6c6788efabbf7dcd1bc161733fdc new file mode 100644 index 00000000..15a1bb5a Binary files /dev/null and b/fuzz/corpora/cmp/ac040d829b1e6c6788efabbf7dcd1bc161733fdc differ diff --git a/fuzz/corpora/cmp/ac151bfc7eb00f226637a67212ec06c5e6501ad2 b/fuzz/corpora/cmp/ac151bfc7eb00f226637a67212ec06c5e6501ad2 new file mode 100644 index 00000000..bd786062 Binary files /dev/null and b/fuzz/corpora/cmp/ac151bfc7eb00f226637a67212ec06c5e6501ad2 differ diff --git a/fuzz/corpora/cmp/ac75b2e8dd6267f4d9d4613804dd8de90b691fd8 b/fuzz/corpora/cmp/ac75b2e8dd6267f4d9d4613804dd8de90b691fd8 new file mode 100644 index 00000000..34df9e5b Binary files /dev/null and b/fuzz/corpora/cmp/ac75b2e8dd6267f4d9d4613804dd8de90b691fd8 differ diff --git a/fuzz/corpora/cmp/ac7852b9d51df566dd41bca09ad364f7cc22eae5 b/fuzz/corpora/cmp/ac7852b9d51df566dd41bca09ad364f7cc22eae5 new file mode 100644 index 00000000..e44be138 Binary files /dev/null and b/fuzz/corpora/cmp/ac7852b9d51df566dd41bca09ad364f7cc22eae5 differ diff --git a/fuzz/corpora/cmp/ac78572329cda61f7b667212b0940bdd44e8188c b/fuzz/corpora/cmp/ac78572329cda61f7b667212b0940bdd44e8188c new file mode 100644 index 00000000..d3861ca8 Binary files /dev/null and b/fuzz/corpora/cmp/ac78572329cda61f7b667212b0940bdd44e8188c differ diff --git a/fuzz/corpora/cmp/ac7abe36e1a128a1de27d68991e7399dd9e26604 b/fuzz/corpora/cmp/ac7abe36e1a128a1de27d68991e7399dd9e26604 new file mode 100644 index 00000000..ccd3357a Binary files /dev/null and b/fuzz/corpora/cmp/ac7abe36e1a128a1de27d68991e7399dd9e26604 differ diff --git a/fuzz/corpora/cmp/ac882154a1ec837df5e064afede86aa68120c166 b/fuzz/corpora/cmp/ac882154a1ec837df5e064afede86aa68120c166 new file mode 100644 index 00000000..866b6c47 Binary files /dev/null and b/fuzz/corpora/cmp/ac882154a1ec837df5e064afede86aa68120c166 differ diff --git a/fuzz/corpora/cmp/ac8b59a5d6881584773b5895c2f126b521f2c856 b/fuzz/corpora/cmp/ac8b59a5d6881584773b5895c2f126b521f2c856 new file mode 100644 index 00000000..c281b61f --- /dev/null +++ b/fuzz/corpora/cmp/ac8b59a5d6881584773b5895c2f126b521f2c856 @@ -0,0 +1,2 @@ + +– \ No newline at end of file diff --git a/fuzz/corpora/cmp/ac9ae6cc5acfa53b56164895508df996a3aa285b b/fuzz/corpora/cmp/ac9ae6cc5acfa53b56164895508df996a3aa285b new file mode 100644 index 00000000..b3a535a9 Binary files /dev/null and b/fuzz/corpora/cmp/ac9ae6cc5acfa53b56164895508df996a3aa285b differ diff --git a/fuzz/corpora/cmp/ac9ccce098c48c9444b3badc313f32a4b2ffe790 b/fuzz/corpora/cmp/ac9ccce098c48c9444b3badc313f32a4b2ffe790 new file mode 100644 index 00000000..f1e0c53e Binary files /dev/null and b/fuzz/corpora/cmp/ac9ccce098c48c9444b3badc313f32a4b2ffe790 differ diff --git a/fuzz/corpora/cmp/aca7b3f0bd9df501f1e2cbe594499a065c58d786 b/fuzz/corpora/cmp/aca7b3f0bd9df501f1e2cbe594499a065c58d786 new file mode 100644 index 00000000..c24f7163 Binary files /dev/null and b/fuzz/corpora/cmp/aca7b3f0bd9df501f1e2cbe594499a065c58d786 differ diff --git a/fuzz/corpora/cmp/acbc2e1c73e6e70e0b0b1a5fa0f6f51dca166ca9 b/fuzz/corpora/cmp/acbc2e1c73e6e70e0b0b1a5fa0f6f51dca166ca9 new file mode 100644 index 00000000..5e5bf4e4 Binary files /dev/null and b/fuzz/corpora/cmp/acbc2e1c73e6e70e0b0b1a5fa0f6f51dca166ca9 differ diff --git a/fuzz/corpora/cmp/acce5a2c7653681a4073111dbb2ec5fc2c97fa2a b/fuzz/corpora/cmp/acce5a2c7653681a4073111dbb2ec5fc2c97fa2a new file mode 100644 index 00000000..66b62da0 Binary files /dev/null and b/fuzz/corpora/cmp/acce5a2c7653681a4073111dbb2ec5fc2c97fa2a differ diff --git a/fuzz/corpora/cmp/acd5de6f275ceb7dbda98bc0d364b39ac29993da b/fuzz/corpora/cmp/acd5de6f275ceb7dbda98bc0d364b39ac29993da new file mode 100644 index 00000000..9d50b25c Binary files /dev/null and b/fuzz/corpora/cmp/acd5de6f275ceb7dbda98bc0d364b39ac29993da differ diff --git a/fuzz/corpora/cmp/acd9950a4ecb4545b877be8f25eac870fceff8c3 b/fuzz/corpora/cmp/acd9950a4ecb4545b877be8f25eac870fceff8c3 new file mode 100644 index 00000000..fbcd387f Binary files /dev/null and b/fuzz/corpora/cmp/acd9950a4ecb4545b877be8f25eac870fceff8c3 differ diff --git a/fuzz/corpora/cmp/aceecd0efa1916a0be215cd12c98377d7dd29733 b/fuzz/corpora/cmp/aceecd0efa1916a0be215cd12c98377d7dd29733 new file mode 100644 index 00000000..0e2e5bec Binary files /dev/null and b/fuzz/corpora/cmp/aceecd0efa1916a0be215cd12c98377d7dd29733 differ diff --git a/fuzz/corpora/cmp/acefa95e4a9fb5facc5f1e8c86491d7401613700 b/fuzz/corpora/cmp/acefa95e4a9fb5facc5f1e8c86491d7401613700 new file mode 100644 index 00000000..d1be7e3d Binary files /dev/null and b/fuzz/corpora/cmp/acefa95e4a9fb5facc5f1e8c86491d7401613700 differ diff --git a/fuzz/corpora/cmp/ad031fe27040b5ea5cd359a78d17477b5e4b540d b/fuzz/corpora/cmp/ad031fe27040b5ea5cd359a78d17477b5e4b540d new file mode 100644 index 00000000..a4106ad5 Binary files /dev/null and b/fuzz/corpora/cmp/ad031fe27040b5ea5cd359a78d17477b5e4b540d differ diff --git a/fuzz/corpora/cmp/ad04ca8f1be829af867d65da1be69687e36fc91a b/fuzz/corpora/cmp/ad04ca8f1be829af867d65da1be69687e36fc91a new file mode 100644 index 00000000..c25d7eb5 Binary files /dev/null and b/fuzz/corpora/cmp/ad04ca8f1be829af867d65da1be69687e36fc91a differ diff --git a/fuzz/corpora/cmp/ad0e3d645b8e516a212c609a61692775ade76a0e b/fuzz/corpora/cmp/ad0e3d645b8e516a212c609a61692775ade76a0e new file mode 100644 index 00000000..b50bf639 Binary files /dev/null and b/fuzz/corpora/cmp/ad0e3d645b8e516a212c609a61692775ade76a0e differ diff --git a/fuzz/corpora/cmp/ad418968203524a79c1e36c1e59e4498ebdddc75 b/fuzz/corpora/cmp/ad418968203524a79c1e36c1e59e4498ebdddc75 new file mode 100644 index 00000000..8cccf215 Binary files /dev/null and b/fuzz/corpora/cmp/ad418968203524a79c1e36c1e59e4498ebdddc75 differ diff --git a/fuzz/corpora/cmp/ad46f530e94d74021813973ede8ef9e94d43057a b/fuzz/corpora/cmp/ad46f530e94d74021813973ede8ef9e94d43057a new file mode 100644 index 00000000..750dc213 Binary files /dev/null and b/fuzz/corpora/cmp/ad46f530e94d74021813973ede8ef9e94d43057a differ diff --git a/fuzz/corpora/cmp/ad47046192dd849b2f348e43fd7763ad39db955c b/fuzz/corpora/cmp/ad47046192dd849b2f348e43fd7763ad39db955c new file mode 100644 index 00000000..0426e9d0 Binary files /dev/null and b/fuzz/corpora/cmp/ad47046192dd849b2f348e43fd7763ad39db955c differ diff --git a/fuzz/corpora/cmp/ad4fb5b3da09253fb3692459fe27a4697d2059de b/fuzz/corpora/cmp/ad4fb5b3da09253fb3692459fe27a4697d2059de new file mode 100644 index 00000000..af2c0703 Binary files /dev/null and b/fuzz/corpora/cmp/ad4fb5b3da09253fb3692459fe27a4697d2059de differ diff --git a/fuzz/corpora/cmp/ad510ef7c2f8a76295af309b4c50fc9eca1eadeb b/fuzz/corpora/cmp/ad510ef7c2f8a76295af309b4c50fc9eca1eadeb new file mode 100644 index 00000000..ddd4bb55 Binary files /dev/null and b/fuzz/corpora/cmp/ad510ef7c2f8a76295af309b4c50fc9eca1eadeb differ diff --git a/fuzz/corpora/cmp/ad5160de14bee8c858234394b598e87a224dc75f b/fuzz/corpora/cmp/ad5160de14bee8c858234394b598e87a224dc75f new file mode 100644 index 00000000..fb9c358a Binary files /dev/null and b/fuzz/corpora/cmp/ad5160de14bee8c858234394b598e87a224dc75f differ diff --git a/fuzz/corpora/cmp/ad754c2853ee08992573d01ae50fc4520181c52b b/fuzz/corpora/cmp/ad754c2853ee08992573d01ae50fc4520181c52b new file mode 100644 index 00000000..f7d3bd32 Binary files /dev/null and b/fuzz/corpora/cmp/ad754c2853ee08992573d01ae50fc4520181c52b differ diff --git a/fuzz/corpora/cmp/ad75dc5b2f8ef0ccc05ba80530a6f14b0871a661 b/fuzz/corpora/cmp/ad75dc5b2f8ef0ccc05ba80530a6f14b0871a661 new file mode 100644 index 00000000..a5c48828 Binary files /dev/null and b/fuzz/corpora/cmp/ad75dc5b2f8ef0ccc05ba80530a6f14b0871a661 differ diff --git a/fuzz/corpora/cmp/ad8026337795a9230920eb05300636195940945d b/fuzz/corpora/cmp/ad8026337795a9230920eb05300636195940945d new file mode 100644 index 00000000..d109d37d Binary files /dev/null and b/fuzz/corpora/cmp/ad8026337795a9230920eb05300636195940945d differ diff --git a/fuzz/corpora/cmp/ad837d5fc506cbd460f41831f97c73069d53d589 b/fuzz/corpora/cmp/ad837d5fc506cbd460f41831f97c73069d53d589 new file mode 100644 index 00000000..030801cd Binary files /dev/null and b/fuzz/corpora/cmp/ad837d5fc506cbd460f41831f97c73069d53d589 differ diff --git a/fuzz/corpora/cmp/ad9bc97c70c826d06b129ac5c0bbc447d49aa21e b/fuzz/corpora/cmp/ad9bc97c70c826d06b129ac5c0bbc447d49aa21e new file mode 100644 index 00000000..18ce0003 Binary files /dev/null and b/fuzz/corpora/cmp/ad9bc97c70c826d06b129ac5c0bbc447d49aa21e differ diff --git a/fuzz/corpora/cmp/ada946175a9a5b9eed2e830b50a8ebda4448c81a b/fuzz/corpora/cmp/ada946175a9a5b9eed2e830b50a8ebda4448c81a new file mode 100644 index 00000000..d94803b3 Binary files /dev/null and b/fuzz/corpora/cmp/ada946175a9a5b9eed2e830b50a8ebda4448c81a differ diff --git a/fuzz/corpora/cmp/ada9b6b9e0f22fa0b6cd2ecaa1ac5eaa3bef54da b/fuzz/corpora/cmp/ada9b6b9e0f22fa0b6cd2ecaa1ac5eaa3bef54da new file mode 100644 index 00000000..0a1b2990 Binary files /dev/null and b/fuzz/corpora/cmp/ada9b6b9e0f22fa0b6cd2ecaa1ac5eaa3bef54da differ diff --git a/fuzz/corpora/cmp/adaa19baf68489690092870216ec5761605712e5 b/fuzz/corpora/cmp/adaa19baf68489690092870216ec5761605712e5 new file mode 100644 index 00000000..fd5a6b5f Binary files /dev/null and b/fuzz/corpora/cmp/adaa19baf68489690092870216ec5761605712e5 differ diff --git a/fuzz/corpora/cmp/adb0edbb18c987d91519f01e0bb565d12263277b b/fuzz/corpora/cmp/adb0edbb18c987d91519f01e0bb565d12263277b new file mode 100644 index 00000000..3cff3c0b Binary files /dev/null and b/fuzz/corpora/cmp/adb0edbb18c987d91519f01e0bb565d12263277b differ diff --git a/fuzz/corpora/cmp/adc5722124f1dc50375db9d45d70edd234f8bf24 b/fuzz/corpora/cmp/adc5722124f1dc50375db9d45d70edd234f8bf24 new file mode 100644 index 00000000..d3b77295 Binary files /dev/null and b/fuzz/corpora/cmp/adc5722124f1dc50375db9d45d70edd234f8bf24 differ diff --git a/fuzz/corpora/cmp/ade19dc5f50402bda1b5ddb1c33a796784e14379 b/fuzz/corpora/cmp/ade19dc5f50402bda1b5ddb1c33a796784e14379 new file mode 100644 index 00000000..facc1882 Binary files /dev/null and b/fuzz/corpora/cmp/ade19dc5f50402bda1b5ddb1c33a796784e14379 differ diff --git a/fuzz/corpora/cmp/aded72bb6e32d97c9dc41f1f70cf38ea937d6ea3 b/fuzz/corpora/cmp/aded72bb6e32d97c9dc41f1f70cf38ea937d6ea3 new file mode 100644 index 00000000..07046f03 Binary files /dev/null and b/fuzz/corpora/cmp/aded72bb6e32d97c9dc41f1f70cf38ea937d6ea3 differ diff --git a/fuzz/corpora/cmp/adfd0c84ab5caba5eb3029834a24d526bb66c2ab b/fuzz/corpora/cmp/adfd0c84ab5caba5eb3029834a24d526bb66c2ab new file mode 100644 index 00000000..b5105344 Binary files /dev/null and b/fuzz/corpora/cmp/adfd0c84ab5caba5eb3029834a24d526bb66c2ab differ diff --git a/fuzz/corpora/cmp/ae05f6cb592afd017aa0ad66dd0b4c6b1c4dbb7b b/fuzz/corpora/cmp/ae05f6cb592afd017aa0ad66dd0b4c6b1c4dbb7b new file mode 100644 index 00000000..611b25de Binary files /dev/null and b/fuzz/corpora/cmp/ae05f6cb592afd017aa0ad66dd0b4c6b1c4dbb7b differ diff --git a/fuzz/corpora/cmp/ae3e00af38d24e6904cf5fe0c3ba9d6bafc4d0ab b/fuzz/corpora/cmp/ae3e00af38d24e6904cf5fe0c3ba9d6bafc4d0ab new file mode 100644 index 00000000..becf98f0 Binary files /dev/null and b/fuzz/corpora/cmp/ae3e00af38d24e6904cf5fe0c3ba9d6bafc4d0ab differ diff --git a/fuzz/corpora/cmp/ae42b66612f40528e67574d14e03b4b52c2bb725 b/fuzz/corpora/cmp/ae42b66612f40528e67574d14e03b4b52c2bb725 new file mode 100644 index 00000000..cc278b3d Binary files /dev/null and b/fuzz/corpora/cmp/ae42b66612f40528e67574d14e03b4b52c2bb725 differ diff --git a/fuzz/corpora/cmp/ae43414c6a2d808f85e92d0a3b26d9dab4bcf9c1 b/fuzz/corpora/cmp/ae43414c6a2d808f85e92d0a3b26d9dab4bcf9c1 new file mode 100644 index 00000000..22f9b27e Binary files /dev/null and b/fuzz/corpora/cmp/ae43414c6a2d808f85e92d0a3b26d9dab4bcf9c1 differ diff --git a/fuzz/corpora/cmp/ae4452bbbe84c36cd706c8aa1ca692ed454c5d39 b/fuzz/corpora/cmp/ae4452bbbe84c36cd706c8aa1ca692ed454c5d39 new file mode 100644 index 00000000..6d82b680 Binary files /dev/null and b/fuzz/corpora/cmp/ae4452bbbe84c36cd706c8aa1ca692ed454c5d39 differ diff --git a/fuzz/corpora/cmp/ae78eda869e345d64adcf847c1f965a72dd10b9a b/fuzz/corpora/cmp/ae78eda869e345d64adcf847c1f965a72dd10b9a new file mode 100644 index 00000000..dc3a1f0e Binary files /dev/null and b/fuzz/corpora/cmp/ae78eda869e345d64adcf847c1f965a72dd10b9a differ diff --git a/fuzz/corpora/cmp/ae796b000ba9d19081755abec8ca04199d3310be b/fuzz/corpora/cmp/ae796b000ba9d19081755abec8ca04199d3310be new file mode 100644 index 00000000..7f67c4e2 Binary files /dev/null and b/fuzz/corpora/cmp/ae796b000ba9d19081755abec8ca04199d3310be differ diff --git a/fuzz/corpora/cmp/ae7bc81624512fdcf809ed88e0a4c9e4d44a3e45 b/fuzz/corpora/cmp/ae7bc81624512fdcf809ed88e0a4c9e4d44a3e45 new file mode 100644 index 00000000..cef70ebe Binary files /dev/null and b/fuzz/corpora/cmp/ae7bc81624512fdcf809ed88e0a4c9e4d44a3e45 differ diff --git a/fuzz/corpora/cmp/ae8041616a702818b3d5b86d64c2052c7b3fde97 b/fuzz/corpora/cmp/ae8041616a702818b3d5b86d64c2052c7b3fde97 new file mode 100644 index 00000000..b8b2283b Binary files /dev/null and b/fuzz/corpora/cmp/ae8041616a702818b3d5b86d64c2052c7b3fde97 differ diff --git a/fuzz/corpora/cmp/ae876ff328decee5f909283060eca8676a3d735c b/fuzz/corpora/cmp/ae876ff328decee5f909283060eca8676a3d735c new file mode 100644 index 00000000..51fa1a60 Binary files /dev/null and b/fuzz/corpora/cmp/ae876ff328decee5f909283060eca8676a3d735c differ diff --git a/fuzz/corpora/cmp/ae91669a5231da665fa8c3338e5a7d37a9706a7a b/fuzz/corpora/cmp/ae91669a5231da665fa8c3338e5a7d37a9706a7a new file mode 100644 index 00000000..51a0a9ea Binary files /dev/null and b/fuzz/corpora/cmp/ae91669a5231da665fa8c3338e5a7d37a9706a7a differ diff --git a/fuzz/corpora/cmp/ae93436c213babcaeecf105200ebf69b4a0499b3 b/fuzz/corpora/cmp/ae93436c213babcaeecf105200ebf69b4a0499b3 new file mode 100644 index 00000000..5e6b87a4 Binary files /dev/null and b/fuzz/corpora/cmp/ae93436c213babcaeecf105200ebf69b4a0499b3 differ diff --git a/fuzz/corpora/cmp/ae940b0b75814248e84bc63a2df2421be2ef6b68 b/fuzz/corpora/cmp/ae940b0b75814248e84bc63a2df2421be2ef6b68 new file mode 100644 index 00000000..e3d90251 Binary files /dev/null and b/fuzz/corpora/cmp/ae940b0b75814248e84bc63a2df2421be2ef6b68 differ diff --git a/fuzz/corpora/cmp/aea3a7bb240494001fca58888f94cf3380b03e84 b/fuzz/corpora/cmp/aea3a7bb240494001fca58888f94cf3380b03e84 new file mode 100644 index 00000000..91c8aaa5 Binary files /dev/null and b/fuzz/corpora/cmp/aea3a7bb240494001fca58888f94cf3380b03e84 differ diff --git a/fuzz/corpora/cmp/aeb3c79915fa8f227fb916513eba3a41f71fdd25 b/fuzz/corpora/cmp/aeb3c79915fa8f227fb916513eba3a41f71fdd25 new file mode 100644 index 00000000..c65a5801 Binary files /dev/null and b/fuzz/corpora/cmp/aeb3c79915fa8f227fb916513eba3a41f71fdd25 differ diff --git a/fuzz/corpora/cmp/aeb513f39ca9423e2e228510700b809e74958781 b/fuzz/corpora/cmp/aeb513f39ca9423e2e228510700b809e74958781 new file mode 100644 index 00000000..0ec62e3a Binary files /dev/null and b/fuzz/corpora/cmp/aeb513f39ca9423e2e228510700b809e74958781 differ diff --git a/fuzz/corpora/cmp/aec9eca2e28e9ed764a96dff83afad975323de30 b/fuzz/corpora/cmp/aec9eca2e28e9ed764a96dff83afad975323de30 new file mode 100644 index 00000000..dffdd829 Binary files /dev/null and b/fuzz/corpora/cmp/aec9eca2e28e9ed764a96dff83afad975323de30 differ diff --git a/fuzz/corpora/cmp/aecda2a5e0621230f2f8b47c63c9d848e1b7dae1 b/fuzz/corpora/cmp/aecda2a5e0621230f2f8b47c63c9d848e1b7dae1 new file mode 100644 index 00000000..582cdbd3 Binary files /dev/null and b/fuzz/corpora/cmp/aecda2a5e0621230f2f8b47c63c9d848e1b7dae1 differ diff --git a/fuzz/corpora/cmp/aee404d39c17ef51de112fd16f39fd0dc7846efe b/fuzz/corpora/cmp/aee404d39c17ef51de112fd16f39fd0dc7846efe new file mode 100644 index 00000000..6666bf47 Binary files /dev/null and b/fuzz/corpora/cmp/aee404d39c17ef51de112fd16f39fd0dc7846efe differ diff --git a/fuzz/corpora/cmp/aeeafef4d6d5631f095e389cff03454bf15f576e b/fuzz/corpora/cmp/aeeafef4d6d5631f095e389cff03454bf15f576e new file mode 100644 index 00000000..57a4a64c Binary files /dev/null and b/fuzz/corpora/cmp/aeeafef4d6d5631f095e389cff03454bf15f576e differ diff --git a/fuzz/corpora/cmp/af0d6d330578fa53f4d5880ea1ea711a106a18ed b/fuzz/corpora/cmp/af0d6d330578fa53f4d5880ea1ea711a106a18ed new file mode 100644 index 00000000..45412e65 Binary files /dev/null and b/fuzz/corpora/cmp/af0d6d330578fa53f4d5880ea1ea711a106a18ed differ diff --git a/fuzz/corpora/cmp/af1f21d4bf4dd3f93636d980d124c28cee6f1ae7 b/fuzz/corpora/cmp/af1f21d4bf4dd3f93636d980d124c28cee6f1ae7 new file mode 100644 index 00000000..df6f0632 Binary files /dev/null and b/fuzz/corpora/cmp/af1f21d4bf4dd3f93636d980d124c28cee6f1ae7 differ diff --git a/fuzz/corpora/cmp/af24842a06c256c3f20256eec23a154ef0771d55 b/fuzz/corpora/cmp/af24842a06c256c3f20256eec23a154ef0771d55 new file mode 100644 index 00000000..6dd05f7b Binary files /dev/null and b/fuzz/corpora/cmp/af24842a06c256c3f20256eec23a154ef0771d55 differ diff --git a/fuzz/corpora/cmp/af389b68c66312d3d76e34c2d301ec32500c2b8c b/fuzz/corpora/cmp/af389b68c66312d3d76e34c2d301ec32500c2b8c new file mode 100644 index 00000000..d767a046 Binary files /dev/null and b/fuzz/corpora/cmp/af389b68c66312d3d76e34c2d301ec32500c2b8c differ diff --git a/fuzz/corpora/cmp/af5e1b320529e7bd034dbf4f42bbb07d56f47d56 b/fuzz/corpora/cmp/af5e1b320529e7bd034dbf4f42bbb07d56f47d56 new file mode 100644 index 00000000..e1c1c4de Binary files /dev/null and b/fuzz/corpora/cmp/af5e1b320529e7bd034dbf4f42bbb07d56f47d56 differ diff --git a/fuzz/corpora/cmp/af623c4966380bec447b07ec0cb7b46ec1c3ce5d b/fuzz/corpora/cmp/af623c4966380bec447b07ec0cb7b46ec1c3ce5d new file mode 100644 index 00000000..023d226c Binary files /dev/null and b/fuzz/corpora/cmp/af623c4966380bec447b07ec0cb7b46ec1c3ce5d differ diff --git a/fuzz/corpora/cmp/af97036c52e0b69959cf68c142e7853b7317d1ec b/fuzz/corpora/cmp/af97036c52e0b69959cf68c142e7853b7317d1ec new file mode 100644 index 00000000..e893132e Binary files /dev/null and b/fuzz/corpora/cmp/af97036c52e0b69959cf68c142e7853b7317d1ec differ diff --git a/fuzz/corpora/cmp/afc223c379632417e526d926bc8d7a7eefb0099a b/fuzz/corpora/cmp/afc223c379632417e526d926bc8d7a7eefb0099a new file mode 100644 index 00000000..04ba2833 Binary files /dev/null and b/fuzz/corpora/cmp/afc223c379632417e526d926bc8d7a7eefb0099a differ diff --git a/fuzz/corpora/cmp/afc964fdf87f321f5f6bd8f7b8eaeef569a16f18 b/fuzz/corpora/cmp/afc964fdf87f321f5f6bd8f7b8eaeef569a16f18 new file mode 100644 index 00000000..71fdbbe8 Binary files /dev/null and b/fuzz/corpora/cmp/afc964fdf87f321f5f6bd8f7b8eaeef569a16f18 differ diff --git a/fuzz/corpora/cmp/afd5c1e1917318b54ccf2188dd0c61362e35c09a b/fuzz/corpora/cmp/afd5c1e1917318b54ccf2188dd0c61362e35c09a new file mode 100644 index 00000000..eec4f26b Binary files /dev/null and b/fuzz/corpora/cmp/afd5c1e1917318b54ccf2188dd0c61362e35c09a differ diff --git a/fuzz/corpora/cmp/afd74764ac6d43b8c098bcd5ca3593ab20825b05 b/fuzz/corpora/cmp/afd74764ac6d43b8c098bcd5ca3593ab20825b05 new file mode 100644 index 00000000..4e11f38b Binary files /dev/null and b/fuzz/corpora/cmp/afd74764ac6d43b8c098bcd5ca3593ab20825b05 differ diff --git a/fuzz/corpora/cmp/afec11a2f953a36b3e5d1b404842896e500dfa9f b/fuzz/corpora/cmp/afec11a2f953a36b3e5d1b404842896e500dfa9f new file mode 100644 index 00000000..644ef2b0 Binary files /dev/null and b/fuzz/corpora/cmp/afec11a2f953a36b3e5d1b404842896e500dfa9f differ diff --git a/fuzz/corpora/cmp/b003d3f55ca65e2c44773200109eb9918daecbf3 b/fuzz/corpora/cmp/b003d3f55ca65e2c44773200109eb9918daecbf3 new file mode 100644 index 00000000..595db6b3 Binary files /dev/null and b/fuzz/corpora/cmp/b003d3f55ca65e2c44773200109eb9918daecbf3 differ diff --git a/fuzz/corpora/cmp/b02dce4446cac5ce13c12a21453b397520857053 b/fuzz/corpora/cmp/b02dce4446cac5ce13c12a21453b397520857053 new file mode 100644 index 00000000..1085b7f2 Binary files /dev/null and b/fuzz/corpora/cmp/b02dce4446cac5ce13c12a21453b397520857053 differ diff --git a/fuzz/corpora/cmp/b02edefd112f6c4ba736f053e5f70cf975df1e13 b/fuzz/corpora/cmp/b02edefd112f6c4ba736f053e5f70cf975df1e13 new file mode 100644 index 00000000..73452800 Binary files /dev/null and b/fuzz/corpora/cmp/b02edefd112f6c4ba736f053e5f70cf975df1e13 differ diff --git a/fuzz/corpora/cmp/b032e85ca5ad8e281b8b41909ebb48c5ab9125ad b/fuzz/corpora/cmp/b032e85ca5ad8e281b8b41909ebb48c5ab9125ad new file mode 100644 index 00000000..752fe391 Binary files /dev/null and b/fuzz/corpora/cmp/b032e85ca5ad8e281b8b41909ebb48c5ab9125ad differ diff --git a/fuzz/corpora/cmp/b05ea2465f9a0e0c16b78852993c75d5e4710107 b/fuzz/corpora/cmp/b05ea2465f9a0e0c16b78852993c75d5e4710107 new file mode 100644 index 00000000..3add1808 Binary files /dev/null and b/fuzz/corpora/cmp/b05ea2465f9a0e0c16b78852993c75d5e4710107 differ diff --git a/fuzz/corpora/cmp/b06047fb4fff7b82476519701f411844d5896c1a b/fuzz/corpora/cmp/b06047fb4fff7b82476519701f411844d5896c1a new file mode 100644 index 00000000..7f1f603b Binary files /dev/null and b/fuzz/corpora/cmp/b06047fb4fff7b82476519701f411844d5896c1a differ diff --git a/fuzz/corpora/cmp/b064ead8fac2b134c50b4968cccc3483de94e145 b/fuzz/corpora/cmp/b064ead8fac2b134c50b4968cccc3483de94e145 new file mode 100644 index 00000000..a0f57a32 Binary files /dev/null and b/fuzz/corpora/cmp/b064ead8fac2b134c50b4968cccc3483de94e145 differ diff --git a/fuzz/corpora/cmp/b065fe18662ab95996cf63de94bc2ab3c768bc01 b/fuzz/corpora/cmp/b065fe18662ab95996cf63de94bc2ab3c768bc01 new file mode 100644 index 00000000..94fed0ab Binary files /dev/null and b/fuzz/corpora/cmp/b065fe18662ab95996cf63de94bc2ab3c768bc01 differ diff --git a/fuzz/corpora/cmp/b077fab709ea22461c39a2b37fecb66cb20fefdc b/fuzz/corpora/cmp/b077fab709ea22461c39a2b37fecb66cb20fefdc new file mode 100644 index 00000000..042a1029 Binary files /dev/null and b/fuzz/corpora/cmp/b077fab709ea22461c39a2b37fecb66cb20fefdc differ diff --git a/fuzz/corpora/cmp/b085d20502b867c5395b9dabb0f90bd303a1f5e5 b/fuzz/corpora/cmp/b085d20502b867c5395b9dabb0f90bd303a1f5e5 new file mode 100644 index 00000000..016cbc0f Binary files /dev/null and b/fuzz/corpora/cmp/b085d20502b867c5395b9dabb0f90bd303a1f5e5 differ diff --git a/fuzz/corpora/cmp/b088bb0e084b58b661a2dbdb36e23db2fb126d4f b/fuzz/corpora/cmp/b088bb0e084b58b661a2dbdb36e23db2fb126d4f new file mode 100644 index 00000000..f00c4c8a Binary files /dev/null and b/fuzz/corpora/cmp/b088bb0e084b58b661a2dbdb36e23db2fb126d4f differ diff --git a/fuzz/corpora/cmp/b0c4c19258f804f6c9dd050798c1a20b332ef153 b/fuzz/corpora/cmp/b0c4c19258f804f6c9dd050798c1a20b332ef153 new file mode 100644 index 00000000..5396977c Binary files /dev/null and b/fuzz/corpora/cmp/b0c4c19258f804f6c9dd050798c1a20b332ef153 differ diff --git a/fuzz/corpora/cmp/b0d409b8c096acab2defadd41469e3db1efce7d9 b/fuzz/corpora/cmp/b0d409b8c096acab2defadd41469e3db1efce7d9 new file mode 100644 index 00000000..185e9509 Binary files /dev/null and b/fuzz/corpora/cmp/b0d409b8c096acab2defadd41469e3db1efce7d9 differ diff --git a/fuzz/corpora/cmp/b0d41dcc7a6402364f96c16cebb4530bc5f74b27 b/fuzz/corpora/cmp/b0d41dcc7a6402364f96c16cebb4530bc5f74b27 new file mode 100644 index 00000000..4b4a6205 Binary files /dev/null and b/fuzz/corpora/cmp/b0d41dcc7a6402364f96c16cebb4530bc5f74b27 differ diff --git a/fuzz/corpora/cmp/b0f03b09ccd80b0c46347156bf620c7dc9565b28 b/fuzz/corpora/cmp/b0f03b09ccd80b0c46347156bf620c7dc9565b28 new file mode 100644 index 00000000..94045ce3 Binary files /dev/null and b/fuzz/corpora/cmp/b0f03b09ccd80b0c46347156bf620c7dc9565b28 differ diff --git a/fuzz/corpora/cmp/b0f59b1b1a4cf60e71c670157111914d1d11290b b/fuzz/corpora/cmp/b0f59b1b1a4cf60e71c670157111914d1d11290b new file mode 100644 index 00000000..83e3bbf4 Binary files /dev/null and b/fuzz/corpora/cmp/b0f59b1b1a4cf60e71c670157111914d1d11290b differ diff --git a/fuzz/corpora/cmp/b0fe5758edaa9cc45f1d007415925eb1cf5749fd b/fuzz/corpora/cmp/b0fe5758edaa9cc45f1d007415925eb1cf5749fd new file mode 100644 index 00000000..cbd8c8c4 Binary files /dev/null and b/fuzz/corpora/cmp/b0fe5758edaa9cc45f1d007415925eb1cf5749fd differ diff --git a/fuzz/corpora/cmp/b10787325fd0614ca495e00bd763b2b5a281b6fb b/fuzz/corpora/cmp/b10787325fd0614ca495e00bd763b2b5a281b6fb new file mode 100644 index 00000000..e09f23d7 Binary files /dev/null and b/fuzz/corpora/cmp/b10787325fd0614ca495e00bd763b2b5a281b6fb differ diff --git a/fuzz/corpora/cmp/b1234be9a03e076e6e48f16824a382b976125500 b/fuzz/corpora/cmp/b1234be9a03e076e6e48f16824a382b976125500 new file mode 100644 index 00000000..694dd7f6 Binary files /dev/null and b/fuzz/corpora/cmp/b1234be9a03e076e6e48f16824a382b976125500 differ diff --git a/fuzz/corpora/cmp/b12f9ca6dde2b5ea62bd055125c5de0dd0e17488 b/fuzz/corpora/cmp/b12f9ca6dde2b5ea62bd055125c5de0dd0e17488 new file mode 100644 index 00000000..e5ef4650 Binary files /dev/null and b/fuzz/corpora/cmp/b12f9ca6dde2b5ea62bd055125c5de0dd0e17488 differ diff --git a/fuzz/corpora/cmp/b1512834cb5a40471d883353fe1500f5b66c1d94 b/fuzz/corpora/cmp/b1512834cb5a40471d883353fe1500f5b66c1d94 new file mode 100644 index 00000000..b3e860cc Binary files /dev/null and b/fuzz/corpora/cmp/b1512834cb5a40471d883353fe1500f5b66c1d94 differ diff --git a/fuzz/corpora/cmp/b152854d4c48f2181e2601eec61e5111d53b2161 b/fuzz/corpora/cmp/b152854d4c48f2181e2601eec61e5111d53b2161 new file mode 100644 index 00000000..e252ef2f Binary files /dev/null and b/fuzz/corpora/cmp/b152854d4c48f2181e2601eec61e5111d53b2161 differ diff --git a/fuzz/corpora/cmp/b1566d648da8f165f5af22b1e2d5f278e166b0a8 b/fuzz/corpora/cmp/b1566d648da8f165f5af22b1e2d5f278e166b0a8 new file mode 100644 index 00000000..b1c44375 Binary files /dev/null and b/fuzz/corpora/cmp/b1566d648da8f165f5af22b1e2d5f278e166b0a8 differ diff --git a/fuzz/corpora/cmp/b15a0b12b35936a2d7661279f65e960419450cd5 b/fuzz/corpora/cmp/b15a0b12b35936a2d7661279f65e960419450cd5 new file mode 100644 index 00000000..f4160f65 Binary files /dev/null and b/fuzz/corpora/cmp/b15a0b12b35936a2d7661279f65e960419450cd5 differ diff --git a/fuzz/corpora/cmp/b1655a823287ed58e06fa05079625cdd4956c70f b/fuzz/corpora/cmp/b1655a823287ed58e06fa05079625cdd4956c70f new file mode 100644 index 00000000..56201995 Binary files /dev/null and b/fuzz/corpora/cmp/b1655a823287ed58e06fa05079625cdd4956c70f differ diff --git a/fuzz/corpora/cmp/b17115f9fd88f743c2225988e62a3277f6f506c5 b/fuzz/corpora/cmp/b17115f9fd88f743c2225988e62a3277f6f506c5 new file mode 100644 index 00000000..3233959b Binary files /dev/null and b/fuzz/corpora/cmp/b17115f9fd88f743c2225988e62a3277f6f506c5 differ diff --git a/fuzz/corpora/cmp/b175d6433b625388af35fc83cbbb42e9835bc6f3 b/fuzz/corpora/cmp/b175d6433b625388af35fc83cbbb42e9835bc6f3 new file mode 100644 index 00000000..7551853d Binary files /dev/null and b/fuzz/corpora/cmp/b175d6433b625388af35fc83cbbb42e9835bc6f3 differ diff --git a/fuzz/corpora/cmp/b18b55f02697e901fa9eb818b4d142bbe122f879 b/fuzz/corpora/cmp/b18b55f02697e901fa9eb818b4d142bbe122f879 new file mode 100644 index 00000000..01c298b0 Binary files /dev/null and b/fuzz/corpora/cmp/b18b55f02697e901fa9eb818b4d142bbe122f879 differ diff --git a/fuzz/corpora/cmp/b194a86509344fcc9fddfdcce88f2281651c7d56 b/fuzz/corpora/cmp/b194a86509344fcc9fddfdcce88f2281651c7d56 new file mode 100644 index 00000000..3199ac60 Binary files /dev/null and b/fuzz/corpora/cmp/b194a86509344fcc9fddfdcce88f2281651c7d56 differ diff --git a/fuzz/corpora/cmp/b1b08cb16d795bf246924ce6ce9b81273b71dbd4 b/fuzz/corpora/cmp/b1b08cb16d795bf246924ce6ce9b81273b71dbd4 new file mode 100644 index 00000000..8dce2cf7 Binary files /dev/null and b/fuzz/corpora/cmp/b1b08cb16d795bf246924ce6ce9b81273b71dbd4 differ diff --git a/fuzz/corpora/cmp/b1c187305f11b2e188372c28b163fe10a6ad4e65 b/fuzz/corpora/cmp/b1c187305f11b2e188372c28b163fe10a6ad4e65 new file mode 100644 index 00000000..2bd3c1ce Binary files /dev/null and b/fuzz/corpora/cmp/b1c187305f11b2e188372c28b163fe10a6ad4e65 differ diff --git a/fuzz/corpora/cmp/b20d1247664e536b7e368c9b2bce73af0bfea9df b/fuzz/corpora/cmp/b20d1247664e536b7e368c9b2bce73af0bfea9df new file mode 100644 index 00000000..ba316e33 Binary files /dev/null and b/fuzz/corpora/cmp/b20d1247664e536b7e368c9b2bce73af0bfea9df differ diff --git a/fuzz/corpora/cmp/b23ef6e7e808b76819f95ef2bd1bf2fbc4972603 b/fuzz/corpora/cmp/b23ef6e7e808b76819f95ef2bd1bf2fbc4972603 new file mode 100644 index 00000000..d206e0cc Binary files /dev/null and b/fuzz/corpora/cmp/b23ef6e7e808b76819f95ef2bd1bf2fbc4972603 differ diff --git a/fuzz/corpora/cmp/b23fb701e4f6563750a056548540fbdaf288842e b/fuzz/corpora/cmp/b23fb701e4f6563750a056548540fbdaf288842e new file mode 100644 index 00000000..5153dd23 Binary files /dev/null and b/fuzz/corpora/cmp/b23fb701e4f6563750a056548540fbdaf288842e differ diff --git a/fuzz/corpora/cmp/b26423fd77f959f643c1f2354c33c65bec0f6442 b/fuzz/corpora/cmp/b26423fd77f959f643c1f2354c33c65bec0f6442 new file mode 100644 index 00000000..3b2864f8 Binary files /dev/null and b/fuzz/corpora/cmp/b26423fd77f959f643c1f2354c33c65bec0f6442 differ diff --git a/fuzz/corpora/cmp/b267dc8108d573d121ea128e882fa9824f9e9787 b/fuzz/corpora/cmp/b267dc8108d573d121ea128e882fa9824f9e9787 new file mode 100644 index 00000000..631f74d5 Binary files /dev/null and b/fuzz/corpora/cmp/b267dc8108d573d121ea128e882fa9824f9e9787 differ diff --git a/fuzz/corpora/cmp/b272fe66b745fdbb9669d022b6068987cf8fdd13 b/fuzz/corpora/cmp/b272fe66b745fdbb9669d022b6068987cf8fdd13 new file mode 100644 index 00000000..b568839f Binary files /dev/null and b/fuzz/corpora/cmp/b272fe66b745fdbb9669d022b6068987cf8fdd13 differ diff --git a/fuzz/corpora/cmp/b27884be07c0d208ded3e7afbf834e807828d1ac b/fuzz/corpora/cmp/b27884be07c0d208ded3e7afbf834e807828d1ac new file mode 100644 index 00000000..71e849b3 Binary files /dev/null and b/fuzz/corpora/cmp/b27884be07c0d208ded3e7afbf834e807828d1ac differ diff --git a/fuzz/corpora/cmp/b293dcf50d555e43e65f6f5f315478019d87d7db b/fuzz/corpora/cmp/b293dcf50d555e43e65f6f5f315478019d87d7db new file mode 100644 index 00000000..da7a21eb Binary files /dev/null and b/fuzz/corpora/cmp/b293dcf50d555e43e65f6f5f315478019d87d7db differ diff --git a/fuzz/corpora/cmp/b29632101057d805f406998d9028497c059588da b/fuzz/corpora/cmp/b29632101057d805f406998d9028497c059588da new file mode 100644 index 00000000..635d41be Binary files /dev/null and b/fuzz/corpora/cmp/b29632101057d805f406998d9028497c059588da differ diff --git a/fuzz/corpora/cmp/b2aab9e0bf780185c4ebf1c7e7ef6e4fe4e4e178 b/fuzz/corpora/cmp/b2aab9e0bf780185c4ebf1c7e7ef6e4fe4e4e178 new file mode 100644 index 00000000..12cb8883 Binary files /dev/null and b/fuzz/corpora/cmp/b2aab9e0bf780185c4ebf1c7e7ef6e4fe4e4e178 differ diff --git a/fuzz/corpora/cmp/b2b11836857d2a726b8fe4311b19084de0f19866 b/fuzz/corpora/cmp/b2b11836857d2a726b8fe4311b19084de0f19866 new file mode 100644 index 00000000..6dd4e671 Binary files /dev/null and b/fuzz/corpora/cmp/b2b11836857d2a726b8fe4311b19084de0f19866 differ diff --git a/fuzz/corpora/cmp/b2b8a90d889e132ed58da5226274d0d322c86d6d b/fuzz/corpora/cmp/b2b8a90d889e132ed58da5226274d0d322c86d6d new file mode 100644 index 00000000..97c3d772 Binary files /dev/null and b/fuzz/corpora/cmp/b2b8a90d889e132ed58da5226274d0d322c86d6d differ diff --git a/fuzz/corpora/cmp/b2dfe767ae7f84fd13dfc7a872ca328ca0e2daf7 b/fuzz/corpora/cmp/b2dfe767ae7f84fd13dfc7a872ca328ca0e2daf7 new file mode 100644 index 00000000..5b0ee1a7 Binary files /dev/null and b/fuzz/corpora/cmp/b2dfe767ae7f84fd13dfc7a872ca328ca0e2daf7 differ diff --git a/fuzz/corpora/cmp/b30a3bd81fb6f386c3df42f412dbc7b3fb182232 b/fuzz/corpora/cmp/b30a3bd81fb6f386c3df42f412dbc7b3fb182232 new file mode 100644 index 00000000..5c500a30 Binary files /dev/null and b/fuzz/corpora/cmp/b30a3bd81fb6f386c3df42f412dbc7b3fb182232 differ diff --git a/fuzz/corpora/cmp/b318587564069f71195a2e699d4b5f8cdfe3c518 b/fuzz/corpora/cmp/b318587564069f71195a2e699d4b5f8cdfe3c518 new file mode 100644 index 00000000..ce6dea30 Binary files /dev/null and b/fuzz/corpora/cmp/b318587564069f71195a2e699d4b5f8cdfe3c518 differ diff --git a/fuzz/corpora/cmp/b3266eb501ad8c30ae79e57dfad599b274bcf165 b/fuzz/corpora/cmp/b3266eb501ad8c30ae79e57dfad599b274bcf165 new file mode 100644 index 00000000..586102c0 Binary files /dev/null and b/fuzz/corpora/cmp/b3266eb501ad8c30ae79e57dfad599b274bcf165 differ diff --git a/fuzz/corpora/cmp/b3347f389900fdead46cfae6291907a78757fc8d b/fuzz/corpora/cmp/b3347f389900fdead46cfae6291907a78757fc8d new file mode 100644 index 00000000..b86defc7 Binary files /dev/null and b/fuzz/corpora/cmp/b3347f389900fdead46cfae6291907a78757fc8d differ diff --git a/fuzz/corpora/cmp/b33ed0682a5c5c4a5cb4d22230bcb80f65ad401c b/fuzz/corpora/cmp/b33ed0682a5c5c4a5cb4d22230bcb80f65ad401c new file mode 100644 index 00000000..2c161a8e Binary files /dev/null and b/fuzz/corpora/cmp/b33ed0682a5c5c4a5cb4d22230bcb80f65ad401c differ diff --git a/fuzz/corpora/cmp/b3519e4cabc03cd5e33115535d9a87dab42e3bc6 b/fuzz/corpora/cmp/b3519e4cabc03cd5e33115535d9a87dab42e3bc6 new file mode 100644 index 00000000..7ed06c47 Binary files /dev/null and b/fuzz/corpora/cmp/b3519e4cabc03cd5e33115535d9a87dab42e3bc6 differ diff --git a/fuzz/corpora/cmp/b35d87bcb1cefddd1b1fd255fbfc92f61bde69bb b/fuzz/corpora/cmp/b35d87bcb1cefddd1b1fd255fbfc92f61bde69bb new file mode 100644 index 00000000..8c7ba4ab Binary files /dev/null and b/fuzz/corpora/cmp/b35d87bcb1cefddd1b1fd255fbfc92f61bde69bb differ diff --git a/fuzz/corpora/cmp/b361d7af39612401946dfcb175ec51f59cd2df5d b/fuzz/corpora/cmp/b361d7af39612401946dfcb175ec51f59cd2df5d new file mode 100644 index 00000000..d3b6f3ec Binary files /dev/null and b/fuzz/corpora/cmp/b361d7af39612401946dfcb175ec51f59cd2df5d differ diff --git a/fuzz/corpora/cmp/b36b982cb8373616922d4dc6d7cee658f6d8277c b/fuzz/corpora/cmp/b36b982cb8373616922d4dc6d7cee658f6d8277c new file mode 100644 index 00000000..1a3690cb Binary files /dev/null and b/fuzz/corpora/cmp/b36b982cb8373616922d4dc6d7cee658f6d8277c differ diff --git a/fuzz/corpora/cmp/b37ebce5eedf3262ede8ae41d9e537bf1352063c b/fuzz/corpora/cmp/b37ebce5eedf3262ede8ae41d9e537bf1352063c new file mode 100644 index 00000000..93847609 Binary files /dev/null and b/fuzz/corpora/cmp/b37ebce5eedf3262ede8ae41d9e537bf1352063c differ diff --git a/fuzz/corpora/cmp/b37fe37653755e86e8f6ffcc989273d3291d8db7 b/fuzz/corpora/cmp/b37fe37653755e86e8f6ffcc989273d3291d8db7 new file mode 100644 index 00000000..b1b3965c Binary files /dev/null and b/fuzz/corpora/cmp/b37fe37653755e86e8f6ffcc989273d3291d8db7 differ diff --git a/fuzz/corpora/cmp/b387fbd32ac0f308fc2d0bd6ffea995901e80418 b/fuzz/corpora/cmp/b387fbd32ac0f308fc2d0bd6ffea995901e80418 new file mode 100644 index 00000000..13aae32a Binary files /dev/null and b/fuzz/corpora/cmp/b387fbd32ac0f308fc2d0bd6ffea995901e80418 differ diff --git a/fuzz/corpora/cmp/b39dd3b878b3ee9a14cbc40f704262b5a3a9f677 b/fuzz/corpora/cmp/b39dd3b878b3ee9a14cbc40f704262b5a3a9f677 new file mode 100644 index 00000000..8b026839 Binary files /dev/null and b/fuzz/corpora/cmp/b39dd3b878b3ee9a14cbc40f704262b5a3a9f677 differ diff --git a/fuzz/corpora/cmp/b3a88dd23446db179e77bb7dbeae3c4ed4a314ff b/fuzz/corpora/cmp/b3a88dd23446db179e77bb7dbeae3c4ed4a314ff new file mode 100644 index 00000000..f33ded6e Binary files /dev/null and b/fuzz/corpora/cmp/b3a88dd23446db179e77bb7dbeae3c4ed4a314ff differ diff --git a/fuzz/corpora/cmp/b3b42ccaa152d0049eee67ae15e4b132438fc49a b/fuzz/corpora/cmp/b3b42ccaa152d0049eee67ae15e4b132438fc49a new file mode 100644 index 00000000..db98bd70 Binary files /dev/null and b/fuzz/corpora/cmp/b3b42ccaa152d0049eee67ae15e4b132438fc49a differ diff --git a/fuzz/corpora/cmp/b3bb8f164200b17295b7bd78150f46b6e56453fe b/fuzz/corpora/cmp/b3bb8f164200b17295b7bd78150f46b6e56453fe new file mode 100644 index 00000000..0902d42c Binary files /dev/null and b/fuzz/corpora/cmp/b3bb8f164200b17295b7bd78150f46b6e56453fe differ diff --git a/fuzz/corpora/cmp/b3bc585101c98bc98fea595e3df3d4846e80513c b/fuzz/corpora/cmp/b3bc585101c98bc98fea595e3df3d4846e80513c new file mode 100644 index 00000000..04c1664e Binary files /dev/null and b/fuzz/corpora/cmp/b3bc585101c98bc98fea595e3df3d4846e80513c differ diff --git a/fuzz/corpora/cmp/b3e7c2d1ae4efbb992e6f47cb61dd39763b294e8 b/fuzz/corpora/cmp/b3e7c2d1ae4efbb992e6f47cb61dd39763b294e8 new file mode 100644 index 00000000..7241c9d8 Binary files /dev/null and b/fuzz/corpora/cmp/b3e7c2d1ae4efbb992e6f47cb61dd39763b294e8 differ diff --git a/fuzz/corpora/cmp/b3ef65baf04f62e2593be9fb5e2a5e6769b38dcf b/fuzz/corpora/cmp/b3ef65baf04f62e2593be9fb5e2a5e6769b38dcf new file mode 100644 index 00000000..416215bd Binary files /dev/null and b/fuzz/corpora/cmp/b3ef65baf04f62e2593be9fb5e2a5e6769b38dcf differ diff --git a/fuzz/corpora/cmp/b3f02e2390d343645653ca67bcc187ec77d18340 b/fuzz/corpora/cmp/b3f02e2390d343645653ca67bcc187ec77d18340 new file mode 100644 index 00000000..4798e252 Binary files /dev/null and b/fuzz/corpora/cmp/b3f02e2390d343645653ca67bcc187ec77d18340 differ diff --git a/fuzz/corpora/cmp/b4156e59042c40e68e862baa21b4c283985ce9d5 b/fuzz/corpora/cmp/b4156e59042c40e68e862baa21b4c283985ce9d5 new file mode 100644 index 00000000..e20444b1 Binary files /dev/null and b/fuzz/corpora/cmp/b4156e59042c40e68e862baa21b4c283985ce9d5 differ diff --git a/fuzz/corpora/cmp/b41c00b94101d3c128100d742bd50cecf9c14ed9 b/fuzz/corpora/cmp/b41c00b94101d3c128100d742bd50cecf9c14ed9 new file mode 100644 index 00000000..e728bdd5 Binary files /dev/null and b/fuzz/corpora/cmp/b41c00b94101d3c128100d742bd50cecf9c14ed9 differ diff --git a/fuzz/corpora/cmp/b41e2c9ec35e5305c51801a63bff7a9af87baa37 b/fuzz/corpora/cmp/b41e2c9ec35e5305c51801a63bff7a9af87baa37 new file mode 100644 index 00000000..b2f424e7 Binary files /dev/null and b/fuzz/corpora/cmp/b41e2c9ec35e5305c51801a63bff7a9af87baa37 differ diff --git a/fuzz/corpora/cmp/b4264348f240694de39995eb0978ca9a0f280cf4 b/fuzz/corpora/cmp/b4264348f240694de39995eb0978ca9a0f280cf4 new file mode 100644 index 00000000..301979b4 Binary files /dev/null and b/fuzz/corpora/cmp/b4264348f240694de39995eb0978ca9a0f280cf4 differ diff --git a/fuzz/corpora/cmp/b426f97b7f3c032fd2bf10feded8f3fb5370362d b/fuzz/corpora/cmp/b426f97b7f3c032fd2bf10feded8f3fb5370362d new file mode 100644 index 00000000..e8b83db4 Binary files /dev/null and b/fuzz/corpora/cmp/b426f97b7f3c032fd2bf10feded8f3fb5370362d differ diff --git a/fuzz/corpora/cmp/b42fbb9561065525ef4e5e3108e6a14a4f5767ca b/fuzz/corpora/cmp/b42fbb9561065525ef4e5e3108e6a14a4f5767ca new file mode 100644 index 00000000..83c26f3c Binary files /dev/null and b/fuzz/corpora/cmp/b42fbb9561065525ef4e5e3108e6a14a4f5767ca differ diff --git a/fuzz/corpora/cmp/b4342d45908bcc387204673b077cf3df2466aa1e b/fuzz/corpora/cmp/b4342d45908bcc387204673b077cf3df2466aa1e new file mode 100644 index 00000000..2ae156a5 Binary files /dev/null and b/fuzz/corpora/cmp/b4342d45908bcc387204673b077cf3df2466aa1e differ diff --git a/fuzz/corpora/cmp/b43616d8ecd8e2d9c74c65a8eb20d5e4ac806d88 b/fuzz/corpora/cmp/b43616d8ecd8e2d9c74c65a8eb20d5e4ac806d88 new file mode 100644 index 00000000..ae332a93 Binary files /dev/null and b/fuzz/corpora/cmp/b43616d8ecd8e2d9c74c65a8eb20d5e4ac806d88 differ diff --git a/fuzz/corpora/cmp/b43b15d2145179f3badfb2756dc64693024085ef b/fuzz/corpora/cmp/b43b15d2145179f3badfb2756dc64693024085ef new file mode 100644 index 00000000..198161e9 Binary files /dev/null and b/fuzz/corpora/cmp/b43b15d2145179f3badfb2756dc64693024085ef differ diff --git a/fuzz/corpora/cmp/b457cd69d14da0b99f739c0e1e2a62fb426e3c15 b/fuzz/corpora/cmp/b457cd69d14da0b99f739c0e1e2a62fb426e3c15 new file mode 100644 index 00000000..af6bed4c Binary files /dev/null and b/fuzz/corpora/cmp/b457cd69d14da0b99f739c0e1e2a62fb426e3c15 differ diff --git a/fuzz/corpora/cmp/b45f610290f5c22d87f3b2fea71fa10c38f35902 b/fuzz/corpora/cmp/b45f610290f5c22d87f3b2fea71fa10c38f35902 new file mode 100644 index 00000000..50cfe3f1 Binary files /dev/null and b/fuzz/corpora/cmp/b45f610290f5c22d87f3b2fea71fa10c38f35902 differ diff --git a/fuzz/corpora/cmp/b475f613403184f0aae4a805be53e56a8d8779fd b/fuzz/corpora/cmp/b475f613403184f0aae4a805be53e56a8d8779fd new file mode 100644 index 00000000..52831635 Binary files /dev/null and b/fuzz/corpora/cmp/b475f613403184f0aae4a805be53e56a8d8779fd differ diff --git a/fuzz/corpora/cmp/b47697b6786493fe7b3b2cbb784ea9b73b1565c8 b/fuzz/corpora/cmp/b47697b6786493fe7b3b2cbb784ea9b73b1565c8 new file mode 100644 index 00000000..15fcefce Binary files /dev/null and b/fuzz/corpora/cmp/b47697b6786493fe7b3b2cbb784ea9b73b1565c8 differ diff --git a/fuzz/corpora/cmp/b479557d6897ef3ffcefb2b305d8d021fa87d0a4 b/fuzz/corpora/cmp/b479557d6897ef3ffcefb2b305d8d021fa87d0a4 new file mode 100644 index 00000000..4e047b56 Binary files /dev/null and b/fuzz/corpora/cmp/b479557d6897ef3ffcefb2b305d8d021fa87d0a4 differ diff --git a/fuzz/corpora/cmp/b47bac197a9516541530dd9c43ccf6f26f8d6957 b/fuzz/corpora/cmp/b47bac197a9516541530dd9c43ccf6f26f8d6957 new file mode 100644 index 00000000..570d1a9e Binary files /dev/null and b/fuzz/corpora/cmp/b47bac197a9516541530dd9c43ccf6f26f8d6957 differ diff --git a/fuzz/corpora/cmp/b47c991a51113e6e56e8d4716a3d71e4afc33d43 b/fuzz/corpora/cmp/b47c991a51113e6e56e8d4716a3d71e4afc33d43 new file mode 100644 index 00000000..0ce5f4d9 Binary files /dev/null and b/fuzz/corpora/cmp/b47c991a51113e6e56e8d4716a3d71e4afc33d43 differ diff --git a/fuzz/corpora/cmp/b47e593e1972a81dfa88ccb688e47cb8a3ba80e1 b/fuzz/corpora/cmp/b47e593e1972a81dfa88ccb688e47cb8a3ba80e1 new file mode 100644 index 00000000..2fc14c5b Binary files /dev/null and b/fuzz/corpora/cmp/b47e593e1972a81dfa88ccb688e47cb8a3ba80e1 differ diff --git a/fuzz/corpora/cmp/b4896b81d9024091b7ec43c54040d1f995b19c75 b/fuzz/corpora/cmp/b4896b81d9024091b7ec43c54040d1f995b19c75 new file mode 100644 index 00000000..b55f18b9 Binary files /dev/null and b/fuzz/corpora/cmp/b4896b81d9024091b7ec43c54040d1f995b19c75 differ diff --git a/fuzz/corpora/cmp/b48d51bd5cbdeac900efedfc3e4722c55e15e06b b/fuzz/corpora/cmp/b48d51bd5cbdeac900efedfc3e4722c55e15e06b new file mode 100644 index 00000000..0cc3cfe5 Binary files /dev/null and b/fuzz/corpora/cmp/b48d51bd5cbdeac900efedfc3e4722c55e15e06b differ diff --git a/fuzz/corpora/cmp/b495231d319ad0a34fc3e0f4445fd798de7e02e1 b/fuzz/corpora/cmp/b495231d319ad0a34fc3e0f4445fd798de7e02e1 new file mode 100644 index 00000000..e02d0a89 Binary files /dev/null and b/fuzz/corpora/cmp/b495231d319ad0a34fc3e0f4445fd798de7e02e1 differ diff --git a/fuzz/corpora/cmp/b4d73c9fa0c78cb00edb6cfa0cd79df205b887fa b/fuzz/corpora/cmp/b4d73c9fa0c78cb00edb6cfa0cd79df205b887fa new file mode 100644 index 00000000..5aadf280 Binary files /dev/null and b/fuzz/corpora/cmp/b4d73c9fa0c78cb00edb6cfa0cd79df205b887fa differ diff --git a/fuzz/corpora/cmp/b4deb23f6556ba00374a01ba29522e559022bdd5 b/fuzz/corpora/cmp/b4deb23f6556ba00374a01ba29522e559022bdd5 new file mode 100644 index 00000000..842c5fc1 Binary files /dev/null and b/fuzz/corpora/cmp/b4deb23f6556ba00374a01ba29522e559022bdd5 differ diff --git a/fuzz/corpora/cmp/b4f1e89e8cd9fa33eca29372f42b77db823da206 b/fuzz/corpora/cmp/b4f1e89e8cd9fa33eca29372f42b77db823da206 new file mode 100644 index 00000000..15a46eec Binary files /dev/null and b/fuzz/corpora/cmp/b4f1e89e8cd9fa33eca29372f42b77db823da206 differ diff --git a/fuzz/corpora/cmp/b4f3d78d39476b3bbd00712da9a2f8f475382fd6 b/fuzz/corpora/cmp/b4f3d78d39476b3bbd00712da9a2f8f475382fd6 new file mode 100644 index 00000000..d09a06a1 --- /dev/null +++ b/fuzz/corpora/cmp/b4f3d78d39476b3bbd00712da9a2f8f475382fd6 @@ -0,0 +1 @@ +x \ No newline at end of file diff --git a/fuzz/corpora/cmp/b4f887274bae347a8e9c3c520ac7d1f149d31d4d b/fuzz/corpora/cmp/b4f887274bae347a8e9c3c520ac7d1f149d31d4d new file mode 100644 index 00000000..6b6a5d18 Binary files /dev/null and b/fuzz/corpora/cmp/b4f887274bae347a8e9c3c520ac7d1f149d31d4d differ diff --git a/fuzz/corpora/cmp/b51da2df42ec0af3ee0974ab32e8d3c8f30f5025 b/fuzz/corpora/cmp/b51da2df42ec0af3ee0974ab32e8d3c8f30f5025 new file mode 100644 index 00000000..5a0a2d9b Binary files /dev/null and b/fuzz/corpora/cmp/b51da2df42ec0af3ee0974ab32e8d3c8f30f5025 differ diff --git a/fuzz/corpora/cmp/b528b5202f89b34bc2bb522bf7170fad83faa1c2 b/fuzz/corpora/cmp/b528b5202f89b34bc2bb522bf7170fad83faa1c2 new file mode 100644 index 00000000..e6d3d029 Binary files /dev/null and b/fuzz/corpora/cmp/b528b5202f89b34bc2bb522bf7170fad83faa1c2 differ diff --git a/fuzz/corpora/cmp/b52ff11d13be432273d6621925200225602e75de b/fuzz/corpora/cmp/b52ff11d13be432273d6621925200225602e75de new file mode 100644 index 00000000..d733f67c Binary files /dev/null and b/fuzz/corpora/cmp/b52ff11d13be432273d6621925200225602e75de differ diff --git a/fuzz/corpora/cmp/b531c990c86def2e42bcab3958a5361e5f381385 b/fuzz/corpora/cmp/b531c990c86def2e42bcab3958a5361e5f381385 new file mode 100644 index 00000000..d340d368 Binary files /dev/null and b/fuzz/corpora/cmp/b531c990c86def2e42bcab3958a5361e5f381385 differ diff --git a/fuzz/corpora/cmp/b5353a14c5a555c01117879e2372c1bc01d2c437 b/fuzz/corpora/cmp/b5353a14c5a555c01117879e2372c1bc01d2c437 new file mode 100644 index 00000000..08ed9cb2 Binary files /dev/null and b/fuzz/corpora/cmp/b5353a14c5a555c01117879e2372c1bc01d2c437 differ diff --git a/fuzz/corpora/cmp/b53da4c4600fca168d8094a23b01a0a19a74f485 b/fuzz/corpora/cmp/b53da4c4600fca168d8094a23b01a0a19a74f485 new file mode 100644 index 00000000..4647faee Binary files /dev/null and b/fuzz/corpora/cmp/b53da4c4600fca168d8094a23b01a0a19a74f485 differ diff --git a/fuzz/corpora/cmp/b5472cad5f0b4efe74ce5312b93b0840ca5888eb b/fuzz/corpora/cmp/b5472cad5f0b4efe74ce5312b93b0840ca5888eb new file mode 100644 index 00000000..14c24efa Binary files /dev/null and b/fuzz/corpora/cmp/b5472cad5f0b4efe74ce5312b93b0840ca5888eb differ diff --git a/fuzz/corpora/cmp/b5643454b1d5379bd4e8a9cb19e31080ead58702 b/fuzz/corpora/cmp/b5643454b1d5379bd4e8a9cb19e31080ead58702 new file mode 100644 index 00000000..3793abd4 Binary files /dev/null and b/fuzz/corpora/cmp/b5643454b1d5379bd4e8a9cb19e31080ead58702 differ diff --git a/fuzz/corpora/cmp/b569b964c030da8ae4442c9c96c29bf1b0008fce b/fuzz/corpora/cmp/b569b964c030da8ae4442c9c96c29bf1b0008fce new file mode 100644 index 00000000..dc7dc618 Binary files /dev/null and b/fuzz/corpora/cmp/b569b964c030da8ae4442c9c96c29bf1b0008fce differ diff --git a/fuzz/corpora/cmp/b56aafc58753e40b9c156a28edac51c13095da1e b/fuzz/corpora/cmp/b56aafc58753e40b9c156a28edac51c13095da1e new file mode 100644 index 00000000..a63762d8 Binary files /dev/null and b/fuzz/corpora/cmp/b56aafc58753e40b9c156a28edac51c13095da1e differ diff --git a/fuzz/corpora/cmp/b5b5f126c149a3224c5c512ad81522f887331705 b/fuzz/corpora/cmp/b5b5f126c149a3224c5c512ad81522f887331705 new file mode 100644 index 00000000..12a9c453 Binary files /dev/null and b/fuzz/corpora/cmp/b5b5f126c149a3224c5c512ad81522f887331705 differ diff --git a/fuzz/corpora/cmp/b5ba3e6fda933bbdd261a884aac1acc517c934fe b/fuzz/corpora/cmp/b5ba3e6fda933bbdd261a884aac1acc517c934fe new file mode 100644 index 00000000..64118e73 Binary files /dev/null and b/fuzz/corpora/cmp/b5ba3e6fda933bbdd261a884aac1acc517c934fe differ diff --git a/fuzz/corpora/cmp/b5c03e52a4162b79265e4d61eebab0e92eae5460 b/fuzz/corpora/cmp/b5c03e52a4162b79265e4d61eebab0e92eae5460 new file mode 100644 index 00000000..1e393be3 Binary files /dev/null and b/fuzz/corpora/cmp/b5c03e52a4162b79265e4d61eebab0e92eae5460 differ diff --git a/fuzz/corpora/cmp/b5c49c23b1046064e7d553812f56bc749b00aa87 b/fuzz/corpora/cmp/b5c49c23b1046064e7d553812f56bc749b00aa87 new file mode 100644 index 00000000..61106a85 Binary files /dev/null and b/fuzz/corpora/cmp/b5c49c23b1046064e7d553812f56bc749b00aa87 differ diff --git a/fuzz/corpora/cmp/b5d5f3ee49e0312d60fbc77a11c546bc1b164f68 b/fuzz/corpora/cmp/b5d5f3ee49e0312d60fbc77a11c546bc1b164f68 new file mode 100644 index 00000000..68b31cc4 Binary files /dev/null and b/fuzz/corpora/cmp/b5d5f3ee49e0312d60fbc77a11c546bc1b164f68 differ diff --git a/fuzz/corpora/cmp/b5ee5d417125d1e37d370938bdeaa4e151a5d3a0 b/fuzz/corpora/cmp/b5ee5d417125d1e37d370938bdeaa4e151a5d3a0 new file mode 100644 index 00000000..7d8c0452 Binary files /dev/null and b/fuzz/corpora/cmp/b5ee5d417125d1e37d370938bdeaa4e151a5d3a0 differ diff --git a/fuzz/corpora/cmp/b5f7c1bc71138cad0fed71e7fef2952788513f54 b/fuzz/corpora/cmp/b5f7c1bc71138cad0fed71e7fef2952788513f54 new file mode 100644 index 00000000..848fd5af Binary files /dev/null and b/fuzz/corpora/cmp/b5f7c1bc71138cad0fed71e7fef2952788513f54 differ diff --git a/fuzz/corpora/cmp/b601644756e43ea392eff148eef5ffc8bb87e13f b/fuzz/corpora/cmp/b601644756e43ea392eff148eef5ffc8bb87e13f new file mode 100644 index 00000000..76ef8fbc Binary files /dev/null and b/fuzz/corpora/cmp/b601644756e43ea392eff148eef5ffc8bb87e13f differ diff --git a/fuzz/corpora/cmp/b61666e1d0cee2c0134e5ee5f0714a449b9a71b9 b/fuzz/corpora/cmp/b61666e1d0cee2c0134e5ee5f0714a449b9a71b9 new file mode 100644 index 00000000..859a38cc Binary files /dev/null and b/fuzz/corpora/cmp/b61666e1d0cee2c0134e5ee5f0714a449b9a71b9 differ diff --git a/fuzz/corpora/cmp/b618c601d47a4f45991f4c3744a44d5bb9afbcf6 b/fuzz/corpora/cmp/b618c601d47a4f45991f4c3744a44d5bb9afbcf6 new file mode 100644 index 00000000..027fcab2 Binary files /dev/null and b/fuzz/corpora/cmp/b618c601d47a4f45991f4c3744a44d5bb9afbcf6 differ diff --git a/fuzz/corpora/cmp/b6248afbf39a9121eeccd2246036336e7b5c5ba9 b/fuzz/corpora/cmp/b6248afbf39a9121eeccd2246036336e7b5c5ba9 new file mode 100644 index 00000000..297cbeb6 Binary files /dev/null and b/fuzz/corpora/cmp/b6248afbf39a9121eeccd2246036336e7b5c5ba9 differ diff --git a/fuzz/corpora/cmp/b62f98976c11d79674b019ea78a7ce4d6d78b479 b/fuzz/corpora/cmp/b62f98976c11d79674b019ea78a7ce4d6d78b479 new file mode 100644 index 00000000..6a4f1860 Binary files /dev/null and b/fuzz/corpora/cmp/b62f98976c11d79674b019ea78a7ce4d6d78b479 differ diff --git a/fuzz/corpora/cmp/b6728a5e85604ecff6fff99ac93a1594f51aef28 b/fuzz/corpora/cmp/b6728a5e85604ecff6fff99ac93a1594f51aef28 new file mode 100644 index 00000000..937d4258 Binary files /dev/null and b/fuzz/corpora/cmp/b6728a5e85604ecff6fff99ac93a1594f51aef28 differ diff --git a/fuzz/corpora/cmp/b68542373c05c0ed25231d09955b2c699d37c45b b/fuzz/corpora/cmp/b68542373c05c0ed25231d09955b2c699d37c45b new file mode 100644 index 00000000..050ac90e --- /dev/null +++ b/fuzz/corpora/cmp/b68542373c05c0ed25231d09955b2c699d37c45b @@ -0,0 +1 @@ +þ \ No newline at end of file diff --git a/fuzz/corpora/cmp/b688029b89d521b9924989b95ae7548c22add925 b/fuzz/corpora/cmp/b688029b89d521b9924989b95ae7548c22add925 new file mode 100644 index 00000000..cb9f0ae1 Binary files /dev/null and b/fuzz/corpora/cmp/b688029b89d521b9924989b95ae7548c22add925 differ diff --git a/fuzz/corpora/cmp/b688851302d0fcb7799d4d0cc8670f2921124378 b/fuzz/corpora/cmp/b688851302d0fcb7799d4d0cc8670f2921124378 new file mode 100644 index 00000000..f4e0940d Binary files /dev/null and b/fuzz/corpora/cmp/b688851302d0fcb7799d4d0cc8670f2921124378 differ diff --git a/fuzz/corpora/cmp/b69191396cd2900df709edce14c03325382aaa24 b/fuzz/corpora/cmp/b69191396cd2900df709edce14c03325382aaa24 new file mode 100644 index 00000000..9375c91f Binary files /dev/null and b/fuzz/corpora/cmp/b69191396cd2900df709edce14c03325382aaa24 differ diff --git a/fuzz/corpora/cmp/b6a4e3371800beb020eb207661b307b2d707e7ca b/fuzz/corpora/cmp/b6a4e3371800beb020eb207661b307b2d707e7ca new file mode 100644 index 00000000..323f0713 Binary files /dev/null and b/fuzz/corpora/cmp/b6a4e3371800beb020eb207661b307b2d707e7ca differ diff --git a/fuzz/corpora/cmp/b6acce4f0567ee07ae54aebaf5db6288cea2d715 b/fuzz/corpora/cmp/b6acce4f0567ee07ae54aebaf5db6288cea2d715 new file mode 100644 index 00000000..8737e9ed Binary files /dev/null and b/fuzz/corpora/cmp/b6acce4f0567ee07ae54aebaf5db6288cea2d715 differ diff --git a/fuzz/corpora/cmp/b6bc41bbffb0de9e3920a11706c3a1db5d55ef2b b/fuzz/corpora/cmp/b6bc41bbffb0de9e3920a11706c3a1db5d55ef2b new file mode 100644 index 00000000..d8c78264 Binary files /dev/null and b/fuzz/corpora/cmp/b6bc41bbffb0de9e3920a11706c3a1db5d55ef2b differ diff --git a/fuzz/corpora/cmp/b6bebaf3a20a17781f85e5eada502e9834a61c83 b/fuzz/corpora/cmp/b6bebaf3a20a17781f85e5eada502e9834a61c83 new file mode 100644 index 00000000..5b8e18bc Binary files /dev/null and b/fuzz/corpora/cmp/b6bebaf3a20a17781f85e5eada502e9834a61c83 differ diff --git a/fuzz/corpora/cmp/b6e13e1babc32a8ce504b67d67b1c6db76c2654a b/fuzz/corpora/cmp/b6e13e1babc32a8ce504b67d67b1c6db76c2654a new file mode 100644 index 00000000..ceace599 Binary files /dev/null and b/fuzz/corpora/cmp/b6e13e1babc32a8ce504b67d67b1c6db76c2654a differ diff --git a/fuzz/corpora/cmp/b6ed784630d248db70559ae167c155e7d89d4cf6 b/fuzz/corpora/cmp/b6ed784630d248db70559ae167c155e7d89d4cf6 new file mode 100644 index 00000000..ccc6256a Binary files /dev/null and b/fuzz/corpora/cmp/b6ed784630d248db70559ae167c155e7d89d4cf6 differ diff --git a/fuzz/corpora/cmp/b700469d6bbc6a2ee8423d59a7b752572cc5aa2a b/fuzz/corpora/cmp/b700469d6bbc6a2ee8423d59a7b752572cc5aa2a new file mode 100644 index 00000000..64957960 Binary files /dev/null and b/fuzz/corpora/cmp/b700469d6bbc6a2ee8423d59a7b752572cc5aa2a differ diff --git a/fuzz/corpora/cmp/b710e2ecc69c9747949146a59bda612e8a8d7b71 b/fuzz/corpora/cmp/b710e2ecc69c9747949146a59bda612e8a8d7b71 new file mode 100644 index 00000000..878efbe3 Binary files /dev/null and b/fuzz/corpora/cmp/b710e2ecc69c9747949146a59bda612e8a8d7b71 differ diff --git a/fuzz/corpora/cmp/b7374a11c800f6272805d71008ff98a99d5caf85 b/fuzz/corpora/cmp/b7374a11c800f6272805d71008ff98a99d5caf85 new file mode 100644 index 00000000..1b29e00e Binary files /dev/null and b/fuzz/corpora/cmp/b7374a11c800f6272805d71008ff98a99d5caf85 differ diff --git a/fuzz/corpora/cmp/b7672a977b6ac6e2ab7b116588fe454675d93929 b/fuzz/corpora/cmp/b7672a977b6ac6e2ab7b116588fe454675d93929 new file mode 100644 index 00000000..e91be2db Binary files /dev/null and b/fuzz/corpora/cmp/b7672a977b6ac6e2ab7b116588fe454675d93929 differ diff --git a/fuzz/corpora/cmp/b792935913c5f4ecfde6e21f4d733b032392270a b/fuzz/corpora/cmp/b792935913c5f4ecfde6e21f4d733b032392270a new file mode 100644 index 00000000..9d6b08a8 Binary files /dev/null and b/fuzz/corpora/cmp/b792935913c5f4ecfde6e21f4d733b032392270a differ diff --git a/fuzz/corpora/cmp/b7afb2f4cca023ef2aa537417b50be841d5610a1 b/fuzz/corpora/cmp/b7afb2f4cca023ef2aa537417b50be841d5610a1 new file mode 100644 index 00000000..a24b495e Binary files /dev/null and b/fuzz/corpora/cmp/b7afb2f4cca023ef2aa537417b50be841d5610a1 differ diff --git a/fuzz/corpora/cmp/b7afb9fdf9a6446f4890201e4992ad1e71a52fe6 b/fuzz/corpora/cmp/b7afb9fdf9a6446f4890201e4992ad1e71a52fe6 new file mode 100644 index 00000000..e03017dd Binary files /dev/null and b/fuzz/corpora/cmp/b7afb9fdf9a6446f4890201e4992ad1e71a52fe6 differ diff --git a/fuzz/corpora/cmp/b7c14c2a5ca180f35e94d572c752d61a3378d156 b/fuzz/corpora/cmp/b7c14c2a5ca180f35e94d572c752d61a3378d156 new file mode 100644 index 00000000..ee0889b3 Binary files /dev/null and b/fuzz/corpora/cmp/b7c14c2a5ca180f35e94d572c752d61a3378d156 differ diff --git a/fuzz/corpora/cmp/b7c39d6ac1d89b9347ba2539cddee9f592a52dc0 b/fuzz/corpora/cmp/b7c39d6ac1d89b9347ba2539cddee9f592a52dc0 new file mode 100644 index 00000000..2bb1a3d9 Binary files /dev/null and b/fuzz/corpora/cmp/b7c39d6ac1d89b9347ba2539cddee9f592a52dc0 differ diff --git a/fuzz/corpora/cmp/b7c9b80d49564b0dd2271c6ca074aba8fda209e9 b/fuzz/corpora/cmp/b7c9b80d49564b0dd2271c6ca074aba8fda209e9 new file mode 100644 index 00000000..c5a97f8a Binary files /dev/null and b/fuzz/corpora/cmp/b7c9b80d49564b0dd2271c6ca074aba8fda209e9 differ diff --git a/fuzz/corpora/cmp/b7de441072971ca0b2d3424be0b06ff2d283e431 b/fuzz/corpora/cmp/b7de441072971ca0b2d3424be0b06ff2d283e431 new file mode 100644 index 00000000..81202206 Binary files /dev/null and b/fuzz/corpora/cmp/b7de441072971ca0b2d3424be0b06ff2d283e431 differ diff --git a/fuzz/corpora/cmp/b80eb92f2e193a5626bd379a9c22fc03b7802637 b/fuzz/corpora/cmp/b80eb92f2e193a5626bd379a9c22fc03b7802637 new file mode 100644 index 00000000..de37853b Binary files /dev/null and b/fuzz/corpora/cmp/b80eb92f2e193a5626bd379a9c22fc03b7802637 differ diff --git a/fuzz/corpora/cmp/b8276d159df5c6ce5a4f8934ab33a0a7771ab00a b/fuzz/corpora/cmp/b8276d159df5c6ce5a4f8934ab33a0a7771ab00a new file mode 100644 index 00000000..40c8039b Binary files /dev/null and b/fuzz/corpora/cmp/b8276d159df5c6ce5a4f8934ab33a0a7771ab00a differ diff --git a/fuzz/corpora/cmp/b82a65aaf39298379fd4911ffc36dce97d1beabf b/fuzz/corpora/cmp/b82a65aaf39298379fd4911ffc36dce97d1beabf new file mode 100644 index 00000000..c31c3336 Binary files /dev/null and b/fuzz/corpora/cmp/b82a65aaf39298379fd4911ffc36dce97d1beabf differ diff --git a/fuzz/corpora/cmp/b83b30208d4314bc895def2e0671df6353571db3 b/fuzz/corpora/cmp/b83b30208d4314bc895def2e0671df6353571db3 new file mode 100644 index 00000000..c6acf3b1 Binary files /dev/null and b/fuzz/corpora/cmp/b83b30208d4314bc895def2e0671df6353571db3 differ diff --git a/fuzz/corpora/cmp/b86102736ad884df9cd366790ee85345c66a7e49 b/fuzz/corpora/cmp/b86102736ad884df9cd366790ee85345c66a7e49 new file mode 100644 index 00000000..f3243d94 Binary files /dev/null and b/fuzz/corpora/cmp/b86102736ad884df9cd366790ee85345c66a7e49 differ diff --git a/fuzz/corpora/cmp/b87044e7efac3b91aef38db7bd4fbf0d96808a4e b/fuzz/corpora/cmp/b87044e7efac3b91aef38db7bd4fbf0d96808a4e new file mode 100644 index 00000000..a82afab5 Binary files /dev/null and b/fuzz/corpora/cmp/b87044e7efac3b91aef38db7bd4fbf0d96808a4e differ diff --git a/fuzz/corpora/cmp/b89125064067a95275b83cb8f6d54074f3200e0d b/fuzz/corpora/cmp/b89125064067a95275b83cb8f6d54074f3200e0d new file mode 100644 index 00000000..602ef4b1 Binary files /dev/null and b/fuzz/corpora/cmp/b89125064067a95275b83cb8f6d54074f3200e0d differ diff --git a/fuzz/corpora/cmp/b89d05731f9e4849d500085de69cff4b480d9c95 b/fuzz/corpora/cmp/b89d05731f9e4849d500085de69cff4b480d9c95 new file mode 100644 index 00000000..a27973e6 Binary files /dev/null and b/fuzz/corpora/cmp/b89d05731f9e4849d500085de69cff4b480d9c95 differ diff --git a/fuzz/corpora/cmp/b8c4c6f61d06d6289c194ad3dc156cf3245926f0 b/fuzz/corpora/cmp/b8c4c6f61d06d6289c194ad3dc156cf3245926f0 new file mode 100644 index 00000000..f5919255 Binary files /dev/null and b/fuzz/corpora/cmp/b8c4c6f61d06d6289c194ad3dc156cf3245926f0 differ diff --git a/fuzz/corpora/cmp/b8c51c9aaec88e0f797a529db27ead0d1a44468c b/fuzz/corpora/cmp/b8c51c9aaec88e0f797a529db27ead0d1a44468c new file mode 100644 index 00000000..67b32a46 Binary files /dev/null and b/fuzz/corpora/cmp/b8c51c9aaec88e0f797a529db27ead0d1a44468c differ diff --git a/fuzz/corpora/cmp/b8ec5f4f9f4a63697cea1e065ca3b4897c3b71ca b/fuzz/corpora/cmp/b8ec5f4f9f4a63697cea1e065ca3b4897c3b71ca new file mode 100644 index 00000000..4e33cc02 Binary files /dev/null and b/fuzz/corpora/cmp/b8ec5f4f9f4a63697cea1e065ca3b4897c3b71ca differ diff --git a/fuzz/corpora/cmp/b8f28df2dca28129d1a5887dc0dba798ecfada65 b/fuzz/corpora/cmp/b8f28df2dca28129d1a5887dc0dba798ecfada65 new file mode 100644 index 00000000..861c91f7 Binary files /dev/null and b/fuzz/corpora/cmp/b8f28df2dca28129d1a5887dc0dba798ecfada65 differ diff --git a/fuzz/corpora/cmp/b8fd73b989bd38ce18b8cd9fa597f962dd546f33 b/fuzz/corpora/cmp/b8fd73b989bd38ce18b8cd9fa597f962dd546f33 new file mode 100644 index 00000000..6639fe4c Binary files /dev/null and b/fuzz/corpora/cmp/b8fd73b989bd38ce18b8cd9fa597f962dd546f33 differ diff --git a/fuzz/corpora/cmp/b911dfc15f12c2c330d78b3dbd6a538149b9c169 b/fuzz/corpora/cmp/b911dfc15f12c2c330d78b3dbd6a538149b9c169 new file mode 100644 index 00000000..c7f2fe4a Binary files /dev/null and b/fuzz/corpora/cmp/b911dfc15f12c2c330d78b3dbd6a538149b9c169 differ diff --git a/fuzz/corpora/cmp/b9173761e9240ada8ffa116a6cb2a66c33f010e0 b/fuzz/corpora/cmp/b9173761e9240ada8ffa116a6cb2a66c33f010e0 new file mode 100644 index 00000000..3837bda4 Binary files /dev/null and b/fuzz/corpora/cmp/b9173761e9240ada8ffa116a6cb2a66c33f010e0 differ diff --git a/fuzz/corpora/cmp/b93897242cf823b74e686e5a1cee1b26fe57d01b b/fuzz/corpora/cmp/b93897242cf823b74e686e5a1cee1b26fe57d01b new file mode 100644 index 00000000..a28a8132 Binary files /dev/null and b/fuzz/corpora/cmp/b93897242cf823b74e686e5a1cee1b26fe57d01b differ diff --git a/fuzz/corpora/cmp/b94cb33d26c8cbc060533a324718b6fd5517bcb9 b/fuzz/corpora/cmp/b94cb33d26c8cbc060533a324718b6fd5517bcb9 new file mode 100644 index 00000000..67cf8f7e Binary files /dev/null and b/fuzz/corpora/cmp/b94cb33d26c8cbc060533a324718b6fd5517bcb9 differ diff --git a/fuzz/corpora/cmp/b95c6e9b1c1d7b3a9a9d3a6e9cd67fb6dc4dfb86 b/fuzz/corpora/cmp/b95c6e9b1c1d7b3a9a9d3a6e9cd67fb6dc4dfb86 new file mode 100644 index 00000000..8efe923a Binary files /dev/null and b/fuzz/corpora/cmp/b95c6e9b1c1d7b3a9a9d3a6e9cd67fb6dc4dfb86 differ diff --git a/fuzz/corpora/cmp/b9661046ea86147860de69e15a67c8350b4268b0 b/fuzz/corpora/cmp/b9661046ea86147860de69e15a67c8350b4268b0 new file mode 100644 index 00000000..6e53194d Binary files /dev/null and b/fuzz/corpora/cmp/b9661046ea86147860de69e15a67c8350b4268b0 differ diff --git a/fuzz/corpora/cmp/b969437991d2d9cea4745496a8ef323d82c99063 b/fuzz/corpora/cmp/b969437991d2d9cea4745496a8ef323d82c99063 new file mode 100644 index 00000000..963800ed Binary files /dev/null and b/fuzz/corpora/cmp/b969437991d2d9cea4745496a8ef323d82c99063 differ diff --git a/fuzz/corpora/cmp/b97468a8d39b2baf4df89000f86d417d065d8ebc b/fuzz/corpora/cmp/b97468a8d39b2baf4df89000f86d417d065d8ebc new file mode 100644 index 00000000..0ae2295f Binary files /dev/null and b/fuzz/corpora/cmp/b97468a8d39b2baf4df89000f86d417d065d8ebc differ diff --git a/fuzz/corpora/cmp/b98317b098e2791a4a960601756d95ebfdfa6aa5 b/fuzz/corpora/cmp/b98317b098e2791a4a960601756d95ebfdfa6aa5 new file mode 100644 index 00000000..74177466 Binary files /dev/null and b/fuzz/corpora/cmp/b98317b098e2791a4a960601756d95ebfdfa6aa5 differ diff --git a/fuzz/corpora/cmp/b986542c1ea22e21438846a6ed74e94b5397e50b b/fuzz/corpora/cmp/b986542c1ea22e21438846a6ed74e94b5397e50b new file mode 100644 index 00000000..75281fa9 Binary files /dev/null and b/fuzz/corpora/cmp/b986542c1ea22e21438846a6ed74e94b5397e50b differ diff --git a/fuzz/corpora/cmp/b9893c040a3f2f3da5ca2e6d2263b8008652e3f1 b/fuzz/corpora/cmp/b9893c040a3f2f3da5ca2e6d2263b8008652e3f1 new file mode 100644 index 00000000..7068e145 Binary files /dev/null and b/fuzz/corpora/cmp/b9893c040a3f2f3da5ca2e6d2263b8008652e3f1 differ diff --git a/fuzz/corpora/cmp/b990df72c77d0ec70a83594c9f368e601cccfa0e b/fuzz/corpora/cmp/b990df72c77d0ec70a83594c9f368e601cccfa0e new file mode 100644 index 00000000..c43bac2a Binary files /dev/null and b/fuzz/corpora/cmp/b990df72c77d0ec70a83594c9f368e601cccfa0e differ diff --git a/fuzz/corpora/cmp/b9f195e74f2fca556be12c3fac1d3bf1a3a34b6e b/fuzz/corpora/cmp/b9f195e74f2fca556be12c3fac1d3bf1a3a34b6e new file mode 100644 index 00000000..f52ce01c Binary files /dev/null and b/fuzz/corpora/cmp/b9f195e74f2fca556be12c3fac1d3bf1a3a34b6e differ diff --git a/fuzz/corpora/cmp/b9fafc43de2941fcedc1a21c415c6e8323c2aa75 b/fuzz/corpora/cmp/b9fafc43de2941fcedc1a21c415c6e8323c2aa75 new file mode 100644 index 00000000..81d29aa1 Binary files /dev/null and b/fuzz/corpora/cmp/b9fafc43de2941fcedc1a21c415c6e8323c2aa75 differ diff --git a/fuzz/corpora/cmp/ba1df0686fa6920536bff208eebac6bdb10b0a64 b/fuzz/corpora/cmp/ba1df0686fa6920536bff208eebac6bdb10b0a64 new file mode 100644 index 00000000..2bc6837c Binary files /dev/null and b/fuzz/corpora/cmp/ba1df0686fa6920536bff208eebac6bdb10b0a64 differ diff --git a/fuzz/corpora/cmp/ba1f150c7c463990cfba32558a01d46347c5d6b1 b/fuzz/corpora/cmp/ba1f150c7c463990cfba32558a01d46347c5d6b1 new file mode 100644 index 00000000..2caf329c Binary files /dev/null and b/fuzz/corpora/cmp/ba1f150c7c463990cfba32558a01d46347c5d6b1 differ diff --git a/fuzz/corpora/cmp/ba2dd120d1504ad845a015d8afc398ce5bff50e9 b/fuzz/corpora/cmp/ba2dd120d1504ad845a015d8afc398ce5bff50e9 new file mode 100644 index 00000000..f914c844 Binary files /dev/null and b/fuzz/corpora/cmp/ba2dd120d1504ad845a015d8afc398ce5bff50e9 differ diff --git a/fuzz/corpora/cmp/ba35edc6d306eaf02058bed6d49b09d84c4278f0 b/fuzz/corpora/cmp/ba35edc6d306eaf02058bed6d49b09d84c4278f0 new file mode 100644 index 00000000..1dfbb3fa Binary files /dev/null and b/fuzz/corpora/cmp/ba35edc6d306eaf02058bed6d49b09d84c4278f0 differ diff --git a/fuzz/corpora/cmp/ba3d42c99016f3e8300c089297c78fdae5e364b8 b/fuzz/corpora/cmp/ba3d42c99016f3e8300c089297c78fdae5e364b8 new file mode 100644 index 00000000..298ec467 Binary files /dev/null and b/fuzz/corpora/cmp/ba3d42c99016f3e8300c089297c78fdae5e364b8 differ diff --git a/fuzz/corpora/cmp/ba61d87cb3996bc3e92c7302e1b4cec9b2209b95 b/fuzz/corpora/cmp/ba61d87cb3996bc3e92c7302e1b4cec9b2209b95 new file mode 100644 index 00000000..b945ed03 Binary files /dev/null and b/fuzz/corpora/cmp/ba61d87cb3996bc3e92c7302e1b4cec9b2209b95 differ diff --git a/fuzz/corpora/cmp/ba633591085850738433151b648eef65bad50307 b/fuzz/corpora/cmp/ba633591085850738433151b648eef65bad50307 new file mode 100644 index 00000000..51c28b29 Binary files /dev/null and b/fuzz/corpora/cmp/ba633591085850738433151b648eef65bad50307 differ diff --git a/fuzz/corpora/cmp/ba63cd7454ab615575e3ddf6a4dc08f047eb9c47 b/fuzz/corpora/cmp/ba63cd7454ab615575e3ddf6a4dc08f047eb9c47 new file mode 100644 index 00000000..354a35cc Binary files /dev/null and b/fuzz/corpora/cmp/ba63cd7454ab615575e3ddf6a4dc08f047eb9c47 differ diff --git a/fuzz/corpora/cmp/ba6c31970c547e87caed8b83205f5c6245251c8d b/fuzz/corpora/cmp/ba6c31970c547e87caed8b83205f5c6245251c8d new file mode 100644 index 00000000..0850d557 Binary files /dev/null and b/fuzz/corpora/cmp/ba6c31970c547e87caed8b83205f5c6245251c8d differ diff --git a/fuzz/corpora/cmp/ba7daf3095c6128515db48dca405bd5d537ef5a6 b/fuzz/corpora/cmp/ba7daf3095c6128515db48dca405bd5d537ef5a6 new file mode 100644 index 00000000..1f334f9f Binary files /dev/null and b/fuzz/corpora/cmp/ba7daf3095c6128515db48dca405bd5d537ef5a6 differ diff --git a/fuzz/corpora/cmp/ba93650f74efe60fabab64d0845adda338d89c8e b/fuzz/corpora/cmp/ba93650f74efe60fabab64d0845adda338d89c8e new file mode 100644 index 00000000..b436b52d Binary files /dev/null and b/fuzz/corpora/cmp/ba93650f74efe60fabab64d0845adda338d89c8e differ diff --git a/fuzz/corpora/cmp/ba964daa04c709e6631b3fdb957420f17e612a13 b/fuzz/corpora/cmp/ba964daa04c709e6631b3fdb957420f17e612a13 new file mode 100644 index 00000000..100b6b42 Binary files /dev/null and b/fuzz/corpora/cmp/ba964daa04c709e6631b3fdb957420f17e612a13 differ diff --git a/fuzz/corpora/cmp/baa931452e97f4410ead5bf0ffa9edccd417b08a b/fuzz/corpora/cmp/baa931452e97f4410ead5bf0ffa9edccd417b08a new file mode 100644 index 00000000..db451bee Binary files /dev/null and b/fuzz/corpora/cmp/baa931452e97f4410ead5bf0ffa9edccd417b08a differ diff --git a/fuzz/corpora/cmp/bab6d38527031e351a02cd735429ee7e7fb2fde8 b/fuzz/corpora/cmp/bab6d38527031e351a02cd735429ee7e7fb2fde8 new file mode 100644 index 00000000..73b59a6f Binary files /dev/null and b/fuzz/corpora/cmp/bab6d38527031e351a02cd735429ee7e7fb2fde8 differ diff --git a/fuzz/corpora/cmp/bad5dc30f3867e4b083f1fb4860b689de4aa5dfd b/fuzz/corpora/cmp/bad5dc30f3867e4b083f1fb4860b689de4aa5dfd new file mode 100644 index 00000000..511e3b2b Binary files /dev/null and b/fuzz/corpora/cmp/bad5dc30f3867e4b083f1fb4860b689de4aa5dfd differ diff --git a/fuzz/corpora/cmp/badfb52dbd108347a926d19381c465f24e829208 b/fuzz/corpora/cmp/badfb52dbd108347a926d19381c465f24e829208 new file mode 100644 index 00000000..1fe8f43d Binary files /dev/null and b/fuzz/corpora/cmp/badfb52dbd108347a926d19381c465f24e829208 differ diff --git a/fuzz/corpora/cmp/baeea7adf3928f74652c45b5918255f8b7fc7c4b b/fuzz/corpora/cmp/baeea7adf3928f74652c45b5918255f8b7fc7c4b new file mode 100644 index 00000000..1b318cdb Binary files /dev/null and b/fuzz/corpora/cmp/baeea7adf3928f74652c45b5918255f8b7fc7c4b differ diff --git a/fuzz/corpora/cmp/baf79a60cb498e516669d58eb43695d962bbfba7 b/fuzz/corpora/cmp/baf79a60cb498e516669d58eb43695d962bbfba7 new file mode 100644 index 00000000..4d7ed987 Binary files /dev/null and b/fuzz/corpora/cmp/baf79a60cb498e516669d58eb43695d962bbfba7 differ diff --git a/fuzz/corpora/cmp/bafdbbd3c05feeca9f54cba9c664ce4e6eaab61f b/fuzz/corpora/cmp/bafdbbd3c05feeca9f54cba9c664ce4e6eaab61f new file mode 100644 index 00000000..f9871ff7 --- /dev/null +++ b/fuzz/corpora/cmp/bafdbbd3c05feeca9f54cba9c664ce4e6eaab61f @@ -0,0 +1 @@ +½€½€ \ No newline at end of file diff --git a/fuzz/corpora/cmp/bb052e6feade29e2475b70d1db7ebec900c3aba5 b/fuzz/corpora/cmp/bb052e6feade29e2475b70d1db7ebec900c3aba5 new file mode 100644 index 00000000..6543b714 Binary files /dev/null and b/fuzz/corpora/cmp/bb052e6feade29e2475b70d1db7ebec900c3aba5 differ diff --git a/fuzz/corpora/cmp/bb06b8f6c7214c0d3ca5b8a78272e738059c0b99 b/fuzz/corpora/cmp/bb06b8f6c7214c0d3ca5b8a78272e738059c0b99 new file mode 100644 index 00000000..c487f3e1 Binary files /dev/null and b/fuzz/corpora/cmp/bb06b8f6c7214c0d3ca5b8a78272e738059c0b99 differ diff --git a/fuzz/corpora/cmp/bb1a91530e0fc648a2175f6ca7bc303466b6f1f2 b/fuzz/corpora/cmp/bb1a91530e0fc648a2175f6ca7bc303466b6f1f2 new file mode 100644 index 00000000..e5194cb4 Binary files /dev/null and b/fuzz/corpora/cmp/bb1a91530e0fc648a2175f6ca7bc303466b6f1f2 differ diff --git a/fuzz/corpora/cmp/bb29aca4ab110259ae9d196df5d31b6eba5eddb5 b/fuzz/corpora/cmp/bb29aca4ab110259ae9d196df5d31b6eba5eddb5 new file mode 100644 index 00000000..34c1cf72 Binary files /dev/null and b/fuzz/corpora/cmp/bb29aca4ab110259ae9d196df5d31b6eba5eddb5 differ diff --git a/fuzz/corpora/cmp/bb3dad0e9848a4935d8d36c939282c0466344ff7 b/fuzz/corpora/cmp/bb3dad0e9848a4935d8d36c939282c0466344ff7 new file mode 100644 index 00000000..dcd779b2 Binary files /dev/null and b/fuzz/corpora/cmp/bb3dad0e9848a4935d8d36c939282c0466344ff7 differ diff --git a/fuzz/corpora/cmp/bb4cf677248cae2394237e776c7663c9f57ae6ae b/fuzz/corpora/cmp/bb4cf677248cae2394237e776c7663c9f57ae6ae new file mode 100644 index 00000000..8b0d839f Binary files /dev/null and b/fuzz/corpora/cmp/bb4cf677248cae2394237e776c7663c9f57ae6ae differ diff --git a/fuzz/corpora/cmp/bb5484db33a8b5ef59edc79053084254677407fb b/fuzz/corpora/cmp/bb5484db33a8b5ef59edc79053084254677407fb new file mode 100644 index 00000000..37e4508d Binary files /dev/null and b/fuzz/corpora/cmp/bb5484db33a8b5ef59edc79053084254677407fb differ diff --git a/fuzz/corpora/cmp/bb56d79289c393f3744a1fdf3fca32f425e8e94c b/fuzz/corpora/cmp/bb56d79289c393f3744a1fdf3fca32f425e8e94c new file mode 100644 index 00000000..0c78e72c Binary files /dev/null and b/fuzz/corpora/cmp/bb56d79289c393f3744a1fdf3fca32f425e8e94c differ diff --git a/fuzz/corpora/cmp/bb583816a00e74c6f04ec6677ef84cb685873371 b/fuzz/corpora/cmp/bb583816a00e74c6f04ec6677ef84cb685873371 new file mode 100644 index 00000000..3089c785 Binary files /dev/null and b/fuzz/corpora/cmp/bb583816a00e74c6f04ec6677ef84cb685873371 differ diff --git a/fuzz/corpora/cmp/bb58bd01e608c710063c413b39414da4f6432f97 b/fuzz/corpora/cmp/bb58bd01e608c710063c413b39414da4f6432f97 new file mode 100644 index 00000000..e02d4fa5 Binary files /dev/null and b/fuzz/corpora/cmp/bb58bd01e608c710063c413b39414da4f6432f97 differ diff --git a/fuzz/corpora/cmp/bb621a9d1b33f20e6f45fb4a69435c7c9c48979d b/fuzz/corpora/cmp/bb621a9d1b33f20e6f45fb4a69435c7c9c48979d new file mode 100644 index 00000000..5d0fb232 Binary files /dev/null and b/fuzz/corpora/cmp/bb621a9d1b33f20e6f45fb4a69435c7c9c48979d differ diff --git a/fuzz/corpora/cmp/bb687e4c22462bf908c3b829d1985ccbbefd22e9 b/fuzz/corpora/cmp/bb687e4c22462bf908c3b829d1985ccbbefd22e9 new file mode 100644 index 00000000..46ff15e1 Binary files /dev/null and b/fuzz/corpora/cmp/bb687e4c22462bf908c3b829d1985ccbbefd22e9 differ diff --git a/fuzz/corpora/cmp/bb964c31564d769aa177a0603c9dc44f1938573c b/fuzz/corpora/cmp/bb964c31564d769aa177a0603c9dc44f1938573c new file mode 100644 index 00000000..65454c66 Binary files /dev/null and b/fuzz/corpora/cmp/bb964c31564d769aa177a0603c9dc44f1938573c differ diff --git a/fuzz/corpora/cmp/bb986c8aa53f973ff6d57196811894736fa59832 b/fuzz/corpora/cmp/bb986c8aa53f973ff6d57196811894736fa59832 new file mode 100644 index 00000000..ca7888a8 Binary files /dev/null and b/fuzz/corpora/cmp/bb986c8aa53f973ff6d57196811894736fa59832 differ diff --git a/fuzz/corpora/cmp/bb9f531fd0d2e1698ec780308d76f823b1e7af99 b/fuzz/corpora/cmp/bb9f531fd0d2e1698ec780308d76f823b1e7af99 new file mode 100644 index 00000000..b1ef0f52 Binary files /dev/null and b/fuzz/corpora/cmp/bb9f531fd0d2e1698ec780308d76f823b1e7af99 differ diff --git a/fuzz/corpora/cmp/bba0f9ba66c5b19a932d8e001cab5b782ba6a439 b/fuzz/corpora/cmp/bba0f9ba66c5b19a932d8e001cab5b782ba6a439 new file mode 100644 index 00000000..3377ded0 Binary files /dev/null and b/fuzz/corpora/cmp/bba0f9ba66c5b19a932d8e001cab5b782ba6a439 differ diff --git a/fuzz/corpora/cmp/bba4744fe175cefdda8ff809c55beb9a8f00e81b b/fuzz/corpora/cmp/bba4744fe175cefdda8ff809c55beb9a8f00e81b new file mode 100644 index 00000000..2274a746 Binary files /dev/null and b/fuzz/corpora/cmp/bba4744fe175cefdda8ff809c55beb9a8f00e81b differ diff --git a/fuzz/corpora/cmp/bba87c2e509e3b70653fda23b8f3b13d4b9fe4c2 b/fuzz/corpora/cmp/bba87c2e509e3b70653fda23b8f3b13d4b9fe4c2 new file mode 100644 index 00000000..0a85844c Binary files /dev/null and b/fuzz/corpora/cmp/bba87c2e509e3b70653fda23b8f3b13d4b9fe4c2 differ diff --git a/fuzz/corpora/cmp/bbb7dee665238e6bb27e20535544d63e8a1badaa b/fuzz/corpora/cmp/bbb7dee665238e6bb27e20535544d63e8a1badaa new file mode 100644 index 00000000..4c9d261b Binary files /dev/null and b/fuzz/corpora/cmp/bbb7dee665238e6bb27e20535544d63e8a1badaa differ diff --git a/fuzz/corpora/cmp/bbb8e001d2698ec216e5e4dce15af51a87cff2aa b/fuzz/corpora/cmp/bbb8e001d2698ec216e5e4dce15af51a87cff2aa new file mode 100644 index 00000000..d5724bda Binary files /dev/null and b/fuzz/corpora/cmp/bbb8e001d2698ec216e5e4dce15af51a87cff2aa differ diff --git a/fuzz/corpora/cmp/bbc0a1a911082c3cc89f6313e7e50d11bd8befcd b/fuzz/corpora/cmp/bbc0a1a911082c3cc89f6313e7e50d11bd8befcd new file mode 100644 index 00000000..39d6e2c4 Binary files /dev/null and b/fuzz/corpora/cmp/bbc0a1a911082c3cc89f6313e7e50d11bd8befcd differ diff --git a/fuzz/corpora/cmp/bbc28778e8293b8a6374866739c7ad52cbc9d493 b/fuzz/corpora/cmp/bbc28778e8293b8a6374866739c7ad52cbc9d493 new file mode 100644 index 00000000..a04bca19 Binary files /dev/null and b/fuzz/corpora/cmp/bbc28778e8293b8a6374866739c7ad52cbc9d493 differ diff --git a/fuzz/corpora/cmp/bbc50fe466ab30184ba79e3b6f7fdecabe6b88e7 b/fuzz/corpora/cmp/bbc50fe466ab30184ba79e3b6f7fdecabe6b88e7 new file mode 100644 index 00000000..b2c89fdc Binary files /dev/null and b/fuzz/corpora/cmp/bbc50fe466ab30184ba79e3b6f7fdecabe6b88e7 differ diff --git a/fuzz/corpora/cmp/bbce41dc4f90260ef01ca54358e48fbaf7f793d3 b/fuzz/corpora/cmp/bbce41dc4f90260ef01ca54358e48fbaf7f793d3 new file mode 100644 index 00000000..ce9d775d Binary files /dev/null and b/fuzz/corpora/cmp/bbce41dc4f90260ef01ca54358e48fbaf7f793d3 differ diff --git a/fuzz/corpora/cmp/bbd368563eeb795c3112c59682608af03fddab64 b/fuzz/corpora/cmp/bbd368563eeb795c3112c59682608af03fddab64 new file mode 100644 index 00000000..a30fdb2f Binary files /dev/null and b/fuzz/corpora/cmp/bbd368563eeb795c3112c59682608af03fddab64 differ diff --git a/fuzz/corpora/cmp/bbdeecc90d43c553d74fc194d3012d4fc4b09e59 b/fuzz/corpora/cmp/bbdeecc90d43c553d74fc194d3012d4fc4b09e59 new file mode 100644 index 00000000..994a9637 Binary files /dev/null and b/fuzz/corpora/cmp/bbdeecc90d43c553d74fc194d3012d4fc4b09e59 differ diff --git a/fuzz/corpora/cmp/bbe54451b52380883a4872039d1525c3cc051608 b/fuzz/corpora/cmp/bbe54451b52380883a4872039d1525c3cc051608 new file mode 100644 index 00000000..f2ed44e1 Binary files /dev/null and b/fuzz/corpora/cmp/bbe54451b52380883a4872039d1525c3cc051608 differ diff --git a/fuzz/corpora/cmp/bbf45f67a7dc081cb221d0bf1bed6f4497604e94 b/fuzz/corpora/cmp/bbf45f67a7dc081cb221d0bf1bed6f4497604e94 new file mode 100644 index 00000000..f98025e4 Binary files /dev/null and b/fuzz/corpora/cmp/bbf45f67a7dc081cb221d0bf1bed6f4497604e94 differ diff --git a/fuzz/corpora/cmp/bc0b74c171d4a8bd149935efb00786966529105f b/fuzz/corpora/cmp/bc0b74c171d4a8bd149935efb00786966529105f new file mode 100644 index 00000000..97291ccb Binary files /dev/null and b/fuzz/corpora/cmp/bc0b74c171d4a8bd149935efb00786966529105f differ diff --git a/fuzz/corpora/cmp/bc0ce1a729ed90ff1ea6c7abed83936832de60d2 b/fuzz/corpora/cmp/bc0ce1a729ed90ff1ea6c7abed83936832de60d2 new file mode 100644 index 00000000..db3e7258 Binary files /dev/null and b/fuzz/corpora/cmp/bc0ce1a729ed90ff1ea6c7abed83936832de60d2 differ diff --git a/fuzz/corpora/cmp/bc22bd4f5e4e7f00403a4c7d66202b6b86e97cc2 b/fuzz/corpora/cmp/bc22bd4f5e4e7f00403a4c7d66202b6b86e97cc2 new file mode 100644 index 00000000..aeecdb01 Binary files /dev/null and b/fuzz/corpora/cmp/bc22bd4f5e4e7f00403a4c7d66202b6b86e97cc2 differ diff --git a/fuzz/corpora/cmp/bc46204d4f3e2bc093fc3d3d79091d1b8c0a0bbc b/fuzz/corpora/cmp/bc46204d4f3e2bc093fc3d3d79091d1b8c0a0bbc new file mode 100644 index 00000000..9f935ad7 Binary files /dev/null and b/fuzz/corpora/cmp/bc46204d4f3e2bc093fc3d3d79091d1b8c0a0bbc differ diff --git a/fuzz/corpora/cmp/bc4b37e98773734a1654e9b6f4fff565d3737440 b/fuzz/corpora/cmp/bc4b37e98773734a1654e9b6f4fff565d3737440 new file mode 100644 index 00000000..635f902d Binary files /dev/null and b/fuzz/corpora/cmp/bc4b37e98773734a1654e9b6f4fff565d3737440 differ diff --git a/fuzz/corpora/cmp/bc7259a3a59bd30d4118d04b3e6b3e8e2e6e61f0 b/fuzz/corpora/cmp/bc7259a3a59bd30d4118d04b3e6b3e8e2e6e61f0 new file mode 100644 index 00000000..00312193 Binary files /dev/null and b/fuzz/corpora/cmp/bc7259a3a59bd30d4118d04b3e6b3e8e2e6e61f0 differ diff --git a/fuzz/corpora/cmp/bc7b7504959da8da4d7890975961fe07747177a6 b/fuzz/corpora/cmp/bc7b7504959da8da4d7890975961fe07747177a6 new file mode 100644 index 00000000..8d57e90b Binary files /dev/null and b/fuzz/corpora/cmp/bc7b7504959da8da4d7890975961fe07747177a6 differ diff --git a/fuzz/corpora/cmp/bc8fb10b90a6a208113d08a9ce7ab4c2a4d09c30 b/fuzz/corpora/cmp/bc8fb10b90a6a208113d08a9ce7ab4c2a4d09c30 new file mode 100644 index 00000000..68997275 Binary files /dev/null and b/fuzz/corpora/cmp/bc8fb10b90a6a208113d08a9ce7ab4c2a4d09c30 differ diff --git a/fuzz/corpora/cmp/bc922b0be4de93afb36efc807dba1058938ca528 b/fuzz/corpora/cmp/bc922b0be4de93afb36efc807dba1058938ca528 new file mode 100644 index 00000000..6276bbce Binary files /dev/null and b/fuzz/corpora/cmp/bc922b0be4de93afb36efc807dba1058938ca528 differ diff --git a/fuzz/corpora/cmp/bc94711c562dc8270ae321ead4bcc66a1495a2b1 b/fuzz/corpora/cmp/bc94711c562dc8270ae321ead4bcc66a1495a2b1 new file mode 100644 index 00000000..cad1eebc Binary files /dev/null and b/fuzz/corpora/cmp/bc94711c562dc8270ae321ead4bcc66a1495a2b1 differ diff --git a/fuzz/corpora/cmp/bc94e122f802e5725f2520c246c00f4c8834fe83 b/fuzz/corpora/cmp/bc94e122f802e5725f2520c246c00f4c8834fe83 new file mode 100644 index 00000000..761eff3f Binary files /dev/null and b/fuzz/corpora/cmp/bc94e122f802e5725f2520c246c00f4c8834fe83 differ diff --git a/fuzz/corpora/cmp/bcb6ec86e4c68ef85ed50f2114780fb5e653188e b/fuzz/corpora/cmp/bcb6ec86e4c68ef85ed50f2114780fb5e653188e new file mode 100644 index 00000000..d0d7bffe Binary files /dev/null and b/fuzz/corpora/cmp/bcb6ec86e4c68ef85ed50f2114780fb5e653188e differ diff --git a/fuzz/corpora/cmp/bcc65cfc0b278d0c6069e7cd9a9f7080a25a9fb7 b/fuzz/corpora/cmp/bcc65cfc0b278d0c6069e7cd9a9f7080a25a9fb7 new file mode 100644 index 00000000..2c95d122 Binary files /dev/null and b/fuzz/corpora/cmp/bcc65cfc0b278d0c6069e7cd9a9f7080a25a9fb7 differ diff --git a/fuzz/corpora/cmp/bcd406a9f00d1ee3fc48f94664b39b83c22f8661 b/fuzz/corpora/cmp/bcd406a9f00d1ee3fc48f94664b39b83c22f8661 new file mode 100644 index 00000000..34817a93 Binary files /dev/null and b/fuzz/corpora/cmp/bcd406a9f00d1ee3fc48f94664b39b83c22f8661 differ diff --git a/fuzz/corpora/cmp/bcd690a79ffa43981f8199c219833dff9df35b0c b/fuzz/corpora/cmp/bcd690a79ffa43981f8199c219833dff9df35b0c new file mode 100644 index 00000000..282a7a2a Binary files /dev/null and b/fuzz/corpora/cmp/bcd690a79ffa43981f8199c219833dff9df35b0c differ diff --git a/fuzz/corpora/cmp/bce0e8cd1fd6f4f103a3c1fd4ed825adc0cf04ec b/fuzz/corpora/cmp/bce0e8cd1fd6f4f103a3c1fd4ed825adc0cf04ec new file mode 100644 index 00000000..0eb09311 Binary files /dev/null and b/fuzz/corpora/cmp/bce0e8cd1fd6f4f103a3c1fd4ed825adc0cf04ec differ diff --git a/fuzz/corpora/cmp/bcf1356cb3e1ed48c3dbfe94c8c457c55da9096a b/fuzz/corpora/cmp/bcf1356cb3e1ed48c3dbfe94c8c457c55da9096a new file mode 100644 index 00000000..35429f4d Binary files /dev/null and b/fuzz/corpora/cmp/bcf1356cb3e1ed48c3dbfe94c8c457c55da9096a differ diff --git a/fuzz/corpora/cmp/bd09a7f31a42907089e89a9db1a72210d9269c2b b/fuzz/corpora/cmp/bd09a7f31a42907089e89a9db1a72210d9269c2b new file mode 100644 index 00000000..bed7f2be Binary files /dev/null and b/fuzz/corpora/cmp/bd09a7f31a42907089e89a9db1a72210d9269c2b differ diff --git a/fuzz/corpora/cmp/bd0a3529ba930dddc9657bf5637b0d6b7eab05f7 b/fuzz/corpora/cmp/bd0a3529ba930dddc9657bf5637b0d6b7eab05f7 new file mode 100644 index 00000000..b823cef8 Binary files /dev/null and b/fuzz/corpora/cmp/bd0a3529ba930dddc9657bf5637b0d6b7eab05f7 differ diff --git a/fuzz/corpora/cmp/bd0a3a8f26ddc757feab5bc714686fc8d055fa93 b/fuzz/corpora/cmp/bd0a3a8f26ddc757feab5bc714686fc8d055fa93 new file mode 100644 index 00000000..8a21628e Binary files /dev/null and b/fuzz/corpora/cmp/bd0a3a8f26ddc757feab5bc714686fc8d055fa93 differ diff --git a/fuzz/corpora/cmp/bd0e5ca8eb2225fc0305f5ff43b4b540c50354e4 b/fuzz/corpora/cmp/bd0e5ca8eb2225fc0305f5ff43b4b540c50354e4 new file mode 100644 index 00000000..1b7043ed Binary files /dev/null and b/fuzz/corpora/cmp/bd0e5ca8eb2225fc0305f5ff43b4b540c50354e4 differ diff --git a/fuzz/corpora/cmp/bd1bdefa309d1754c8a571bff7d007cd2a8bb915 b/fuzz/corpora/cmp/bd1bdefa309d1754c8a571bff7d007cd2a8bb915 new file mode 100644 index 00000000..e3109265 Binary files /dev/null and b/fuzz/corpora/cmp/bd1bdefa309d1754c8a571bff7d007cd2a8bb915 differ diff --git a/fuzz/corpora/cmp/bd1d5b9c3552e625619bda8aa2bd79155387d00a b/fuzz/corpora/cmp/bd1d5b9c3552e625619bda8aa2bd79155387d00a new file mode 100644 index 00000000..5207d1f7 Binary files /dev/null and b/fuzz/corpora/cmp/bd1d5b9c3552e625619bda8aa2bd79155387d00a differ diff --git a/fuzz/corpora/cmp/bd33b5424ed0ae0bc2a644117d02aff6400b3c68 b/fuzz/corpora/cmp/bd33b5424ed0ae0bc2a644117d02aff6400b3c68 new file mode 100644 index 00000000..9693f816 Binary files /dev/null and b/fuzz/corpora/cmp/bd33b5424ed0ae0bc2a644117d02aff6400b3c68 differ diff --git a/fuzz/corpora/cmp/bd385c6d3cffce8b0610f63be9f0b17af2bfb178 b/fuzz/corpora/cmp/bd385c6d3cffce8b0610f63be9f0b17af2bfb178 new file mode 100644 index 00000000..3c8fd4d5 Binary files /dev/null and b/fuzz/corpora/cmp/bd385c6d3cffce8b0610f63be9f0b17af2bfb178 differ diff --git a/fuzz/corpora/cmp/bd4b99c6dc7bd5f86efa5c2aa78f2e6517dec340 b/fuzz/corpora/cmp/bd4b99c6dc7bd5f86efa5c2aa78f2e6517dec340 new file mode 100644 index 00000000..0d7a008e Binary files /dev/null and b/fuzz/corpora/cmp/bd4b99c6dc7bd5f86efa5c2aa78f2e6517dec340 differ diff --git a/fuzz/corpora/cmp/bd5507bf102d738656062a6eb9bbb8b10093300c b/fuzz/corpora/cmp/bd5507bf102d738656062a6eb9bbb8b10093300c new file mode 100644 index 00000000..926b7c77 Binary files /dev/null and b/fuzz/corpora/cmp/bd5507bf102d738656062a6eb9bbb8b10093300c differ diff --git a/fuzz/corpora/cmp/bd70163d90ddea85e9f4756cf2c3617b2844098e b/fuzz/corpora/cmp/bd70163d90ddea85e9f4756cf2c3617b2844098e new file mode 100644 index 00000000..4eee3818 Binary files /dev/null and b/fuzz/corpora/cmp/bd70163d90ddea85e9f4756cf2c3617b2844098e differ diff --git a/fuzz/corpora/cmp/bd741cdf62c4e3f5defca64e7099b98cf37a4fcf b/fuzz/corpora/cmp/bd741cdf62c4e3f5defca64e7099b98cf37a4fcf new file mode 100644 index 00000000..41e89c1f Binary files /dev/null and b/fuzz/corpora/cmp/bd741cdf62c4e3f5defca64e7099b98cf37a4fcf differ diff --git a/fuzz/corpora/cmp/bd76edc50534ea220dc678e1c0398b4a86a82058 b/fuzz/corpora/cmp/bd76edc50534ea220dc678e1c0398b4a86a82058 new file mode 100644 index 00000000..f43ee151 Binary files /dev/null and b/fuzz/corpora/cmp/bd76edc50534ea220dc678e1c0398b4a86a82058 differ diff --git a/fuzz/corpora/cmp/bd7b0ca85e809ebeeb4fdb5b7b9dd5aa456df1a2 b/fuzz/corpora/cmp/bd7b0ca85e809ebeeb4fdb5b7b9dd5aa456df1a2 new file mode 100644 index 00000000..10ba5f13 Binary files /dev/null and b/fuzz/corpora/cmp/bd7b0ca85e809ebeeb4fdb5b7b9dd5aa456df1a2 differ diff --git a/fuzz/corpora/cmp/bd8e5eef95938b83c3e98731a90f3a2b77be7fc5 b/fuzz/corpora/cmp/bd8e5eef95938b83c3e98731a90f3a2b77be7fc5 new file mode 100644 index 00000000..4b9f2855 Binary files /dev/null and b/fuzz/corpora/cmp/bd8e5eef95938b83c3e98731a90f3a2b77be7fc5 differ diff --git a/fuzz/corpora/cmp/bdb39036d22c80d5f1fa66acc971ed3986e95dc7 b/fuzz/corpora/cmp/bdb39036d22c80d5f1fa66acc971ed3986e95dc7 new file mode 100644 index 00000000..26ea19aa Binary files /dev/null and b/fuzz/corpora/cmp/bdb39036d22c80d5f1fa66acc971ed3986e95dc7 differ diff --git a/fuzz/corpora/cmp/bdb8fe6cf0f2d5dd57ad12942c799f68b3e899b0 b/fuzz/corpora/cmp/bdb8fe6cf0f2d5dd57ad12942c799f68b3e899b0 new file mode 100644 index 00000000..2e1ab0f7 Binary files /dev/null and b/fuzz/corpora/cmp/bdb8fe6cf0f2d5dd57ad12942c799f68b3e899b0 differ diff --git a/fuzz/corpora/cmp/bdce808c4a2e80b65f6e1b500715710ea39859c1 b/fuzz/corpora/cmp/bdce808c4a2e80b65f6e1b500715710ea39859c1 new file mode 100644 index 00000000..271d8da4 Binary files /dev/null and b/fuzz/corpora/cmp/bdce808c4a2e80b65f6e1b500715710ea39859c1 differ diff --git a/fuzz/corpora/cmp/bdd6c0ab67cd0ee8555d3776db96a194d593cc4e b/fuzz/corpora/cmp/bdd6c0ab67cd0ee8555d3776db96a194d593cc4e new file mode 100644 index 00000000..725d7976 Binary files /dev/null and b/fuzz/corpora/cmp/bdd6c0ab67cd0ee8555d3776db96a194d593cc4e differ diff --git a/fuzz/corpora/cmp/bdea609f6c9b94c0285112af409b261c25e85a56 b/fuzz/corpora/cmp/bdea609f6c9b94c0285112af409b261c25e85a56 new file mode 100644 index 00000000..8ad4716c Binary files /dev/null and b/fuzz/corpora/cmp/bdea609f6c9b94c0285112af409b261c25e85a56 differ diff --git a/fuzz/corpora/cmp/bdec1957b3425fe9e55709877f09bf03f6e71eda b/fuzz/corpora/cmp/bdec1957b3425fe9e55709877f09bf03f6e71eda new file mode 100644 index 00000000..d5c963c3 Binary files /dev/null and b/fuzz/corpora/cmp/bdec1957b3425fe9e55709877f09bf03f6e71eda differ diff --git a/fuzz/corpora/cmp/bdef5942fe27c1a4e9fcef1dbef6609ad10e83f8 b/fuzz/corpora/cmp/bdef5942fe27c1a4e9fcef1dbef6609ad10e83f8 new file mode 100644 index 00000000..2d5bc66d Binary files /dev/null and b/fuzz/corpora/cmp/bdef5942fe27c1a4e9fcef1dbef6609ad10e83f8 differ diff --git a/fuzz/corpora/cmp/bdf13a6fb181c275227f41e6442ae17520fa7f27 b/fuzz/corpora/cmp/bdf13a6fb181c275227f41e6442ae17520fa7f27 new file mode 100644 index 00000000..85b5212d Binary files /dev/null and b/fuzz/corpora/cmp/bdf13a6fb181c275227f41e6442ae17520fa7f27 differ diff --git a/fuzz/corpora/cmp/bdfecea95e91c8ea08d16ceed8cab2ee37833798 b/fuzz/corpora/cmp/bdfecea95e91c8ea08d16ceed8cab2ee37833798 new file mode 100644 index 00000000..7d4bfc04 Binary files /dev/null and b/fuzz/corpora/cmp/bdfecea95e91c8ea08d16ceed8cab2ee37833798 differ diff --git a/fuzz/corpora/cmp/be140b0a8873faadcf20c3863df6c92cabed698c b/fuzz/corpora/cmp/be140b0a8873faadcf20c3863df6c92cabed698c new file mode 100644 index 00000000..01aa59c8 Binary files /dev/null and b/fuzz/corpora/cmp/be140b0a8873faadcf20c3863df6c92cabed698c differ diff --git a/fuzz/corpora/cmp/be1943bdd0d84ab4e22f0f2b29b0dda5abf102ed b/fuzz/corpora/cmp/be1943bdd0d84ab4e22f0f2b29b0dda5abf102ed new file mode 100644 index 00000000..ecb31f21 Binary files /dev/null and b/fuzz/corpora/cmp/be1943bdd0d84ab4e22f0f2b29b0dda5abf102ed differ diff --git a/fuzz/corpora/cmp/be2325ec52595d96b931fc35996995bd256ece80 b/fuzz/corpora/cmp/be2325ec52595d96b931fc35996995bd256ece80 new file mode 100644 index 00000000..21fcfcc9 Binary files /dev/null and b/fuzz/corpora/cmp/be2325ec52595d96b931fc35996995bd256ece80 differ diff --git a/fuzz/corpora/cmp/be63de20a9b662ded9676695dc6ffdae1431bac9 b/fuzz/corpora/cmp/be63de20a9b662ded9676695dc6ffdae1431bac9 new file mode 100644 index 00000000..40136076 Binary files /dev/null and b/fuzz/corpora/cmp/be63de20a9b662ded9676695dc6ffdae1431bac9 differ diff --git a/fuzz/corpora/cmp/be7066289c483d3f384786ee5d8ac2eb9eb2c42e b/fuzz/corpora/cmp/be7066289c483d3f384786ee5d8ac2eb9eb2c42e new file mode 100644 index 00000000..34735648 Binary files /dev/null and b/fuzz/corpora/cmp/be7066289c483d3f384786ee5d8ac2eb9eb2c42e differ diff --git a/fuzz/corpora/cmp/be76223cecb130b3a56d5d5e3558444c818a4779 b/fuzz/corpora/cmp/be76223cecb130b3a56d5d5e3558444c818a4779 new file mode 100644 index 00000000..7e978cce Binary files /dev/null and b/fuzz/corpora/cmp/be76223cecb130b3a56d5d5e3558444c818a4779 differ diff --git a/fuzz/corpora/cmp/be85b15ec8e0de98b70216c4524697fcd2b732d0 b/fuzz/corpora/cmp/be85b15ec8e0de98b70216c4524697fcd2b732d0 new file mode 100644 index 00000000..c83fbb74 Binary files /dev/null and b/fuzz/corpora/cmp/be85b15ec8e0de98b70216c4524697fcd2b732d0 differ diff --git a/fuzz/corpora/cmp/bea5bd9ef5a4daf2f66fcef7e2bfb8ad80c7f5fa b/fuzz/corpora/cmp/bea5bd9ef5a4daf2f66fcef7e2bfb8ad80c7f5fa new file mode 100644 index 00000000..0be7929a Binary files /dev/null and b/fuzz/corpora/cmp/bea5bd9ef5a4daf2f66fcef7e2bfb8ad80c7f5fa differ diff --git a/fuzz/corpora/cmp/beb3307b4de351a779a415936aeaf07f880c6487 b/fuzz/corpora/cmp/beb3307b4de351a779a415936aeaf07f880c6487 new file mode 100644 index 00000000..d21e364c Binary files /dev/null and b/fuzz/corpora/cmp/beb3307b4de351a779a415936aeaf07f880c6487 differ diff --git a/fuzz/corpora/cmp/bebe0f23dcdbeb0dc6329afe9792d640a402f102 b/fuzz/corpora/cmp/bebe0f23dcdbeb0dc6329afe9792d640a402f102 new file mode 100644 index 00000000..276f1e9f Binary files /dev/null and b/fuzz/corpora/cmp/bebe0f23dcdbeb0dc6329afe9792d640a402f102 differ diff --git a/fuzz/corpora/cmp/bebe54a04fa022cc12ec8d39459b1fdc555886dd b/fuzz/corpora/cmp/bebe54a04fa022cc12ec8d39459b1fdc555886dd new file mode 100644 index 00000000..4ff3b610 Binary files /dev/null and b/fuzz/corpora/cmp/bebe54a04fa022cc12ec8d39459b1fdc555886dd differ diff --git a/fuzz/corpora/cmp/bec2a8559a3cc20d715e4ba54c8ce516afc5aa6b b/fuzz/corpora/cmp/bec2a8559a3cc20d715e4ba54c8ce516afc5aa6b new file mode 100644 index 00000000..5f30547f Binary files /dev/null and b/fuzz/corpora/cmp/bec2a8559a3cc20d715e4ba54c8ce516afc5aa6b differ diff --git a/fuzz/corpora/cmp/bed3c8a38b182193b28b6b280018553b13674413 b/fuzz/corpora/cmp/bed3c8a38b182193b28b6b280018553b13674413 new file mode 100644 index 00000000..10e34d5b Binary files /dev/null and b/fuzz/corpora/cmp/bed3c8a38b182193b28b6b280018553b13674413 differ diff --git a/fuzz/corpora/cmp/bed81e0938f215c935eb5c57b98d377d8d11d124 b/fuzz/corpora/cmp/bed81e0938f215c935eb5c57b98d377d8d11d124 new file mode 100644 index 00000000..50e94440 Binary files /dev/null and b/fuzz/corpora/cmp/bed81e0938f215c935eb5c57b98d377d8d11d124 differ diff --git a/fuzz/corpora/cmp/bedde4e7dd6c5ddd72caa0dac94d26f882fa3ebb b/fuzz/corpora/cmp/bedde4e7dd6c5ddd72caa0dac94d26f882fa3ebb new file mode 100644 index 00000000..99bd0eef Binary files /dev/null and b/fuzz/corpora/cmp/bedde4e7dd6c5ddd72caa0dac94d26f882fa3ebb differ diff --git a/fuzz/corpora/cmp/beec01977c940acb018fc516e37278c554a2655d b/fuzz/corpora/cmp/beec01977c940acb018fc516e37278c554a2655d new file mode 100644 index 00000000..97526a1a Binary files /dev/null and b/fuzz/corpora/cmp/beec01977c940acb018fc516e37278c554a2655d differ diff --git a/fuzz/corpora/cmp/bf0f30bfb74230091cadcc22318b8ecfe9c00ab7 b/fuzz/corpora/cmp/bf0f30bfb74230091cadcc22318b8ecfe9c00ab7 new file mode 100644 index 00000000..460727b8 Binary files /dev/null and b/fuzz/corpora/cmp/bf0f30bfb74230091cadcc22318b8ecfe9c00ab7 differ diff --git a/fuzz/corpora/cmp/bf230f8959c8c75ab0bfd4c12478e99d9c0871e6 b/fuzz/corpora/cmp/bf230f8959c8c75ab0bfd4c12478e99d9c0871e6 new file mode 100644 index 00000000..7b5f28db Binary files /dev/null and b/fuzz/corpora/cmp/bf230f8959c8c75ab0bfd4c12478e99d9c0871e6 differ diff --git a/fuzz/corpora/cmp/bf2a95f1b82f278e60f3eee433ff8e1cd7c2b15a b/fuzz/corpora/cmp/bf2a95f1b82f278e60f3eee433ff8e1cd7c2b15a new file mode 100644 index 00000000..a65d1038 Binary files /dev/null and b/fuzz/corpora/cmp/bf2a95f1b82f278e60f3eee433ff8e1cd7c2b15a differ diff --git a/fuzz/corpora/cmp/bf31faf0def0fa7c270a446a4ca727f8293136b6 b/fuzz/corpora/cmp/bf31faf0def0fa7c270a446a4ca727f8293136b6 new file mode 100644 index 00000000..a7bbf789 Binary files /dev/null and b/fuzz/corpora/cmp/bf31faf0def0fa7c270a446a4ca727f8293136b6 differ diff --git a/fuzz/corpora/cmp/bf3d73bcb6bd4c447b131a7098d68221f3f85d33 b/fuzz/corpora/cmp/bf3d73bcb6bd4c447b131a7098d68221f3f85d33 new file mode 100644 index 00000000..7ed838b5 Binary files /dev/null and b/fuzz/corpora/cmp/bf3d73bcb6bd4c447b131a7098d68221f3f85d33 differ diff --git a/fuzz/corpora/cmp/bf4e1076a4f660eb62a783a79b2dafb7ec779dbb b/fuzz/corpora/cmp/bf4e1076a4f660eb62a783a79b2dafb7ec779dbb new file mode 100644 index 00000000..a9a75494 Binary files /dev/null and b/fuzz/corpora/cmp/bf4e1076a4f660eb62a783a79b2dafb7ec779dbb differ diff --git a/fuzz/corpora/cmp/bf512b66b1a6a3f84cb770daaff35ce20e0ac147 b/fuzz/corpora/cmp/bf512b66b1a6a3f84cb770daaff35ce20e0ac147 new file mode 100644 index 00000000..4d1454ec Binary files /dev/null and b/fuzz/corpora/cmp/bf512b66b1a6a3f84cb770daaff35ce20e0ac147 differ diff --git a/fuzz/corpora/cmp/bf5c9f615df07eb87b420734b2b4577ff2afd8e9 b/fuzz/corpora/cmp/bf5c9f615df07eb87b420734b2b4577ff2afd8e9 new file mode 100644 index 00000000..b33eaa6b Binary files /dev/null and b/fuzz/corpora/cmp/bf5c9f615df07eb87b420734b2b4577ff2afd8e9 differ diff --git a/fuzz/corpora/cmp/bf6b60aa050aeec865b36be870801dd6babdba91 b/fuzz/corpora/cmp/bf6b60aa050aeec865b36be870801dd6babdba91 new file mode 100644 index 00000000..8ece6b25 Binary files /dev/null and b/fuzz/corpora/cmp/bf6b60aa050aeec865b36be870801dd6babdba91 differ diff --git a/fuzz/corpora/cmp/bf83b695e6e4f7384bfc38adffc2bbbb13f5f69f b/fuzz/corpora/cmp/bf83b695e6e4f7384bfc38adffc2bbbb13f5f69f new file mode 100644 index 00000000..2f64e70a Binary files /dev/null and b/fuzz/corpora/cmp/bf83b695e6e4f7384bfc38adffc2bbbb13f5f69f differ diff --git a/fuzz/corpora/cmp/bfd61777ea7e105b2e8932cab396ec307edadf65 b/fuzz/corpora/cmp/bfd61777ea7e105b2e8932cab396ec307edadf65 new file mode 100644 index 00000000..2fb237d3 Binary files /dev/null and b/fuzz/corpora/cmp/bfd61777ea7e105b2e8932cab396ec307edadf65 differ diff --git a/fuzz/corpora/cmp/bfd73b0d38557e4e351ed672eef7d053cd9d3849 b/fuzz/corpora/cmp/bfd73b0d38557e4e351ed672eef7d053cd9d3849 new file mode 100644 index 00000000..153a217d Binary files /dev/null and b/fuzz/corpora/cmp/bfd73b0d38557e4e351ed672eef7d053cd9d3849 differ diff --git a/fuzz/corpora/cmp/bff207b82b8a878a0b92d0334ea9efb3eb3014cf b/fuzz/corpora/cmp/bff207b82b8a878a0b92d0334ea9efb3eb3014cf new file mode 100644 index 00000000..d6c5f3b2 Binary files /dev/null and b/fuzz/corpora/cmp/bff207b82b8a878a0b92d0334ea9efb3eb3014cf differ diff --git a/fuzz/corpora/cmp/c002b6aa1a467e8e0983eb8e72bc3defdb5037f8 b/fuzz/corpora/cmp/c002b6aa1a467e8e0983eb8e72bc3defdb5037f8 new file mode 100644 index 00000000..76004645 Binary files /dev/null and b/fuzz/corpora/cmp/c002b6aa1a467e8e0983eb8e72bc3defdb5037f8 differ diff --git a/fuzz/corpora/cmp/c021515d4e7b5a7aaf9b12c9ee7b35a3f1d8340d b/fuzz/corpora/cmp/c021515d4e7b5a7aaf9b12c9ee7b35a3f1d8340d new file mode 100644 index 00000000..4ae92001 Binary files /dev/null and b/fuzz/corpora/cmp/c021515d4e7b5a7aaf9b12c9ee7b35a3f1d8340d differ diff --git a/fuzz/corpora/cmp/c023e9b87e400b382b2c780f81fb980a3ff0c34d b/fuzz/corpora/cmp/c023e9b87e400b382b2c780f81fb980a3ff0c34d new file mode 100644 index 00000000..cfa71023 Binary files /dev/null and b/fuzz/corpora/cmp/c023e9b87e400b382b2c780f81fb980a3ff0c34d differ diff --git a/fuzz/corpora/cmp/c02e9ae9cf36841d53fef217d7059b8b9bd8d418 b/fuzz/corpora/cmp/c02e9ae9cf36841d53fef217d7059b8b9bd8d418 new file mode 100644 index 00000000..2df98647 Binary files /dev/null and b/fuzz/corpora/cmp/c02e9ae9cf36841d53fef217d7059b8b9bd8d418 differ diff --git a/fuzz/corpora/cmp/c0348f3a0dc8ec73795552fbfe58539dd2538e5c b/fuzz/corpora/cmp/c0348f3a0dc8ec73795552fbfe58539dd2538e5c new file mode 100644 index 00000000..71746113 Binary files /dev/null and b/fuzz/corpora/cmp/c0348f3a0dc8ec73795552fbfe58539dd2538e5c differ diff --git a/fuzz/corpora/cmp/c03a83fb9017ee70f7c4a3985e133f41c74f6c60 b/fuzz/corpora/cmp/c03a83fb9017ee70f7c4a3985e133f41c74f6c60 new file mode 100644 index 00000000..adf8d02c Binary files /dev/null and b/fuzz/corpora/cmp/c03a83fb9017ee70f7c4a3985e133f41c74f6c60 differ diff --git a/fuzz/corpora/cmp/c04fdb4e9fafb341fc654a7d68d9e77c27e8218e b/fuzz/corpora/cmp/c04fdb4e9fafb341fc654a7d68d9e77c27e8218e new file mode 100644 index 00000000..39ce3701 Binary files /dev/null and b/fuzz/corpora/cmp/c04fdb4e9fafb341fc654a7d68d9e77c27e8218e differ diff --git a/fuzz/corpora/cmp/c05de299e6133aafa7bc1ec2e28b8f4b5fb78cb5 b/fuzz/corpora/cmp/c05de299e6133aafa7bc1ec2e28b8f4b5fb78cb5 new file mode 100644 index 00000000..4a195248 Binary files /dev/null and b/fuzz/corpora/cmp/c05de299e6133aafa7bc1ec2e28b8f4b5fb78cb5 differ diff --git a/fuzz/corpora/cmp/c06360bb835c140c1f6a9e4f1b036a8f50906dda b/fuzz/corpora/cmp/c06360bb835c140c1f6a9e4f1b036a8f50906dda new file mode 100644 index 00000000..076dfe1e Binary files /dev/null and b/fuzz/corpora/cmp/c06360bb835c140c1f6a9e4f1b036a8f50906dda differ diff --git a/fuzz/corpora/cmp/c071d4ec8c73d1d33bc43e37450f0b5f6d9a10e2 b/fuzz/corpora/cmp/c071d4ec8c73d1d33bc43e37450f0b5f6d9a10e2 new file mode 100644 index 00000000..9ed125bc Binary files /dev/null and b/fuzz/corpora/cmp/c071d4ec8c73d1d33bc43e37450f0b5f6d9a10e2 differ diff --git a/fuzz/corpora/cmp/c0a87ab61d3a22c56d3cf07afbea1db61d49bbc8 b/fuzz/corpora/cmp/c0a87ab61d3a22c56d3cf07afbea1db61d49bbc8 new file mode 100644 index 00000000..47283006 Binary files /dev/null and b/fuzz/corpora/cmp/c0a87ab61d3a22c56d3cf07afbea1db61d49bbc8 differ diff --git a/fuzz/corpora/cmp/c0b15fc665be3c2a1a220e13a213803e0098b0d3 b/fuzz/corpora/cmp/c0b15fc665be3c2a1a220e13a213803e0098b0d3 new file mode 100644 index 00000000..6d44dd41 Binary files /dev/null and b/fuzz/corpora/cmp/c0b15fc665be3c2a1a220e13a213803e0098b0d3 differ diff --git a/fuzz/corpora/cmp/c0bf0e54696fa7e96202763250402f31478f08b9 b/fuzz/corpora/cmp/c0bf0e54696fa7e96202763250402f31478f08b9 new file mode 100644 index 00000000..ebf9df96 Binary files /dev/null and b/fuzz/corpora/cmp/c0bf0e54696fa7e96202763250402f31478f08b9 differ diff --git a/fuzz/corpora/cmp/c0e4ad3ccf4cbd67b1404a7abbe9ee28167f4597 b/fuzz/corpora/cmp/c0e4ad3ccf4cbd67b1404a7abbe9ee28167f4597 new file mode 100644 index 00000000..72018c7c Binary files /dev/null and b/fuzz/corpora/cmp/c0e4ad3ccf4cbd67b1404a7abbe9ee28167f4597 differ diff --git a/fuzz/corpora/cmp/c0f94e73c0b299989164fc4c235004945b41c74f b/fuzz/corpora/cmp/c0f94e73c0b299989164fc4c235004945b41c74f new file mode 100644 index 00000000..b1e38cdb Binary files /dev/null and b/fuzz/corpora/cmp/c0f94e73c0b299989164fc4c235004945b41c74f differ diff --git a/fuzz/corpora/cmp/c10376a866c5a56388438e6e901d1f7a96d521c9 b/fuzz/corpora/cmp/c10376a866c5a56388438e6e901d1f7a96d521c9 new file mode 100644 index 00000000..adb32630 Binary files /dev/null and b/fuzz/corpora/cmp/c10376a866c5a56388438e6e901d1f7a96d521c9 differ diff --git a/fuzz/corpora/cmp/c107fa2268d4026f0faef726cd4c89a5642b8752 b/fuzz/corpora/cmp/c107fa2268d4026f0faef726cd4c89a5642b8752 new file mode 100644 index 00000000..7ffbdb79 Binary files /dev/null and b/fuzz/corpora/cmp/c107fa2268d4026f0faef726cd4c89a5642b8752 differ diff --git a/fuzz/corpora/cmp/c10d8e42ddcc0a1629d67fe35244106a8361d6d4 b/fuzz/corpora/cmp/c10d8e42ddcc0a1629d67fe35244106a8361d6d4 new file mode 100644 index 00000000..a4e70459 Binary files /dev/null and b/fuzz/corpora/cmp/c10d8e42ddcc0a1629d67fe35244106a8361d6d4 differ diff --git a/fuzz/corpora/cmp/c111217d66de0510b1c3b28a3eaec11e48adf364 b/fuzz/corpora/cmp/c111217d66de0510b1c3b28a3eaec11e48adf364 new file mode 100644 index 00000000..0f69c7c2 Binary files /dev/null and b/fuzz/corpora/cmp/c111217d66de0510b1c3b28a3eaec11e48adf364 differ diff --git a/fuzz/corpora/cmp/c11630343f0df8483fca6018b1831a4aac068a18 b/fuzz/corpora/cmp/c11630343f0df8483fca6018b1831a4aac068a18 new file mode 100644 index 00000000..ab599424 Binary files /dev/null and b/fuzz/corpora/cmp/c11630343f0df8483fca6018b1831a4aac068a18 differ diff --git a/fuzz/corpora/cmp/c117df2daa208cbf228bf053484b4fcf1e1b6b53 b/fuzz/corpora/cmp/c117df2daa208cbf228bf053484b4fcf1e1b6b53 new file mode 100644 index 00000000..3f0cc528 Binary files /dev/null and b/fuzz/corpora/cmp/c117df2daa208cbf228bf053484b4fcf1e1b6b53 differ diff --git a/fuzz/corpora/cmp/c119a30e7a166d2ff4f3fd5c86d47916da51dead b/fuzz/corpora/cmp/c119a30e7a166d2ff4f3fd5c86d47916da51dead new file mode 100644 index 00000000..4ef5f5bc Binary files /dev/null and b/fuzz/corpora/cmp/c119a30e7a166d2ff4f3fd5c86d47916da51dead differ diff --git a/fuzz/corpora/cmp/c119b1c6c1a7dbc00deb30667dcff5cc323e2b14 b/fuzz/corpora/cmp/c119b1c6c1a7dbc00deb30667dcff5cc323e2b14 new file mode 100644 index 00000000..76f2bf74 Binary files /dev/null and b/fuzz/corpora/cmp/c119b1c6c1a7dbc00deb30667dcff5cc323e2b14 differ diff --git a/fuzz/corpora/cmp/c11a611f928951c44df9d3803be4cff50bff589d b/fuzz/corpora/cmp/c11a611f928951c44df9d3803be4cff50bff589d new file mode 100644 index 00000000..86351240 Binary files /dev/null and b/fuzz/corpora/cmp/c11a611f928951c44df9d3803be4cff50bff589d differ diff --git a/fuzz/corpora/cmp/c1480391734fa4fec440fc40980f03b4069948db b/fuzz/corpora/cmp/c1480391734fa4fec440fc40980f03b4069948db new file mode 100644 index 00000000..559498fe Binary files /dev/null and b/fuzz/corpora/cmp/c1480391734fa4fec440fc40980f03b4069948db differ diff --git a/fuzz/corpora/cmp/c173a85e693d07c864e344ce2bf17afdfcf999f5 b/fuzz/corpora/cmp/c173a85e693d07c864e344ce2bf17afdfcf999f5 new file mode 100644 index 00000000..d1cc2652 Binary files /dev/null and b/fuzz/corpora/cmp/c173a85e693d07c864e344ce2bf17afdfcf999f5 differ diff --git a/fuzz/corpora/cmp/c1745dd9ae2b1fd3c915042aedd87eeb35a860f7 b/fuzz/corpora/cmp/c1745dd9ae2b1fd3c915042aedd87eeb35a860f7 new file mode 100644 index 00000000..2762dddd Binary files /dev/null and b/fuzz/corpora/cmp/c1745dd9ae2b1fd3c915042aedd87eeb35a860f7 differ diff --git a/fuzz/corpora/cmp/c17b5bc37328829efc52faa48a6f9735f68a8ef3 b/fuzz/corpora/cmp/c17b5bc37328829efc52faa48a6f9735f68a8ef3 new file mode 100644 index 00000000..acec2480 Binary files /dev/null and b/fuzz/corpora/cmp/c17b5bc37328829efc52faa48a6f9735f68a8ef3 differ diff --git a/fuzz/corpora/cmp/c17da2cb487007712edb54ce6d9790f118fdfe8e b/fuzz/corpora/cmp/c17da2cb487007712edb54ce6d9790f118fdfe8e new file mode 100644 index 00000000..1aa67d22 Binary files /dev/null and b/fuzz/corpora/cmp/c17da2cb487007712edb54ce6d9790f118fdfe8e differ diff --git a/fuzz/corpora/cmp/c185c9686eadd0da0d4edf686f7218c2816245b1 b/fuzz/corpora/cmp/c185c9686eadd0da0d4edf686f7218c2816245b1 new file mode 100644 index 00000000..e93f9323 Binary files /dev/null and b/fuzz/corpora/cmp/c185c9686eadd0da0d4edf686f7218c2816245b1 differ diff --git a/fuzz/corpora/cmp/c18693496bf40dcfb03636be38ac52f6f3890fb0 b/fuzz/corpora/cmp/c18693496bf40dcfb03636be38ac52f6f3890fb0 new file mode 100644 index 00000000..ff8e8f6a Binary files /dev/null and b/fuzz/corpora/cmp/c18693496bf40dcfb03636be38ac52f6f3890fb0 differ diff --git a/fuzz/corpora/cmp/c191e5f0859e962347eabaaaca4064491a7067ff b/fuzz/corpora/cmp/c191e5f0859e962347eabaaaca4064491a7067ff new file mode 100644 index 00000000..201e294b Binary files /dev/null and b/fuzz/corpora/cmp/c191e5f0859e962347eabaaaca4064491a7067ff differ diff --git a/fuzz/corpora/cmp/c199b68dfb0a32c2a41a6a58233b34855242c91c b/fuzz/corpora/cmp/c199b68dfb0a32c2a41a6a58233b34855242c91c new file mode 100644 index 00000000..5f6c88c9 Binary files /dev/null and b/fuzz/corpora/cmp/c199b68dfb0a32c2a41a6a58233b34855242c91c differ diff --git a/fuzz/corpora/cmp/c1b021385feed47cebbac3a917b8c60f9f9bd1ef b/fuzz/corpora/cmp/c1b021385feed47cebbac3a917b8c60f9f9bd1ef new file mode 100644 index 00000000..03403f82 Binary files /dev/null and b/fuzz/corpora/cmp/c1b021385feed47cebbac3a917b8c60f9f9bd1ef differ diff --git a/fuzz/corpora/cmp/c1b49b7cbc3d9ae202d4fb57479aae379ce44474 b/fuzz/corpora/cmp/c1b49b7cbc3d9ae202d4fb57479aae379ce44474 new file mode 100644 index 00000000..41df44f2 Binary files /dev/null and b/fuzz/corpora/cmp/c1b49b7cbc3d9ae202d4fb57479aae379ce44474 differ diff --git a/fuzz/corpora/cmp/c1e6bf1c65a48e21059022e709360bdd6a473cb5 b/fuzz/corpora/cmp/c1e6bf1c65a48e21059022e709360bdd6a473cb5 new file mode 100644 index 00000000..3fcee0fb Binary files /dev/null and b/fuzz/corpora/cmp/c1e6bf1c65a48e21059022e709360bdd6a473cb5 differ diff --git a/fuzz/corpora/cmp/c1ebe62447f981cb594d665e6c9bc1145a508118 b/fuzz/corpora/cmp/c1ebe62447f981cb594d665e6c9bc1145a508118 new file mode 100644 index 00000000..1a4854f4 Binary files /dev/null and b/fuzz/corpora/cmp/c1ebe62447f981cb594d665e6c9bc1145a508118 differ diff --git a/fuzz/corpora/cmp/c208431d25944ce3a2210de53b092cad2c14bdc6 b/fuzz/corpora/cmp/c208431d25944ce3a2210de53b092cad2c14bdc6 new file mode 100644 index 00000000..6d76c372 Binary files /dev/null and b/fuzz/corpora/cmp/c208431d25944ce3a2210de53b092cad2c14bdc6 differ diff --git a/fuzz/corpora/cmp/c20f916cc511ddeaa67ec57e219fbf446490ddfc b/fuzz/corpora/cmp/c20f916cc511ddeaa67ec57e219fbf446490ddfc new file mode 100644 index 00000000..a22c8ede Binary files /dev/null and b/fuzz/corpora/cmp/c20f916cc511ddeaa67ec57e219fbf446490ddfc differ diff --git a/fuzz/corpora/cmp/c221390e765a0cbbb3bacf70fc7afa3d14ab5054 b/fuzz/corpora/cmp/c221390e765a0cbbb3bacf70fc7afa3d14ab5054 new file mode 100644 index 00000000..01a8131d Binary files /dev/null and b/fuzz/corpora/cmp/c221390e765a0cbbb3bacf70fc7afa3d14ab5054 differ diff --git a/fuzz/corpora/cmp/c231a4350338b347c2ee49543852548e5f82849d b/fuzz/corpora/cmp/c231a4350338b347c2ee49543852548e5f82849d new file mode 100644 index 00000000..18d6ccb9 Binary files /dev/null and b/fuzz/corpora/cmp/c231a4350338b347c2ee49543852548e5f82849d differ diff --git a/fuzz/corpora/cmp/c25c79c9b017e17ad1ebbba692278e30aeed3f87 b/fuzz/corpora/cmp/c25c79c9b017e17ad1ebbba692278e30aeed3f87 new file mode 100644 index 00000000..dc2b2005 Binary files /dev/null and b/fuzz/corpora/cmp/c25c79c9b017e17ad1ebbba692278e30aeed3f87 differ diff --git a/fuzz/corpora/cmp/c25e101698e8c98234eadcf2cd40df52aaed4452 b/fuzz/corpora/cmp/c25e101698e8c98234eadcf2cd40df52aaed4452 new file mode 100644 index 00000000..05b2371c Binary files /dev/null and b/fuzz/corpora/cmp/c25e101698e8c98234eadcf2cd40df52aaed4452 differ diff --git a/fuzz/corpora/cmp/c26111df74106bda325c65249158ec646e1ad79e b/fuzz/corpora/cmp/c26111df74106bda325c65249158ec646e1ad79e new file mode 100644 index 00000000..8ec77ddd Binary files /dev/null and b/fuzz/corpora/cmp/c26111df74106bda325c65249158ec646e1ad79e differ diff --git a/fuzz/corpora/cmp/c272fd6b79be7cda4ae100015d79e67c11e005d3 b/fuzz/corpora/cmp/c272fd6b79be7cda4ae100015d79e67c11e005d3 new file mode 100644 index 00000000..25ccac3d Binary files /dev/null and b/fuzz/corpora/cmp/c272fd6b79be7cda4ae100015d79e67c11e005d3 differ diff --git a/fuzz/corpora/cmp/c27b05f4061c8e242c5edf385eb9cff8b0e5d76d b/fuzz/corpora/cmp/c27b05f4061c8e242c5edf385eb9cff8b0e5d76d new file mode 100644 index 00000000..8a008015 Binary files /dev/null and b/fuzz/corpora/cmp/c27b05f4061c8e242c5edf385eb9cff8b0e5d76d differ diff --git a/fuzz/corpora/cmp/c2839218d266ae0fbd6f1b57975f805373f48c28 b/fuzz/corpora/cmp/c2839218d266ae0fbd6f1b57975f805373f48c28 new file mode 100644 index 00000000..c1f0dc4b Binary files /dev/null and b/fuzz/corpora/cmp/c2839218d266ae0fbd6f1b57975f805373f48c28 differ diff --git a/fuzz/corpora/cmp/c28c0190bdba766337acbe0269e63c4d50c28dfd b/fuzz/corpora/cmp/c28c0190bdba766337acbe0269e63c4d50c28dfd new file mode 100644 index 00000000..bc959427 Binary files /dev/null and b/fuzz/corpora/cmp/c28c0190bdba766337acbe0269e63c4d50c28dfd differ diff --git a/fuzz/corpora/cmp/c2a7102fb85fe246327c02ba5085180394f4b83a b/fuzz/corpora/cmp/c2a7102fb85fe246327c02ba5085180394f4b83a new file mode 100644 index 00000000..391f27f4 Binary files /dev/null and b/fuzz/corpora/cmp/c2a7102fb85fe246327c02ba5085180394f4b83a differ diff --git a/fuzz/corpora/cmp/c2b65d87c48c2ad9eac3597494f359df5cbe5b9b b/fuzz/corpora/cmp/c2b65d87c48c2ad9eac3597494f359df5cbe5b9b new file mode 100644 index 00000000..3aa1ac08 Binary files /dev/null and b/fuzz/corpora/cmp/c2b65d87c48c2ad9eac3597494f359df5cbe5b9b differ diff --git a/fuzz/corpora/cmp/c2baeecf6203e607545adf0ae997ad9a18b0e30f b/fuzz/corpora/cmp/c2baeecf6203e607545adf0ae997ad9a18b0e30f new file mode 100644 index 00000000..ca241744 Binary files /dev/null and b/fuzz/corpora/cmp/c2baeecf6203e607545adf0ae997ad9a18b0e30f differ diff --git a/fuzz/corpora/cmp/c2bb0790c90b5fd2ee375b5b7e510528f011d561 b/fuzz/corpora/cmp/c2bb0790c90b5fd2ee375b5b7e510528f011d561 new file mode 100644 index 00000000..e5fbff19 Binary files /dev/null and b/fuzz/corpora/cmp/c2bb0790c90b5fd2ee375b5b7e510528f011d561 differ diff --git a/fuzz/corpora/cmp/c2d48b1876b27e2dfac2e3eddfa622a597110a2f b/fuzz/corpora/cmp/c2d48b1876b27e2dfac2e3eddfa622a597110a2f new file mode 100644 index 00000000..fc692ce1 Binary files /dev/null and b/fuzz/corpora/cmp/c2d48b1876b27e2dfac2e3eddfa622a597110a2f differ diff --git a/fuzz/corpora/cmp/c2f161e08dfe71b5b615e1edd3797be875bf12ac b/fuzz/corpora/cmp/c2f161e08dfe71b5b615e1edd3797be875bf12ac new file mode 100644 index 00000000..15384400 Binary files /dev/null and b/fuzz/corpora/cmp/c2f161e08dfe71b5b615e1edd3797be875bf12ac differ diff --git a/fuzz/corpora/cmp/c2faea0abc2b7bac417980f8322d9acdd14c2654 b/fuzz/corpora/cmp/c2faea0abc2b7bac417980f8322d9acdd14c2654 new file mode 100644 index 00000000..d8913f17 Binary files /dev/null and b/fuzz/corpora/cmp/c2faea0abc2b7bac417980f8322d9acdd14c2654 differ diff --git a/fuzz/corpora/cmp/c30678e8f77f5acc1b8f82a6ec7bbbf352492d71 b/fuzz/corpora/cmp/c30678e8f77f5acc1b8f82a6ec7bbbf352492d71 new file mode 100644 index 00000000..8f002af0 Binary files /dev/null and b/fuzz/corpora/cmp/c30678e8f77f5acc1b8f82a6ec7bbbf352492d71 differ diff --git a/fuzz/corpora/cmp/c30a25aabdd6ae1d044837797a1b00df248eb8c1 b/fuzz/corpora/cmp/c30a25aabdd6ae1d044837797a1b00df248eb8c1 new file mode 100644 index 00000000..bffb47ae Binary files /dev/null and b/fuzz/corpora/cmp/c30a25aabdd6ae1d044837797a1b00df248eb8c1 differ diff --git a/fuzz/corpora/cmp/c3207b5b561d391419a72a7bfd18a39b2dd60438 b/fuzz/corpora/cmp/c3207b5b561d391419a72a7bfd18a39b2dd60438 new file mode 100644 index 00000000..057dea25 Binary files /dev/null and b/fuzz/corpora/cmp/c3207b5b561d391419a72a7bfd18a39b2dd60438 differ diff --git a/fuzz/corpora/cmp/c3214e651001cba04bcb2dc0e6a93d684e1b33be b/fuzz/corpora/cmp/c3214e651001cba04bcb2dc0e6a93d684e1b33be new file mode 100644 index 00000000..18585853 Binary files /dev/null and b/fuzz/corpora/cmp/c3214e651001cba04bcb2dc0e6a93d684e1b33be differ diff --git a/fuzz/corpora/cmp/c32436d0be2ac5b8817a3943cf97d2a6c1deb144 b/fuzz/corpora/cmp/c32436d0be2ac5b8817a3943cf97d2a6c1deb144 new file mode 100644 index 00000000..a4dd24e6 Binary files /dev/null and b/fuzz/corpora/cmp/c32436d0be2ac5b8817a3943cf97d2a6c1deb144 differ diff --git a/fuzz/corpora/cmp/c3261ed2667ac87e231b3777998321d26cb5dd78 b/fuzz/corpora/cmp/c3261ed2667ac87e231b3777998321d26cb5dd78 new file mode 100644 index 00000000..f86d764c Binary files /dev/null and b/fuzz/corpora/cmp/c3261ed2667ac87e231b3777998321d26cb5dd78 differ diff --git a/fuzz/corpora/cmp/c32ba6fa456927500d778e33d558010c385ee637 b/fuzz/corpora/cmp/c32ba6fa456927500d778e33d558010c385ee637 new file mode 100644 index 00000000..d8c20d7c Binary files /dev/null and b/fuzz/corpora/cmp/c32ba6fa456927500d778e33d558010c385ee637 differ diff --git a/fuzz/corpora/cmp/c334ebf8148dc30349c40a7af1a052d70d035d3a b/fuzz/corpora/cmp/c334ebf8148dc30349c40a7af1a052d70d035d3a new file mode 100644 index 00000000..7004d0cc Binary files /dev/null and b/fuzz/corpora/cmp/c334ebf8148dc30349c40a7af1a052d70d035d3a differ diff --git a/fuzz/corpora/cmp/c336461bb118923fc7d5f9d3f61932fb81760d45 b/fuzz/corpora/cmp/c336461bb118923fc7d5f9d3f61932fb81760d45 new file mode 100644 index 00000000..83431577 Binary files /dev/null and b/fuzz/corpora/cmp/c336461bb118923fc7d5f9d3f61932fb81760d45 differ diff --git a/fuzz/corpora/cmp/c33b07955b4320e4f56dfc759e3870f61daf2e58 b/fuzz/corpora/cmp/c33b07955b4320e4f56dfc759e3870f61daf2e58 new file mode 100644 index 00000000..dbd1e75b Binary files /dev/null and b/fuzz/corpora/cmp/c33b07955b4320e4f56dfc759e3870f61daf2e58 differ diff --git a/fuzz/corpora/cmp/c34ba1ed3d689e769e3026e6db2bed9bc76aaa35 b/fuzz/corpora/cmp/c34ba1ed3d689e769e3026e6db2bed9bc76aaa35 new file mode 100644 index 00000000..f96e5d80 Binary files /dev/null and b/fuzz/corpora/cmp/c34ba1ed3d689e769e3026e6db2bed9bc76aaa35 differ diff --git a/fuzz/corpora/cmp/c34bca0d225d480fa474e2a8d2065716d4f2d711 b/fuzz/corpora/cmp/c34bca0d225d480fa474e2a8d2065716d4f2d711 new file mode 100644 index 00000000..6315edfa Binary files /dev/null and b/fuzz/corpora/cmp/c34bca0d225d480fa474e2a8d2065716d4f2d711 differ diff --git a/fuzz/corpora/cmp/c36626a1a8038c16e43bc1921c3d72a5b9a9dd73 b/fuzz/corpora/cmp/c36626a1a8038c16e43bc1921c3d72a5b9a9dd73 new file mode 100644 index 00000000..7d686af9 Binary files /dev/null and b/fuzz/corpora/cmp/c36626a1a8038c16e43bc1921c3d72a5b9a9dd73 differ diff --git a/fuzz/corpora/cmp/c36b9b18313d76cbc98e9ad8c6bbced38154c41f b/fuzz/corpora/cmp/c36b9b18313d76cbc98e9ad8c6bbced38154c41f new file mode 100644 index 00000000..2a21d9db Binary files /dev/null and b/fuzz/corpora/cmp/c36b9b18313d76cbc98e9ad8c6bbced38154c41f differ diff --git a/fuzz/corpora/cmp/c3810293e8b25f11692fb6aa8d2056f177e8f58c b/fuzz/corpora/cmp/c3810293e8b25f11692fb6aa8d2056f177e8f58c new file mode 100644 index 00000000..7aac29a2 Binary files /dev/null and b/fuzz/corpora/cmp/c3810293e8b25f11692fb6aa8d2056f177e8f58c differ diff --git a/fuzz/corpora/cmp/c38242147f646ba83d066a09afce6aff39ed0a0f b/fuzz/corpora/cmp/c38242147f646ba83d066a09afce6aff39ed0a0f new file mode 100644 index 00000000..08e8f02c Binary files /dev/null and b/fuzz/corpora/cmp/c38242147f646ba83d066a09afce6aff39ed0a0f differ diff --git a/fuzz/corpora/cmp/c395e641372043529a1d216fa329ecca2dac39d4 b/fuzz/corpora/cmp/c395e641372043529a1d216fa329ecca2dac39d4 new file mode 100644 index 00000000..7af92cc0 Binary files /dev/null and b/fuzz/corpora/cmp/c395e641372043529a1d216fa329ecca2dac39d4 differ diff --git a/fuzz/corpora/cmp/c397a0f915968ac89c076727b5028f1ee46d5a7d b/fuzz/corpora/cmp/c397a0f915968ac89c076727b5028f1ee46d5a7d new file mode 100644 index 00000000..5ef7be14 Binary files /dev/null and b/fuzz/corpora/cmp/c397a0f915968ac89c076727b5028f1ee46d5a7d differ diff --git a/fuzz/corpora/cmp/c39eb7a23e2111b35598709c9ad0fc7aa751cbf9 b/fuzz/corpora/cmp/c39eb7a23e2111b35598709c9ad0fc7aa751cbf9 new file mode 100644 index 00000000..a41d60b6 Binary files /dev/null and b/fuzz/corpora/cmp/c39eb7a23e2111b35598709c9ad0fc7aa751cbf9 differ diff --git a/fuzz/corpora/cmp/c3aa288a016cd7ca3abab5a97c3be86a50321716 b/fuzz/corpora/cmp/c3aa288a016cd7ca3abab5a97c3be86a50321716 new file mode 100644 index 00000000..844cca35 Binary files /dev/null and b/fuzz/corpora/cmp/c3aa288a016cd7ca3abab5a97c3be86a50321716 differ diff --git a/fuzz/corpora/cmp/c3d1b105c564c89a161d094e25ec6ee7bf28c896 b/fuzz/corpora/cmp/c3d1b105c564c89a161d094e25ec6ee7bf28c896 new file mode 100644 index 00000000..3a91650e Binary files /dev/null and b/fuzz/corpora/cmp/c3d1b105c564c89a161d094e25ec6ee7bf28c896 differ diff --git a/fuzz/corpora/cmp/c3dd50ee676d6341df1d6c0d45d22c12d268b341 b/fuzz/corpora/cmp/c3dd50ee676d6341df1d6c0d45d22c12d268b341 new file mode 100644 index 00000000..e278e038 Binary files /dev/null and b/fuzz/corpora/cmp/c3dd50ee676d6341df1d6c0d45d22c12d268b341 differ diff --git a/fuzz/corpora/cmp/c3ef499e85a4b81798833151044830ea2bfd68b0 b/fuzz/corpora/cmp/c3ef499e85a4b81798833151044830ea2bfd68b0 new file mode 100644 index 00000000..951fbf35 Binary files /dev/null and b/fuzz/corpora/cmp/c3ef499e85a4b81798833151044830ea2bfd68b0 differ diff --git a/fuzz/corpora/cmp/c3faa976fd402f3e63eb0ba213488ed488266e2f b/fuzz/corpora/cmp/c3faa976fd402f3e63eb0ba213488ed488266e2f new file mode 100644 index 00000000..3eb420f1 Binary files /dev/null and b/fuzz/corpora/cmp/c3faa976fd402f3e63eb0ba213488ed488266e2f differ diff --git a/fuzz/corpora/cmp/c40479370c0fb21cc8cb6c9a166d19b250831870 b/fuzz/corpora/cmp/c40479370c0fb21cc8cb6c9a166d19b250831870 new file mode 100644 index 00000000..f9fb146c Binary files /dev/null and b/fuzz/corpora/cmp/c40479370c0fb21cc8cb6c9a166d19b250831870 differ diff --git a/fuzz/corpora/cmp/c408554275263416debbc3039adb04c27e959fd8 b/fuzz/corpora/cmp/c408554275263416debbc3039adb04c27e959fd8 new file mode 100644 index 00000000..85d1cb10 Binary files /dev/null and b/fuzz/corpora/cmp/c408554275263416debbc3039adb04c27e959fd8 differ diff --git a/fuzz/corpora/cmp/c416db515519941f6e464b55878612b08c6c2b6e b/fuzz/corpora/cmp/c416db515519941f6e464b55878612b08c6c2b6e new file mode 100644 index 00000000..3e5beee6 Binary files /dev/null and b/fuzz/corpora/cmp/c416db515519941f6e464b55878612b08c6c2b6e differ diff --git a/fuzz/corpora/cmp/c426dff3c0d123a39b79847f73dd3c61d59f61ee b/fuzz/corpora/cmp/c426dff3c0d123a39b79847f73dd3c61d59f61ee new file mode 100644 index 00000000..d23fe289 Binary files /dev/null and b/fuzz/corpora/cmp/c426dff3c0d123a39b79847f73dd3c61d59f61ee differ diff --git a/fuzz/corpora/cmp/c43c3bef62e38d3da48965c056ad4132d39b67c5 b/fuzz/corpora/cmp/c43c3bef62e38d3da48965c056ad4132d39b67c5 new file mode 100644 index 00000000..92d7e610 Binary files /dev/null and b/fuzz/corpora/cmp/c43c3bef62e38d3da48965c056ad4132d39b67c5 differ diff --git a/fuzz/corpora/cmp/c442fc9d9a9e7deea54ecffbc999ff5e79f2184c b/fuzz/corpora/cmp/c442fc9d9a9e7deea54ecffbc999ff5e79f2184c new file mode 100644 index 00000000..66fc353d Binary files /dev/null and b/fuzz/corpora/cmp/c442fc9d9a9e7deea54ecffbc999ff5e79f2184c differ diff --git a/fuzz/corpora/cmp/c44eeed8df4f4288a8a7e03e5c1d3aceec480aa3 b/fuzz/corpora/cmp/c44eeed8df4f4288a8a7e03e5c1d3aceec480aa3 new file mode 100644 index 00000000..6bfee36c Binary files /dev/null and b/fuzz/corpora/cmp/c44eeed8df4f4288a8a7e03e5c1d3aceec480aa3 differ diff --git a/fuzz/corpora/cmp/c454eceb64640119f75a3c06572c5bfdcf5505e8 b/fuzz/corpora/cmp/c454eceb64640119f75a3c06572c5bfdcf5505e8 new file mode 100644 index 00000000..7cbe542a Binary files /dev/null and b/fuzz/corpora/cmp/c454eceb64640119f75a3c06572c5bfdcf5505e8 differ diff --git a/fuzz/corpora/cmp/c45cc4d9a010e884e9ef4efe38e63fd933863045 b/fuzz/corpora/cmp/c45cc4d9a010e884e9ef4efe38e63fd933863045 new file mode 100644 index 00000000..2bda8a19 Binary files /dev/null and b/fuzz/corpora/cmp/c45cc4d9a010e884e9ef4efe38e63fd933863045 differ diff --git a/fuzz/corpora/cmp/c4612f7f663adee00e19bb7626afe9d9a1dfa4d4 b/fuzz/corpora/cmp/c4612f7f663adee00e19bb7626afe9d9a1dfa4d4 new file mode 100644 index 00000000..3b323ef2 Binary files /dev/null and b/fuzz/corpora/cmp/c4612f7f663adee00e19bb7626afe9d9a1dfa4d4 differ diff --git a/fuzz/corpora/cmp/c47805ced66eca48ff6b4910bda8778c68c518ea b/fuzz/corpora/cmp/c47805ced66eca48ff6b4910bda8778c68c518ea new file mode 100644 index 00000000..1362719d Binary files /dev/null and b/fuzz/corpora/cmp/c47805ced66eca48ff6b4910bda8778c68c518ea differ diff --git a/fuzz/corpora/cmp/c47fb88feb3c1f9a98f23576b9283a3ae4b1d91a b/fuzz/corpora/cmp/c47fb88feb3c1f9a98f23576b9283a3ae4b1d91a new file mode 100644 index 00000000..2dff6b4f Binary files /dev/null and b/fuzz/corpora/cmp/c47fb88feb3c1f9a98f23576b9283a3ae4b1d91a differ diff --git a/fuzz/corpora/cmp/c49523b93fb9d11c82aba7b9c18afb3a8cb48a3e b/fuzz/corpora/cmp/c49523b93fb9d11c82aba7b9c18afb3a8cb48a3e new file mode 100644 index 00000000..38a1f82f Binary files /dev/null and b/fuzz/corpora/cmp/c49523b93fb9d11c82aba7b9c18afb3a8cb48a3e differ diff --git a/fuzz/corpora/cmp/c495a3244b2e1f80f3de777bb61e15c8d9eaf71e b/fuzz/corpora/cmp/c495a3244b2e1f80f3de777bb61e15c8d9eaf71e new file mode 100644 index 00000000..7e38972f Binary files /dev/null and b/fuzz/corpora/cmp/c495a3244b2e1f80f3de777bb61e15c8d9eaf71e differ diff --git a/fuzz/corpora/cmp/c499f267134ce588e6a09ccc751755545216aef0 b/fuzz/corpora/cmp/c499f267134ce588e6a09ccc751755545216aef0 new file mode 100644 index 00000000..c805aa73 Binary files /dev/null and b/fuzz/corpora/cmp/c499f267134ce588e6a09ccc751755545216aef0 differ diff --git a/fuzz/corpora/cmp/c4aca223bb08a8789b810a2fa245c458227e25ba b/fuzz/corpora/cmp/c4aca223bb08a8789b810a2fa245c458227e25ba new file mode 100644 index 00000000..40d1800a Binary files /dev/null and b/fuzz/corpora/cmp/c4aca223bb08a8789b810a2fa245c458227e25ba differ diff --git a/fuzz/corpora/cmp/c4c86dcef3573a420b6823d2afa7883316704771 b/fuzz/corpora/cmp/c4c86dcef3573a420b6823d2afa7883316704771 new file mode 100644 index 00000000..fa87ee2b Binary files /dev/null and b/fuzz/corpora/cmp/c4c86dcef3573a420b6823d2afa7883316704771 differ diff --git a/fuzz/corpora/cmp/c4c9b77e2d386c7d97b1bcb7b059c47c6c1c977d b/fuzz/corpora/cmp/c4c9b77e2d386c7d97b1bcb7b059c47c6c1c977d new file mode 100644 index 00000000..c3a4f03d Binary files /dev/null and b/fuzz/corpora/cmp/c4c9b77e2d386c7d97b1bcb7b059c47c6c1c977d differ diff --git a/fuzz/corpora/cmp/c4df5cfa1275eb9531f21a305e5d4f2d858b485a b/fuzz/corpora/cmp/c4df5cfa1275eb9531f21a305e5d4f2d858b485a new file mode 100644 index 00000000..1c73efb9 Binary files /dev/null and b/fuzz/corpora/cmp/c4df5cfa1275eb9531f21a305e5d4f2d858b485a differ diff --git a/fuzz/corpora/cmp/c4e18030167d5809c02f3dafa3136b5022b02e2e b/fuzz/corpora/cmp/c4e18030167d5809c02f3dafa3136b5022b02e2e new file mode 100644 index 00000000..3ccf37a4 Binary files /dev/null and b/fuzz/corpora/cmp/c4e18030167d5809c02f3dafa3136b5022b02e2e differ diff --git a/fuzz/corpora/cmp/c4efbcc628106686d7317554dabfcf780159f35e b/fuzz/corpora/cmp/c4efbcc628106686d7317554dabfcf780159f35e new file mode 100644 index 00000000..2e289423 Binary files /dev/null and b/fuzz/corpora/cmp/c4efbcc628106686d7317554dabfcf780159f35e differ diff --git a/fuzz/corpora/cmp/c53597f63cdd7563d67bd183153a6a8a5984cf03 b/fuzz/corpora/cmp/c53597f63cdd7563d67bd183153a6a8a5984cf03 new file mode 100644 index 00000000..65c1750d Binary files /dev/null and b/fuzz/corpora/cmp/c53597f63cdd7563d67bd183153a6a8a5984cf03 differ diff --git a/fuzz/corpora/cmp/c541c9d807fa042faa83314756ec2e41616ddecb b/fuzz/corpora/cmp/c541c9d807fa042faa83314756ec2e41616ddecb new file mode 100644 index 00000000..ff96e5da Binary files /dev/null and b/fuzz/corpora/cmp/c541c9d807fa042faa83314756ec2e41616ddecb differ diff --git a/fuzz/corpora/cmp/c544db90e2bfafe2b08e8f0cca2e005134cad571 b/fuzz/corpora/cmp/c544db90e2bfafe2b08e8f0cca2e005134cad571 new file mode 100644 index 00000000..d3d1929f Binary files /dev/null and b/fuzz/corpora/cmp/c544db90e2bfafe2b08e8f0cca2e005134cad571 differ diff --git a/fuzz/corpora/cmp/c568b36cba4036d6844975ae94dce637533e3666 b/fuzz/corpora/cmp/c568b36cba4036d6844975ae94dce637533e3666 new file mode 100644 index 00000000..d1a54f64 Binary files /dev/null and b/fuzz/corpora/cmp/c568b36cba4036d6844975ae94dce637533e3666 differ diff --git a/fuzz/corpora/cmp/c572b26d3c6a41dfdad960af55e24132a80acfef b/fuzz/corpora/cmp/c572b26d3c6a41dfdad960af55e24132a80acfef new file mode 100644 index 00000000..3880851d Binary files /dev/null and b/fuzz/corpora/cmp/c572b26d3c6a41dfdad960af55e24132a80acfef differ diff --git a/fuzz/corpora/cmp/c572c02ddfac713b31066c7af6fde3a08575bb01 b/fuzz/corpora/cmp/c572c02ddfac713b31066c7af6fde3a08575bb01 new file mode 100644 index 00000000..51f63781 Binary files /dev/null and b/fuzz/corpora/cmp/c572c02ddfac713b31066c7af6fde3a08575bb01 differ diff --git a/fuzz/corpora/cmp/c5a4a52a91bcca3c13fbc6e42a09c2d4b1f5efe6 b/fuzz/corpora/cmp/c5a4a52a91bcca3c13fbc6e42a09c2d4b1f5efe6 new file mode 100644 index 00000000..41c6cb61 Binary files /dev/null and b/fuzz/corpora/cmp/c5a4a52a91bcca3c13fbc6e42a09c2d4b1f5efe6 differ diff --git a/fuzz/corpora/cmp/c5ba62779657c127c7bac9b8524e0f9fa8983b22 b/fuzz/corpora/cmp/c5ba62779657c127c7bac9b8524e0f9fa8983b22 new file mode 100644 index 00000000..98f51dd2 Binary files /dev/null and b/fuzz/corpora/cmp/c5ba62779657c127c7bac9b8524e0f9fa8983b22 differ diff --git a/fuzz/corpora/cmp/c5cfdecad48c5dc06981dbee658ca90c194124bd b/fuzz/corpora/cmp/c5cfdecad48c5dc06981dbee658ca90c194124bd new file mode 100644 index 00000000..7d86887f Binary files /dev/null and b/fuzz/corpora/cmp/c5cfdecad48c5dc06981dbee658ca90c194124bd differ diff --git a/fuzz/corpora/cmp/c5d69f86be40ac82f190fbb78bb764e32a3f895d b/fuzz/corpora/cmp/c5d69f86be40ac82f190fbb78bb764e32a3f895d new file mode 100644 index 00000000..6fb532a1 Binary files /dev/null and b/fuzz/corpora/cmp/c5d69f86be40ac82f190fbb78bb764e32a3f895d differ diff --git a/fuzz/corpora/cmp/c5dcfe24bd6740ae8a29c1be9ec8bdbc68d0014f b/fuzz/corpora/cmp/c5dcfe24bd6740ae8a29c1be9ec8bdbc68d0014f new file mode 100644 index 00000000..6205f865 Binary files /dev/null and b/fuzz/corpora/cmp/c5dcfe24bd6740ae8a29c1be9ec8bdbc68d0014f differ diff --git a/fuzz/corpora/cmp/c5f7755a9182d8af67fa6b6c65309d39cda802f9 b/fuzz/corpora/cmp/c5f7755a9182d8af67fa6b6c65309d39cda802f9 new file mode 100644 index 00000000..a4218180 Binary files /dev/null and b/fuzz/corpora/cmp/c5f7755a9182d8af67fa6b6c65309d39cda802f9 differ diff --git a/fuzz/corpora/cmp/c5fbaf6ed590c3e2dffc4cfb71e3796ab43c0629 b/fuzz/corpora/cmp/c5fbaf6ed590c3e2dffc4cfb71e3796ab43c0629 new file mode 100644 index 00000000..888c87bc Binary files /dev/null and b/fuzz/corpora/cmp/c5fbaf6ed590c3e2dffc4cfb71e3796ab43c0629 differ diff --git a/fuzz/corpora/cmp/c60f09021fa2348a5a4db040e9085848fef4be59 b/fuzz/corpora/cmp/c60f09021fa2348a5a4db040e9085848fef4be59 new file mode 100644 index 00000000..dd1aefae Binary files /dev/null and b/fuzz/corpora/cmp/c60f09021fa2348a5a4db040e9085848fef4be59 differ diff --git a/fuzz/corpora/cmp/c614603da288648835969f6ba6cc574657e0a55c b/fuzz/corpora/cmp/c614603da288648835969f6ba6cc574657e0a55c new file mode 100644 index 00000000..f9bbc40d Binary files /dev/null and b/fuzz/corpora/cmp/c614603da288648835969f6ba6cc574657e0a55c differ diff --git a/fuzz/corpora/cmp/c619b3450334e1e23ce524e3422d630624ba6ba1 b/fuzz/corpora/cmp/c619b3450334e1e23ce524e3422d630624ba6ba1 new file mode 100644 index 00000000..ba973fc3 Binary files /dev/null and b/fuzz/corpora/cmp/c619b3450334e1e23ce524e3422d630624ba6ba1 differ diff --git a/fuzz/corpora/cmp/c619d3605f792d906a04613be689e7fb5a3e5101 b/fuzz/corpora/cmp/c619d3605f792d906a04613be689e7fb5a3e5101 new file mode 100644 index 00000000..91273923 Binary files /dev/null and b/fuzz/corpora/cmp/c619d3605f792d906a04613be689e7fb5a3e5101 differ diff --git a/fuzz/corpora/cmp/c622c84faeed45b7255befcce4da0d70dd4259a4 b/fuzz/corpora/cmp/c622c84faeed45b7255befcce4da0d70dd4259a4 new file mode 100644 index 00000000..39c095cd Binary files /dev/null and b/fuzz/corpora/cmp/c622c84faeed45b7255befcce4da0d70dd4259a4 differ diff --git a/fuzz/corpora/cmp/c62313765100aeb375bec6a29152fa43213cf03a b/fuzz/corpora/cmp/c62313765100aeb375bec6a29152fa43213cf03a new file mode 100644 index 00000000..3cf05256 Binary files /dev/null and b/fuzz/corpora/cmp/c62313765100aeb375bec6a29152fa43213cf03a differ diff --git a/fuzz/corpora/cmp/c62866a7aa9491cd6bcecac2d2e03f34617c4da2 b/fuzz/corpora/cmp/c62866a7aa9491cd6bcecac2d2e03f34617c4da2 new file mode 100644 index 00000000..fc0f7d5b Binary files /dev/null and b/fuzz/corpora/cmp/c62866a7aa9491cd6bcecac2d2e03f34617c4da2 differ diff --git a/fuzz/corpora/cmp/c63bca91cb91f3df50664effa398f3aa49136f35 b/fuzz/corpora/cmp/c63bca91cb91f3df50664effa398f3aa49136f35 new file mode 100644 index 00000000..3967707a Binary files /dev/null and b/fuzz/corpora/cmp/c63bca91cb91f3df50664effa398f3aa49136f35 differ diff --git a/fuzz/corpora/cmp/c641b2e0e1ca6a03f832b619f62258f971361516 b/fuzz/corpora/cmp/c641b2e0e1ca6a03f832b619f62258f971361516 new file mode 100644 index 00000000..da8d7506 Binary files /dev/null and b/fuzz/corpora/cmp/c641b2e0e1ca6a03f832b619f62258f971361516 differ diff --git a/fuzz/corpora/cmp/c677a494ae6600dec5e987eea1dcb2de2e949b07 b/fuzz/corpora/cmp/c677a494ae6600dec5e987eea1dcb2de2e949b07 new file mode 100644 index 00000000..e4bccb7b Binary files /dev/null and b/fuzz/corpora/cmp/c677a494ae6600dec5e987eea1dcb2de2e949b07 differ diff --git a/fuzz/corpora/cmp/c67cd22906eca8b7d98d7789143c0dcd958b8960 b/fuzz/corpora/cmp/c67cd22906eca8b7d98d7789143c0dcd958b8960 new file mode 100644 index 00000000..af20b7af Binary files /dev/null and b/fuzz/corpora/cmp/c67cd22906eca8b7d98d7789143c0dcd958b8960 differ diff --git a/fuzz/corpora/cmp/c68bc330adc1d046e187a09a517d97caba1b7d3b b/fuzz/corpora/cmp/c68bc330adc1d046e187a09a517d97caba1b7d3b new file mode 100644 index 00000000..8e50eb24 Binary files /dev/null and b/fuzz/corpora/cmp/c68bc330adc1d046e187a09a517d97caba1b7d3b differ diff --git a/fuzz/corpora/cmp/c68e8fb9be9ba6ca88eeab9c575c370a6b69f206 b/fuzz/corpora/cmp/c68e8fb9be9ba6ca88eeab9c575c370a6b69f206 new file mode 100644 index 00000000..11af0df3 Binary files /dev/null and b/fuzz/corpora/cmp/c68e8fb9be9ba6ca88eeab9c575c370a6b69f206 differ diff --git a/fuzz/corpora/cmp/c69d7d99ff74598932b3df92a44bb6c0f6e5532a b/fuzz/corpora/cmp/c69d7d99ff74598932b3df92a44bb6c0f6e5532a new file mode 100644 index 00000000..dffa1606 Binary files /dev/null and b/fuzz/corpora/cmp/c69d7d99ff74598932b3df92a44bb6c0f6e5532a differ diff --git a/fuzz/corpora/cmp/c6a95b87652a6cc9d0c5804df0a94218479243fc b/fuzz/corpora/cmp/c6a95b87652a6cc9d0c5804df0a94218479243fc new file mode 100644 index 00000000..e54f2b35 Binary files /dev/null and b/fuzz/corpora/cmp/c6a95b87652a6cc9d0c5804df0a94218479243fc differ diff --git a/fuzz/corpora/cmp/c6b5ccee02c0243b04ae09d78796b515063b2ba3 b/fuzz/corpora/cmp/c6b5ccee02c0243b04ae09d78796b515063b2ba3 new file mode 100644 index 00000000..e28518ac Binary files /dev/null and b/fuzz/corpora/cmp/c6b5ccee02c0243b04ae09d78796b515063b2ba3 differ diff --git a/fuzz/corpora/cmp/c6b90ae4e586fa85cd559a5a6bb7c33735fa135d b/fuzz/corpora/cmp/c6b90ae4e586fa85cd559a5a6bb7c33735fa135d new file mode 100644 index 00000000..dac86d6a Binary files /dev/null and b/fuzz/corpora/cmp/c6b90ae4e586fa85cd559a5a6bb7c33735fa135d differ diff --git a/fuzz/corpora/cmp/c6cb6f001030e3e29fc413a9e294381a085d1fba b/fuzz/corpora/cmp/c6cb6f001030e3e29fc413a9e294381a085d1fba new file mode 100644 index 00000000..16d5affb Binary files /dev/null and b/fuzz/corpora/cmp/c6cb6f001030e3e29fc413a9e294381a085d1fba differ diff --git a/fuzz/corpora/cmp/c6d15f46917caac9b1cb0b022697e3c1f51bf1a4 b/fuzz/corpora/cmp/c6d15f46917caac9b1cb0b022697e3c1f51bf1a4 new file mode 100644 index 00000000..7fd2a860 Binary files /dev/null and b/fuzz/corpora/cmp/c6d15f46917caac9b1cb0b022697e3c1f51bf1a4 differ diff --git a/fuzz/corpora/cmp/c6d4f80dc347773422fdf08a9353382a27a88ab9 b/fuzz/corpora/cmp/c6d4f80dc347773422fdf08a9353382a27a88ab9 new file mode 100644 index 00000000..7b1116fc Binary files /dev/null and b/fuzz/corpora/cmp/c6d4f80dc347773422fdf08a9353382a27a88ab9 differ diff --git a/fuzz/corpora/cmp/c6d9dd20ef485c75678d4f4ec6fb92e44c12451d b/fuzz/corpora/cmp/c6d9dd20ef485c75678d4f4ec6fb92e44c12451d new file mode 100644 index 00000000..4f20669c Binary files /dev/null and b/fuzz/corpora/cmp/c6d9dd20ef485c75678d4f4ec6fb92e44c12451d differ diff --git a/fuzz/corpora/cmp/c6f2af3d6197804aafa0442fe77780698bca0b81 b/fuzz/corpora/cmp/c6f2af3d6197804aafa0442fe77780698bca0b81 new file mode 100644 index 00000000..5eba3af6 Binary files /dev/null and b/fuzz/corpora/cmp/c6f2af3d6197804aafa0442fe77780698bca0b81 differ diff --git a/fuzz/corpora/cmp/c6f3ef361964ee80d65477f09e94d98a12cee913 b/fuzz/corpora/cmp/c6f3ef361964ee80d65477f09e94d98a12cee913 new file mode 100644 index 00000000..4828b7af Binary files /dev/null and b/fuzz/corpora/cmp/c6f3ef361964ee80d65477f09e94d98a12cee913 differ diff --git a/fuzz/corpora/cmp/c713ca3d9cd5e4799253468f7cc31c6afc01749e b/fuzz/corpora/cmp/c713ca3d9cd5e4799253468f7cc31c6afc01749e new file mode 100644 index 00000000..43a46f0e Binary files /dev/null and b/fuzz/corpora/cmp/c713ca3d9cd5e4799253468f7cc31c6afc01749e differ diff --git a/fuzz/corpora/cmp/c72d2f920ba55cd69d756595a9675dd7418390c4 b/fuzz/corpora/cmp/c72d2f920ba55cd69d756595a9675dd7418390c4 new file mode 100644 index 00000000..abcdf7ec Binary files /dev/null and b/fuzz/corpora/cmp/c72d2f920ba55cd69d756595a9675dd7418390c4 differ diff --git a/fuzz/corpora/cmp/c7456a9edd2ec9083344b7694e1122074551cc2b b/fuzz/corpora/cmp/c7456a9edd2ec9083344b7694e1122074551cc2b new file mode 100644 index 00000000..885b2e42 Binary files /dev/null and b/fuzz/corpora/cmp/c7456a9edd2ec9083344b7694e1122074551cc2b differ diff --git a/fuzz/corpora/cmp/c746327ab0c092e8c6ffffe15b1f08e871d633fb b/fuzz/corpora/cmp/c746327ab0c092e8c6ffffe15b1f08e871d633fb new file mode 100644 index 00000000..f4490c3c Binary files /dev/null and b/fuzz/corpora/cmp/c746327ab0c092e8c6ffffe15b1f08e871d633fb differ diff --git a/fuzz/corpora/cmp/c76135eeadc8983daeb68491b85647bbec7ce0e7 b/fuzz/corpora/cmp/c76135eeadc8983daeb68491b85647bbec7ce0e7 new file mode 100644 index 00000000..899ae02f Binary files /dev/null and b/fuzz/corpora/cmp/c76135eeadc8983daeb68491b85647bbec7ce0e7 differ diff --git a/fuzz/corpora/cmp/c775cc883b9433db4b999eba83a1ea91a7078430 b/fuzz/corpora/cmp/c775cc883b9433db4b999eba83a1ea91a7078430 new file mode 100644 index 00000000..60f060b3 Binary files /dev/null and b/fuzz/corpora/cmp/c775cc883b9433db4b999eba83a1ea91a7078430 differ diff --git a/fuzz/corpora/cmp/c7794b81b86df64b304513e4f567c708b4cdf0ee b/fuzz/corpora/cmp/c7794b81b86df64b304513e4f567c708b4cdf0ee new file mode 100644 index 00000000..34bf8025 Binary files /dev/null and b/fuzz/corpora/cmp/c7794b81b86df64b304513e4f567c708b4cdf0ee differ diff --git a/fuzz/corpora/cmp/c779e19c542f98e03b567e820bdaa2043c01b64e b/fuzz/corpora/cmp/c779e19c542f98e03b567e820bdaa2043c01b64e new file mode 100644 index 00000000..e674d7f2 Binary files /dev/null and b/fuzz/corpora/cmp/c779e19c542f98e03b567e820bdaa2043c01b64e differ diff --git a/fuzz/corpora/cmp/c786b018d2b940aeccf618c1e4e825b95a3a7e2b b/fuzz/corpora/cmp/c786b018d2b940aeccf618c1e4e825b95a3a7e2b new file mode 100644 index 00000000..a8d926a6 Binary files /dev/null and b/fuzz/corpora/cmp/c786b018d2b940aeccf618c1e4e825b95a3a7e2b differ diff --git a/fuzz/corpora/cmp/c7a9eaefb9af45e1cf78b755ed432a036e0ab98e b/fuzz/corpora/cmp/c7a9eaefb9af45e1cf78b755ed432a036e0ab98e new file mode 100644 index 00000000..a019b4a0 Binary files /dev/null and b/fuzz/corpora/cmp/c7a9eaefb9af45e1cf78b755ed432a036e0ab98e differ diff --git a/fuzz/corpora/cmp/c7adce02da26d8c0defb2d94feb64eacb8a132a6 b/fuzz/corpora/cmp/c7adce02da26d8c0defb2d94feb64eacb8a132a6 new file mode 100644 index 00000000..4847a426 Binary files /dev/null and b/fuzz/corpora/cmp/c7adce02da26d8c0defb2d94feb64eacb8a132a6 differ diff --git a/fuzz/corpora/cmp/c7addeecdb37386b448651a23ba913617c6e06e8 b/fuzz/corpora/cmp/c7addeecdb37386b448651a23ba913617c6e06e8 new file mode 100644 index 00000000..7140525d Binary files /dev/null and b/fuzz/corpora/cmp/c7addeecdb37386b448651a23ba913617c6e06e8 differ diff --git a/fuzz/corpora/cmp/c7bc7da037f5ffb8e3615f2d43bb01348c309652 b/fuzz/corpora/cmp/c7bc7da037f5ffb8e3615f2d43bb01348c309652 new file mode 100644 index 00000000..377fa41d Binary files /dev/null and b/fuzz/corpora/cmp/c7bc7da037f5ffb8e3615f2d43bb01348c309652 differ diff --git a/fuzz/corpora/cmp/c7c385110fa302c2e14a2fbd29fb45abcb3ef0c2 b/fuzz/corpora/cmp/c7c385110fa302c2e14a2fbd29fb45abcb3ef0c2 new file mode 100644 index 00000000..d8909aba Binary files /dev/null and b/fuzz/corpora/cmp/c7c385110fa302c2e14a2fbd29fb45abcb3ef0c2 differ diff --git a/fuzz/corpora/cmp/c7dc7e7c30edb6702fcc7833582c15bbacc40064 b/fuzz/corpora/cmp/c7dc7e7c30edb6702fcc7833582c15bbacc40064 new file mode 100644 index 00000000..66dfefb3 Binary files /dev/null and b/fuzz/corpora/cmp/c7dc7e7c30edb6702fcc7833582c15bbacc40064 differ diff --git a/fuzz/corpora/cmp/c7e1fc2a72dc1f035856109cf90162bce032bb0e b/fuzz/corpora/cmp/c7e1fc2a72dc1f035856109cf90162bce032bb0e new file mode 100644 index 00000000..eef397dd Binary files /dev/null and b/fuzz/corpora/cmp/c7e1fc2a72dc1f035856109cf90162bce032bb0e differ diff --git a/fuzz/corpora/cmp/c7ef4fe7b5765e5ca8cb28a38379185f525fabda b/fuzz/corpora/cmp/c7ef4fe7b5765e5ca8cb28a38379185f525fabda new file mode 100644 index 00000000..bf7730c4 Binary files /dev/null and b/fuzz/corpora/cmp/c7ef4fe7b5765e5ca8cb28a38379185f525fabda differ diff --git a/fuzz/corpora/cmp/c803ff4224cdbb94dc67bf7cca3feb6323503cba b/fuzz/corpora/cmp/c803ff4224cdbb94dc67bf7cca3feb6323503cba new file mode 100644 index 00000000..891c8484 Binary files /dev/null and b/fuzz/corpora/cmp/c803ff4224cdbb94dc67bf7cca3feb6323503cba differ diff --git a/fuzz/corpora/cmp/c808d5a252c220c3e82aa592fe0ea81a43ffcc26 b/fuzz/corpora/cmp/c808d5a252c220c3e82aa592fe0ea81a43ffcc26 new file mode 100644 index 00000000..b4a2b314 Binary files /dev/null and b/fuzz/corpora/cmp/c808d5a252c220c3e82aa592fe0ea81a43ffcc26 differ diff --git a/fuzz/corpora/cmp/c824963604b28ccc4b052ddb339fefa0aa1bbd5c b/fuzz/corpora/cmp/c824963604b28ccc4b052ddb339fefa0aa1bbd5c new file mode 100644 index 00000000..e689e44f Binary files /dev/null and b/fuzz/corpora/cmp/c824963604b28ccc4b052ddb339fefa0aa1bbd5c differ diff --git a/fuzz/corpora/cmp/c830a43c657ce91cb6068b5ae4f689e65cfc7a6e b/fuzz/corpora/cmp/c830a43c657ce91cb6068b5ae4f689e65cfc7a6e new file mode 100644 index 00000000..55b63937 Binary files /dev/null and b/fuzz/corpora/cmp/c830a43c657ce91cb6068b5ae4f689e65cfc7a6e differ diff --git a/fuzz/corpora/cmp/c832d1ebe2895d317215cd8a77d351ad2de17fe0 b/fuzz/corpora/cmp/c832d1ebe2895d317215cd8a77d351ad2de17fe0 new file mode 100644 index 00000000..e84a75fc Binary files /dev/null and b/fuzz/corpora/cmp/c832d1ebe2895d317215cd8a77d351ad2de17fe0 differ diff --git a/fuzz/corpora/cmp/c847a52a8e2bf08147aa6eb32a493b1ee2a7bc48 b/fuzz/corpora/cmp/c847a52a8e2bf08147aa6eb32a493b1ee2a7bc48 new file mode 100644 index 00000000..669b9e7d Binary files /dev/null and b/fuzz/corpora/cmp/c847a52a8e2bf08147aa6eb32a493b1ee2a7bc48 differ diff --git a/fuzz/corpora/cmp/c854502e2b3216a34b1e45145024b3ba0fc93be1 b/fuzz/corpora/cmp/c854502e2b3216a34b1e45145024b3ba0fc93be1 new file mode 100644 index 00000000..9e89ca5b Binary files /dev/null and b/fuzz/corpora/cmp/c854502e2b3216a34b1e45145024b3ba0fc93be1 differ diff --git a/fuzz/corpora/cmp/c8681b351e2210dfe151d56a22ea9448d18260bf b/fuzz/corpora/cmp/c8681b351e2210dfe151d56a22ea9448d18260bf new file mode 100644 index 00000000..dec7d219 Binary files /dev/null and b/fuzz/corpora/cmp/c8681b351e2210dfe151d56a22ea9448d18260bf differ diff --git a/fuzz/corpora/cmp/c8684b8febca760003dd817a5c49b3cc865d5d2c b/fuzz/corpora/cmp/c8684b8febca760003dd817a5c49b3cc865d5d2c new file mode 100644 index 00000000..38d51608 Binary files /dev/null and b/fuzz/corpora/cmp/c8684b8febca760003dd817a5c49b3cc865d5d2c differ diff --git a/fuzz/corpora/cmp/c86a65d5c943cf49f280acbf8211987c29f33cd7 b/fuzz/corpora/cmp/c86a65d5c943cf49f280acbf8211987c29f33cd7 new file mode 100644 index 00000000..8c019065 Binary files /dev/null and b/fuzz/corpora/cmp/c86a65d5c943cf49f280acbf8211987c29f33cd7 differ diff --git a/fuzz/corpora/cmp/c86b753a9ce54aa36724b13d80125ae41bcbb89e b/fuzz/corpora/cmp/c86b753a9ce54aa36724b13d80125ae41bcbb89e new file mode 100644 index 00000000..6c2e8fb7 Binary files /dev/null and b/fuzz/corpora/cmp/c86b753a9ce54aa36724b13d80125ae41bcbb89e differ diff --git a/fuzz/corpora/cmp/c870c6db4a5bdb718153fb187e1efd2a1faf3f27 b/fuzz/corpora/cmp/c870c6db4a5bdb718153fb187e1efd2a1faf3f27 new file mode 100644 index 00000000..116aa32a Binary files /dev/null and b/fuzz/corpora/cmp/c870c6db4a5bdb718153fb187e1efd2a1faf3f27 differ diff --git a/fuzz/corpora/cmp/c87c0ed1a819bb0f4073b4d224c887cb9ad5ca48 b/fuzz/corpora/cmp/c87c0ed1a819bb0f4073b4d224c887cb9ad5ca48 new file mode 100644 index 00000000..4a0c0494 Binary files /dev/null and b/fuzz/corpora/cmp/c87c0ed1a819bb0f4073b4d224c887cb9ad5ca48 differ diff --git a/fuzz/corpora/cmp/c8847364f8fbcc24c0bc418f640bc9cf1c78bec1 b/fuzz/corpora/cmp/c8847364f8fbcc24c0bc418f640bc9cf1c78bec1 new file mode 100644 index 00000000..7868fdbc Binary files /dev/null and b/fuzz/corpora/cmp/c8847364f8fbcc24c0bc418f640bc9cf1c78bec1 differ diff --git a/fuzz/corpora/cmp/c88c3a157e1002195155dd52eb69237da482b473 b/fuzz/corpora/cmp/c88c3a157e1002195155dd52eb69237da482b473 new file mode 100644 index 00000000..1acd227a Binary files /dev/null and b/fuzz/corpora/cmp/c88c3a157e1002195155dd52eb69237da482b473 differ diff --git a/fuzz/corpora/cmp/c8a97db620404170e34cf996dfbd8cffc1469490 b/fuzz/corpora/cmp/c8a97db620404170e34cf996dfbd8cffc1469490 new file mode 100644 index 00000000..8ef3791c Binary files /dev/null and b/fuzz/corpora/cmp/c8a97db620404170e34cf996dfbd8cffc1469490 differ diff --git a/fuzz/corpora/cmp/c8b789a351269dee73c247e97b2b3c33a71a02d5 b/fuzz/corpora/cmp/c8b789a351269dee73c247e97b2b3c33a71a02d5 new file mode 100644 index 00000000..3fc1685e Binary files /dev/null and b/fuzz/corpora/cmp/c8b789a351269dee73c247e97b2b3c33a71a02d5 differ diff --git a/fuzz/corpora/cmp/c8c260043734382ef97a981ce92c6c4e41670d9a b/fuzz/corpora/cmp/c8c260043734382ef97a981ce92c6c4e41670d9a new file mode 100644 index 00000000..b13efd89 Binary files /dev/null and b/fuzz/corpora/cmp/c8c260043734382ef97a981ce92c6c4e41670d9a differ diff --git a/fuzz/corpora/cmp/c8c27d6ca6eda31855c30aba5e8a6c78f73410f0 b/fuzz/corpora/cmp/c8c27d6ca6eda31855c30aba5e8a6c78f73410f0 new file mode 100644 index 00000000..938f5223 Binary files /dev/null and b/fuzz/corpora/cmp/c8c27d6ca6eda31855c30aba5e8a6c78f73410f0 differ diff --git a/fuzz/corpora/cmp/c8cb37054e6c5d33926b82c8f09c58e562186bb2 b/fuzz/corpora/cmp/c8cb37054e6c5d33926b82c8f09c58e562186bb2 new file mode 100644 index 00000000..147f0da3 Binary files /dev/null and b/fuzz/corpora/cmp/c8cb37054e6c5d33926b82c8f09c58e562186bb2 differ diff --git a/fuzz/corpora/cmp/c8cdcf6ac969c74b8d7aabe9262859204e3b71b7 b/fuzz/corpora/cmp/c8cdcf6ac969c74b8d7aabe9262859204e3b71b7 new file mode 100644 index 00000000..7b98f1c6 Binary files /dev/null and b/fuzz/corpora/cmp/c8cdcf6ac969c74b8d7aabe9262859204e3b71b7 differ diff --git a/fuzz/corpora/cmp/c8ce7e616418adf6ab9b254748fb58f85995cb8a b/fuzz/corpora/cmp/c8ce7e616418adf6ab9b254748fb58f85995cb8a new file mode 100644 index 00000000..69996364 Binary files /dev/null and b/fuzz/corpora/cmp/c8ce7e616418adf6ab9b254748fb58f85995cb8a differ diff --git a/fuzz/corpora/cmp/c8e6f57f6aaf0a24ab08d2d0576ed10c7a63f52d b/fuzz/corpora/cmp/c8e6f57f6aaf0a24ab08d2d0576ed10c7a63f52d new file mode 100644 index 00000000..0e352a78 Binary files /dev/null and b/fuzz/corpora/cmp/c8e6f57f6aaf0a24ab08d2d0576ed10c7a63f52d differ diff --git a/fuzz/corpora/cmp/c8fde1ca2c8545aa187aff1b01fcc79720bcf37f b/fuzz/corpora/cmp/c8fde1ca2c8545aa187aff1b01fcc79720bcf37f new file mode 100644 index 00000000..079480c1 Binary files /dev/null and b/fuzz/corpora/cmp/c8fde1ca2c8545aa187aff1b01fcc79720bcf37f differ diff --git a/fuzz/corpora/cmp/c90737648c03dc613dee6ac0238dbb14d2159439 b/fuzz/corpora/cmp/c90737648c03dc613dee6ac0238dbb14d2159439 new file mode 100644 index 00000000..1cc089ff Binary files /dev/null and b/fuzz/corpora/cmp/c90737648c03dc613dee6ac0238dbb14d2159439 differ diff --git a/fuzz/corpora/cmp/c90e77554c87d48e897cbeeac1776f42e2d5bdae b/fuzz/corpora/cmp/c90e77554c87d48e897cbeeac1776f42e2d5bdae new file mode 100644 index 00000000..dc145421 Binary files /dev/null and b/fuzz/corpora/cmp/c90e77554c87d48e897cbeeac1776f42e2d5bdae differ diff --git a/fuzz/corpora/cmp/c914d18d425e2a5a8dd96fdf777604f6d115c745 b/fuzz/corpora/cmp/c914d18d425e2a5a8dd96fdf777604f6d115c745 new file mode 100644 index 00000000..674b825c Binary files /dev/null and b/fuzz/corpora/cmp/c914d18d425e2a5a8dd96fdf777604f6d115c745 differ diff --git a/fuzz/corpora/cmp/c916da86a23e1db44992352a899143866a276e5b b/fuzz/corpora/cmp/c916da86a23e1db44992352a899143866a276e5b new file mode 100644 index 00000000..61e0e162 Binary files /dev/null and b/fuzz/corpora/cmp/c916da86a23e1db44992352a899143866a276e5b differ diff --git a/fuzz/corpora/cmp/c91a78f5c5e22df6c5d3818655eb044346ae22a4 b/fuzz/corpora/cmp/c91a78f5c5e22df6c5d3818655eb044346ae22a4 new file mode 100644 index 00000000..f1da1a5d Binary files /dev/null and b/fuzz/corpora/cmp/c91a78f5c5e22df6c5d3818655eb044346ae22a4 differ diff --git a/fuzz/corpora/cmp/c91b599a711c4a5ad0adacffc8decdb13183166c b/fuzz/corpora/cmp/c91b599a711c4a5ad0adacffc8decdb13183166c new file mode 100644 index 00000000..3b369e42 Binary files /dev/null and b/fuzz/corpora/cmp/c91b599a711c4a5ad0adacffc8decdb13183166c differ diff --git a/fuzz/corpora/cmp/c9216de0ff4841ce3469b90a24475ed455ba5caf b/fuzz/corpora/cmp/c9216de0ff4841ce3469b90a24475ed455ba5caf new file mode 100644 index 00000000..1902c957 Binary files /dev/null and b/fuzz/corpora/cmp/c9216de0ff4841ce3469b90a24475ed455ba5caf differ diff --git a/fuzz/corpora/cmp/c935bdeb62a64c4b5de0c8c42d91246d128f5d83 b/fuzz/corpora/cmp/c935bdeb62a64c4b5de0c8c42d91246d128f5d83 new file mode 100644 index 00000000..b9b969fc Binary files /dev/null and b/fuzz/corpora/cmp/c935bdeb62a64c4b5de0c8c42d91246d128f5d83 differ diff --git a/fuzz/corpora/cmp/c942f05654e800ad3b5f0dcb00e75695c600752a b/fuzz/corpora/cmp/c942f05654e800ad3b5f0dcb00e75695c600752a new file mode 100644 index 00000000..7f654b89 Binary files /dev/null and b/fuzz/corpora/cmp/c942f05654e800ad3b5f0dcb00e75695c600752a differ diff --git a/fuzz/corpora/cmp/c95729be4a8c3027c71e7de71c04c6b4670901b2 b/fuzz/corpora/cmp/c95729be4a8c3027c71e7de71c04c6b4670901b2 new file mode 100644 index 00000000..140f2ec0 Binary files /dev/null and b/fuzz/corpora/cmp/c95729be4a8c3027c71e7de71c04c6b4670901b2 differ diff --git a/fuzz/corpora/cmp/c971d0d36ca42a95f858faf9ca059d083b1015eb b/fuzz/corpora/cmp/c971d0d36ca42a95f858faf9ca059d083b1015eb new file mode 100644 index 00000000..c6e19906 Binary files /dev/null and b/fuzz/corpora/cmp/c971d0d36ca42a95f858faf9ca059d083b1015eb differ diff --git a/fuzz/corpora/cmp/c97d45521061d149b27b8482761fc55e6fa9f95c b/fuzz/corpora/cmp/c97d45521061d149b27b8482761fc55e6fa9f95c new file mode 100644 index 00000000..c0086d51 Binary files /dev/null and b/fuzz/corpora/cmp/c97d45521061d149b27b8482761fc55e6fa9f95c differ diff --git a/fuzz/corpora/cmp/c98180f586d14e6f104f8038f8591e32f6d8b4d0 b/fuzz/corpora/cmp/c98180f586d14e6f104f8038f8591e32f6d8b4d0 new file mode 100644 index 00000000..ed8ffaec Binary files /dev/null and b/fuzz/corpora/cmp/c98180f586d14e6f104f8038f8591e32f6d8b4d0 differ diff --git a/fuzz/corpora/cmp/c989407b8a45ac7d8557e64840a110153631b368 b/fuzz/corpora/cmp/c989407b8a45ac7d8557e64840a110153631b368 new file mode 100644 index 00000000..2b00a8ac Binary files /dev/null and b/fuzz/corpora/cmp/c989407b8a45ac7d8557e64840a110153631b368 differ diff --git a/fuzz/corpora/cmp/c98cb219d6350637e98faa31ff004bdac955b31a b/fuzz/corpora/cmp/c98cb219d6350637e98faa31ff004bdac955b31a new file mode 100644 index 00000000..21209601 Binary files /dev/null and b/fuzz/corpora/cmp/c98cb219d6350637e98faa31ff004bdac955b31a differ diff --git a/fuzz/corpora/cmp/c9a3949addec4cd845f6423942d60d5c06538794 b/fuzz/corpora/cmp/c9a3949addec4cd845f6423942d60d5c06538794 new file mode 100644 index 00000000..98bc29eb Binary files /dev/null and b/fuzz/corpora/cmp/c9a3949addec4cd845f6423942d60d5c06538794 differ diff --git a/fuzz/corpora/cmp/c9b90438478119bd0b8c2609abb38b248058ef79 b/fuzz/corpora/cmp/c9b90438478119bd0b8c2609abb38b248058ef79 new file mode 100644 index 00000000..75d2422c Binary files /dev/null and b/fuzz/corpora/cmp/c9b90438478119bd0b8c2609abb38b248058ef79 differ diff --git a/fuzz/corpora/cmp/c9cd1726c4a89e3cfe7013a95f30596d740e6f38 b/fuzz/corpora/cmp/c9cd1726c4a89e3cfe7013a95f30596d740e6f38 new file mode 100644 index 00000000..84232632 Binary files /dev/null and b/fuzz/corpora/cmp/c9cd1726c4a89e3cfe7013a95f30596d740e6f38 differ diff --git a/fuzz/corpora/cmp/c9cf59f4e27dd0cbdecad3952037274a090abc4f b/fuzz/corpora/cmp/c9cf59f4e27dd0cbdecad3952037274a090abc4f new file mode 100644 index 00000000..442b833b Binary files /dev/null and b/fuzz/corpora/cmp/c9cf59f4e27dd0cbdecad3952037274a090abc4f differ diff --git a/fuzz/corpora/cmp/c9d7da49d050dc7183d06fc1ae59c13ae0077f5a b/fuzz/corpora/cmp/c9d7da49d050dc7183d06fc1ae59c13ae0077f5a new file mode 100644 index 00000000..fc954bca Binary files /dev/null and b/fuzz/corpora/cmp/c9d7da49d050dc7183d06fc1ae59c13ae0077f5a differ diff --git a/fuzz/corpora/cmp/c9ef107ae529313a2a5d5934d510b3b7135521ba b/fuzz/corpora/cmp/c9ef107ae529313a2a5d5934d510b3b7135521ba new file mode 100644 index 00000000..8a2d1fa6 Binary files /dev/null and b/fuzz/corpora/cmp/c9ef107ae529313a2a5d5934d510b3b7135521ba differ diff --git a/fuzz/corpora/cmp/c9f702be24ea8623d0ee803d8612b418a0c83227 b/fuzz/corpora/cmp/c9f702be24ea8623d0ee803d8612b418a0c83227 new file mode 100644 index 00000000..61f02023 Binary files /dev/null and b/fuzz/corpora/cmp/c9f702be24ea8623d0ee803d8612b418a0c83227 differ diff --git a/fuzz/corpora/cmp/ca072f66740137eeeb666217e46b523f8758caff b/fuzz/corpora/cmp/ca072f66740137eeeb666217e46b523f8758caff new file mode 100644 index 00000000..05dc5b43 Binary files /dev/null and b/fuzz/corpora/cmp/ca072f66740137eeeb666217e46b523f8758caff differ diff --git a/fuzz/corpora/cmp/ca230e214e391fbbe3c02e62be60cf83c2277874 b/fuzz/corpora/cmp/ca230e214e391fbbe3c02e62be60cf83c2277874 new file mode 100644 index 00000000..368507a3 Binary files /dev/null and b/fuzz/corpora/cmp/ca230e214e391fbbe3c02e62be60cf83c2277874 differ diff --git a/fuzz/corpora/cmp/ca25aafc4ce4e9baa768f7f9f3e89482f1151372 b/fuzz/corpora/cmp/ca25aafc4ce4e9baa768f7f9f3e89482f1151372 new file mode 100644 index 00000000..15158a81 Binary files /dev/null and b/fuzz/corpora/cmp/ca25aafc4ce4e9baa768f7f9f3e89482f1151372 differ diff --git a/fuzz/corpora/cmp/ca25cdafcc70829be15f2f3c5d115e47230e51e1 b/fuzz/corpora/cmp/ca25cdafcc70829be15f2f3c5d115e47230e51e1 new file mode 100644 index 00000000..1c61a926 Binary files /dev/null and b/fuzz/corpora/cmp/ca25cdafcc70829be15f2f3c5d115e47230e51e1 differ diff --git a/fuzz/corpora/cmp/ca28ce95612248c88cb2fca80d7f239bb79f92d2 b/fuzz/corpora/cmp/ca28ce95612248c88cb2fca80d7f239bb79f92d2 new file mode 100644 index 00000000..6c9b9184 Binary files /dev/null and b/fuzz/corpora/cmp/ca28ce95612248c88cb2fca80d7f239bb79f92d2 differ diff --git a/fuzz/corpora/cmp/ca2c8539008ffcd8e0f2882ed0abc33f629110ae b/fuzz/corpora/cmp/ca2c8539008ffcd8e0f2882ed0abc33f629110ae new file mode 100644 index 00000000..c5403d84 Binary files /dev/null and b/fuzz/corpora/cmp/ca2c8539008ffcd8e0f2882ed0abc33f629110ae differ diff --git a/fuzz/corpora/cmp/ca50538219829c7ae06079a273cb1d57283721a9 b/fuzz/corpora/cmp/ca50538219829c7ae06079a273cb1d57283721a9 new file mode 100644 index 00000000..07baa5b8 Binary files /dev/null and b/fuzz/corpora/cmp/ca50538219829c7ae06079a273cb1d57283721a9 differ diff --git a/fuzz/corpora/cmp/ca50f98c865f119e07fbe7b139f3d540277bfa6a b/fuzz/corpora/cmp/ca50f98c865f119e07fbe7b139f3d540277bfa6a new file mode 100644 index 00000000..f033cbe9 Binary files /dev/null and b/fuzz/corpora/cmp/ca50f98c865f119e07fbe7b139f3d540277bfa6a differ diff --git a/fuzz/corpora/cmp/ca6e1d713ba7e1943b2b1b0249c24e04d5ff4dbe b/fuzz/corpora/cmp/ca6e1d713ba7e1943b2b1b0249c24e04d5ff4dbe new file mode 100644 index 00000000..0992649c Binary files /dev/null and b/fuzz/corpora/cmp/ca6e1d713ba7e1943b2b1b0249c24e04d5ff4dbe differ diff --git a/fuzz/corpora/cmp/ca844aa6bf6bfa82bae7010900e22ff160f1fc13 b/fuzz/corpora/cmp/ca844aa6bf6bfa82bae7010900e22ff160f1fc13 new file mode 100644 index 00000000..084cecbd Binary files /dev/null and b/fuzz/corpora/cmp/ca844aa6bf6bfa82bae7010900e22ff160f1fc13 differ diff --git a/fuzz/corpora/cmp/caaec4436d9747b82bfe8b83c7e7f4f5964c44fa b/fuzz/corpora/cmp/caaec4436d9747b82bfe8b83c7e7f4f5964c44fa new file mode 100644 index 00000000..f06779c6 Binary files /dev/null and b/fuzz/corpora/cmp/caaec4436d9747b82bfe8b83c7e7f4f5964c44fa differ diff --git a/fuzz/corpora/cmp/cac6aa866adf27f92a264511effcf951029bc753 b/fuzz/corpora/cmp/cac6aa866adf27f92a264511effcf951029bc753 new file mode 100644 index 00000000..71677fdd Binary files /dev/null and b/fuzz/corpora/cmp/cac6aa866adf27f92a264511effcf951029bc753 differ diff --git a/fuzz/corpora/cmp/cac790cdcbc6e219cc8f5f4f40a2a887664cb5ff b/fuzz/corpora/cmp/cac790cdcbc6e219cc8f5f4f40a2a887664cb5ff new file mode 100644 index 00000000..40460702 Binary files /dev/null and b/fuzz/corpora/cmp/cac790cdcbc6e219cc8f5f4f40a2a887664cb5ff differ diff --git a/fuzz/corpora/cmp/cae571250b9151b88050ae58ae66303c425a2c9d b/fuzz/corpora/cmp/cae571250b9151b88050ae58ae66303c425a2c9d new file mode 100644 index 00000000..b73bcc80 Binary files /dev/null and b/fuzz/corpora/cmp/cae571250b9151b88050ae58ae66303c425a2c9d differ diff --git a/fuzz/corpora/cmp/cae8d1b6b79068d175a64dee8a742f3155ad5313 b/fuzz/corpora/cmp/cae8d1b6b79068d175a64dee8a742f3155ad5313 new file mode 100644 index 00000000..85d72ffe --- /dev/null +++ b/fuzz/corpora/cmp/cae8d1b6b79068d175a64dee8a742f3155ad5313 @@ -0,0 +1 @@ +0€777] \ No newline at end of file diff --git a/fuzz/corpora/cmp/caeca553a2867c940e34233e96ca1d469d67099c b/fuzz/corpora/cmp/caeca553a2867c940e34233e96ca1d469d67099c new file mode 100644 index 00000000..30804115 Binary files /dev/null and b/fuzz/corpora/cmp/caeca553a2867c940e34233e96ca1d469d67099c differ diff --git a/fuzz/corpora/cmp/cafc9e110e349890e8dded00b5e4d979b9c1a066 b/fuzz/corpora/cmp/cafc9e110e349890e8dded00b5e4d979b9c1a066 new file mode 100644 index 00000000..1f09ab06 Binary files /dev/null and b/fuzz/corpora/cmp/cafc9e110e349890e8dded00b5e4d979b9c1a066 differ diff --git a/fuzz/corpora/cmp/cafd4187023cae06c972f983b972092a7472b4ac b/fuzz/corpora/cmp/cafd4187023cae06c972f983b972092a7472b4ac new file mode 100644 index 00000000..fc57f350 Binary files /dev/null and b/fuzz/corpora/cmp/cafd4187023cae06c972f983b972092a7472b4ac differ diff --git a/fuzz/corpora/cmp/cb02e2bdd4cc4e0bf11ae31194af8f2647160457 b/fuzz/corpora/cmp/cb02e2bdd4cc4e0bf11ae31194af8f2647160457 new file mode 100644 index 00000000..9d39052c Binary files /dev/null and b/fuzz/corpora/cmp/cb02e2bdd4cc4e0bf11ae31194af8f2647160457 differ diff --git a/fuzz/corpora/cmp/cb06c5b376588021d62ca7823430a0e322a43665 b/fuzz/corpora/cmp/cb06c5b376588021d62ca7823430a0e322a43665 new file mode 100644 index 00000000..69bf08fe Binary files /dev/null and b/fuzz/corpora/cmp/cb06c5b376588021d62ca7823430a0e322a43665 differ diff --git a/fuzz/corpora/cmp/cb1043244fd1251321b72eef357fff34078af094 b/fuzz/corpora/cmp/cb1043244fd1251321b72eef357fff34078af094 new file mode 100644 index 00000000..7a43cae0 Binary files /dev/null and b/fuzz/corpora/cmp/cb1043244fd1251321b72eef357fff34078af094 differ diff --git a/fuzz/corpora/cmp/cb23b823b60b9f23f19553780168bcfeca77f02f b/fuzz/corpora/cmp/cb23b823b60b9f23f19553780168bcfeca77f02f new file mode 100644 index 00000000..76c29ced Binary files /dev/null and b/fuzz/corpora/cmp/cb23b823b60b9f23f19553780168bcfeca77f02f differ diff --git a/fuzz/corpora/cmp/cb25de2389cd698c5b7cb8e74d1c7d9c598f4b73 b/fuzz/corpora/cmp/cb25de2389cd698c5b7cb8e74d1c7d9c598f4b73 new file mode 100644 index 00000000..67a946ef Binary files /dev/null and b/fuzz/corpora/cmp/cb25de2389cd698c5b7cb8e74d1c7d9c598f4b73 differ diff --git a/fuzz/corpora/cmp/cb2e1aaa138bcdb56cf3b3b5b0264174cd734c5b b/fuzz/corpora/cmp/cb2e1aaa138bcdb56cf3b3b5b0264174cd734c5b new file mode 100644 index 00000000..df166618 Binary files /dev/null and b/fuzz/corpora/cmp/cb2e1aaa138bcdb56cf3b3b5b0264174cd734c5b differ diff --git a/fuzz/corpora/cmp/cb4114793f7bf5e989c4d50da07bf478f47b1d22 b/fuzz/corpora/cmp/cb4114793f7bf5e989c4d50da07bf478f47b1d22 new file mode 100644 index 00000000..6bad77f7 Binary files /dev/null and b/fuzz/corpora/cmp/cb4114793f7bf5e989c4d50da07bf478f47b1d22 differ diff --git a/fuzz/corpora/cmp/cb4386f09ad1d6246beed869710342379e2d74d6 b/fuzz/corpora/cmp/cb4386f09ad1d6246beed869710342379e2d74d6 new file mode 100644 index 00000000..4e9f32b2 Binary files /dev/null and b/fuzz/corpora/cmp/cb4386f09ad1d6246beed869710342379e2d74d6 differ diff --git a/fuzz/corpora/cmp/cb6549ba3aa11a444cd36d45b24cab0007014e25 b/fuzz/corpora/cmp/cb6549ba3aa11a444cd36d45b24cab0007014e25 new file mode 100644 index 00000000..37b3cb25 Binary files /dev/null and b/fuzz/corpora/cmp/cb6549ba3aa11a444cd36d45b24cab0007014e25 differ diff --git a/fuzz/corpora/cmp/cb743354f223c6ee72e1202f81891eafef69aa3e b/fuzz/corpora/cmp/cb743354f223c6ee72e1202f81891eafef69aa3e new file mode 100644 index 00000000..0e353482 Binary files /dev/null and b/fuzz/corpora/cmp/cb743354f223c6ee72e1202f81891eafef69aa3e differ diff --git a/fuzz/corpora/cmp/cb81aadb68677cac227a8f563896a238d4fbacf5 b/fuzz/corpora/cmp/cb81aadb68677cac227a8f563896a238d4fbacf5 new file mode 100644 index 00000000..232bab4b Binary files /dev/null and b/fuzz/corpora/cmp/cb81aadb68677cac227a8f563896a238d4fbacf5 differ diff --git a/fuzz/corpora/cmp/cbaa1f422030cb08575fef82f835e5f112f7e51f b/fuzz/corpora/cmp/cbaa1f422030cb08575fef82f835e5f112f7e51f new file mode 100644 index 00000000..efa1e223 --- /dev/null +++ b/fuzz/corpora/cmp/cbaa1f422030cb08575fef82f835e5f112f7e51f @@ -0,0 +1 @@ +,€€,€,`†He5€,€,`†He0(€[€ \ No newline at end of file diff --git a/fuzz/corpora/cmp/cbc5ac58d63784f8cf60b793f52171e3fa5c7d9b b/fuzz/corpora/cmp/cbc5ac58d63784f8cf60b793f52171e3fa5c7d9b new file mode 100644 index 00000000..27b3446d Binary files /dev/null and b/fuzz/corpora/cmp/cbc5ac58d63784f8cf60b793f52171e3fa5c7d9b differ diff --git a/fuzz/corpora/cmp/cbcb8af2172a35f277e5f9682ba634da317dac37 b/fuzz/corpora/cmp/cbcb8af2172a35f277e5f9682ba634da317dac37 new file mode 100644 index 00000000..b5d90d8c Binary files /dev/null and b/fuzz/corpora/cmp/cbcb8af2172a35f277e5f9682ba634da317dac37 differ diff --git a/fuzz/corpora/cmp/cbd74289c78c314168cabe348fbfe067ccd60bec b/fuzz/corpora/cmp/cbd74289c78c314168cabe348fbfe067ccd60bec new file mode 100644 index 00000000..6b407f91 Binary files /dev/null and b/fuzz/corpora/cmp/cbd74289c78c314168cabe348fbfe067ccd60bec differ diff --git a/fuzz/corpora/cmp/cbddb082ba5c4c0181caceebd94814c52851e389 b/fuzz/corpora/cmp/cbddb082ba5c4c0181caceebd94814c52851e389 new file mode 100644 index 00000000..180a6b93 Binary files /dev/null and b/fuzz/corpora/cmp/cbddb082ba5c4c0181caceebd94814c52851e389 differ diff --git a/fuzz/corpora/cmp/cbee95d0adc154f6aad9b8310d6e2f8f5b179c58 b/fuzz/corpora/cmp/cbee95d0adc154f6aad9b8310d6e2f8f5b179c58 new file mode 100644 index 00000000..3b70df88 Binary files /dev/null and b/fuzz/corpora/cmp/cbee95d0adc154f6aad9b8310d6e2f8f5b179c58 differ diff --git a/fuzz/corpora/cmp/cc02fa1c99475fbf5c5c588288f3b2b9da2f3ea7 b/fuzz/corpora/cmp/cc02fa1c99475fbf5c5c588288f3b2b9da2f3ea7 new file mode 100644 index 00000000..05cdd485 Binary files /dev/null and b/fuzz/corpora/cmp/cc02fa1c99475fbf5c5c588288f3b2b9da2f3ea7 differ diff --git a/fuzz/corpora/cmp/cc0570290107777ac3326b433cf8fbcdfbe64e78 b/fuzz/corpora/cmp/cc0570290107777ac3326b433cf8fbcdfbe64e78 new file mode 100644 index 00000000..324f16e0 Binary files /dev/null and b/fuzz/corpora/cmp/cc0570290107777ac3326b433cf8fbcdfbe64e78 differ diff --git a/fuzz/corpora/cmp/cc086918249e6431917c41fd142d46e44da960e9 b/fuzz/corpora/cmp/cc086918249e6431917c41fd142d46e44da960e9 new file mode 100644 index 00000000..ade239ce Binary files /dev/null and b/fuzz/corpora/cmp/cc086918249e6431917c41fd142d46e44da960e9 differ diff --git a/fuzz/corpora/cmp/cc2b39fb6ff6d527accc7fa975a6ed19184e338d b/fuzz/corpora/cmp/cc2b39fb6ff6d527accc7fa975a6ed19184e338d new file mode 100644 index 00000000..04a0d99b Binary files /dev/null and b/fuzz/corpora/cmp/cc2b39fb6ff6d527accc7fa975a6ed19184e338d differ diff --git a/fuzz/corpora/cmp/cc2e4ecda4eaaeb5ec7bf2a230f88be040a31161 b/fuzz/corpora/cmp/cc2e4ecda4eaaeb5ec7bf2a230f88be040a31161 new file mode 100644 index 00000000..5d982016 Binary files /dev/null and b/fuzz/corpora/cmp/cc2e4ecda4eaaeb5ec7bf2a230f88be040a31161 differ diff --git a/fuzz/corpora/cmp/cc4060cebc572f7451462c9e00055cdd86d192c5 b/fuzz/corpora/cmp/cc4060cebc572f7451462c9e00055cdd86d192c5 new file mode 100644 index 00000000..bcc53d89 Binary files /dev/null and b/fuzz/corpora/cmp/cc4060cebc572f7451462c9e00055cdd86d192c5 differ diff --git a/fuzz/corpora/cmp/cc4da1c0d4ff66c15712d0c8f9642fef67732b77 b/fuzz/corpora/cmp/cc4da1c0d4ff66c15712d0c8f9642fef67732b77 new file mode 100644 index 00000000..86b24fa6 Binary files /dev/null and b/fuzz/corpora/cmp/cc4da1c0d4ff66c15712d0c8f9642fef67732b77 differ diff --git a/fuzz/corpora/cmp/cc5140ce719f19e5dda9ece1f5ffce8edfe476e2 b/fuzz/corpora/cmp/cc5140ce719f19e5dda9ece1f5ffce8edfe476e2 new file mode 100644 index 00000000..b7b0fcdf Binary files /dev/null and b/fuzz/corpora/cmp/cc5140ce719f19e5dda9ece1f5ffce8edfe476e2 differ diff --git a/fuzz/corpora/cmp/cc6ceb2229b67208ad84ffd5aad1db7d32e4c52f b/fuzz/corpora/cmp/cc6ceb2229b67208ad84ffd5aad1db7d32e4c52f new file mode 100644 index 00000000..3e9c939c Binary files /dev/null and b/fuzz/corpora/cmp/cc6ceb2229b67208ad84ffd5aad1db7d32e4c52f differ diff --git a/fuzz/corpora/cmp/cc85f6973dff27fdfbf92591f77288d60c072dba b/fuzz/corpora/cmp/cc85f6973dff27fdfbf92591f77288d60c072dba new file mode 100644 index 00000000..ffc033e9 Binary files /dev/null and b/fuzz/corpora/cmp/cc85f6973dff27fdfbf92591f77288d60c072dba differ diff --git a/fuzz/corpora/cmp/cc91866613af289f2f363c09e3a2016c72c9651e b/fuzz/corpora/cmp/cc91866613af289f2f363c09e3a2016c72c9651e new file mode 100644 index 00000000..40d6507e Binary files /dev/null and b/fuzz/corpora/cmp/cc91866613af289f2f363c09e3a2016c72c9651e differ diff --git a/fuzz/corpora/cmp/cc972d650bdd3d7d8f92c2831579390076f8bba9 b/fuzz/corpora/cmp/cc972d650bdd3d7d8f92c2831579390076f8bba9 new file mode 100644 index 00000000..6b596960 Binary files /dev/null and b/fuzz/corpora/cmp/cc972d650bdd3d7d8f92c2831579390076f8bba9 differ diff --git a/fuzz/corpora/cmp/cc9a7f67045ffdb2c1465ed61fc24e8ca72c9b54 b/fuzz/corpora/cmp/cc9a7f67045ffdb2c1465ed61fc24e8ca72c9b54 new file mode 100644 index 00000000..9a332b66 Binary files /dev/null and b/fuzz/corpora/cmp/cc9a7f67045ffdb2c1465ed61fc24e8ca72c9b54 differ diff --git a/fuzz/corpora/cmp/ccb2196b55afa8bb421fea2decfd663e8c39c5ad b/fuzz/corpora/cmp/ccb2196b55afa8bb421fea2decfd663e8c39c5ad new file mode 100644 index 00000000..d346588c Binary files /dev/null and b/fuzz/corpora/cmp/ccb2196b55afa8bb421fea2decfd663e8c39c5ad differ diff --git a/fuzz/corpora/cmp/ccbfd7f6fd93fefad1c24c7c96e60c774e2b0831 b/fuzz/corpora/cmp/ccbfd7f6fd93fefad1c24c7c96e60c774e2b0831 new file mode 100644 index 00000000..7ea9d88f Binary files /dev/null and b/fuzz/corpora/cmp/ccbfd7f6fd93fefad1c24c7c96e60c774e2b0831 differ diff --git a/fuzz/corpora/cmp/cccb8e0060ad6927a036ce38ebc6850f5265ecb9 b/fuzz/corpora/cmp/cccb8e0060ad6927a036ce38ebc6850f5265ecb9 new file mode 100644 index 00000000..7b6c8575 Binary files /dev/null and b/fuzz/corpora/cmp/cccb8e0060ad6927a036ce38ebc6850f5265ecb9 differ diff --git a/fuzz/corpora/cmp/ccd42fecbf61a3278a450de250028979fe19e6c3 b/fuzz/corpora/cmp/ccd42fecbf61a3278a450de250028979fe19e6c3 new file mode 100644 index 00000000..9160647a Binary files /dev/null and b/fuzz/corpora/cmp/ccd42fecbf61a3278a450de250028979fe19e6c3 differ diff --git a/fuzz/corpora/cmp/cce1babdeb8180563193ba1313561e613f948324 b/fuzz/corpora/cmp/cce1babdeb8180563193ba1313561e613f948324 new file mode 100644 index 00000000..3c12c231 Binary files /dev/null and b/fuzz/corpora/cmp/cce1babdeb8180563193ba1313561e613f948324 differ diff --git a/fuzz/corpora/cmp/cceb6c82f06a0e66d0ede3fa32e4f2c3c94e6454 b/fuzz/corpora/cmp/cceb6c82f06a0e66d0ede3fa32e4f2c3c94e6454 new file mode 100644 index 00000000..becee95d Binary files /dev/null and b/fuzz/corpora/cmp/cceb6c82f06a0e66d0ede3fa32e4f2c3c94e6454 differ diff --git a/fuzz/corpora/cmp/cd049e95e0f668141ada23340adbc15cfeb90faa b/fuzz/corpora/cmp/cd049e95e0f668141ada23340adbc15cfeb90faa new file mode 100644 index 00000000..6ebb9a3f Binary files /dev/null and b/fuzz/corpora/cmp/cd049e95e0f668141ada23340adbc15cfeb90faa differ diff --git a/fuzz/corpora/cmp/cd09a4972625f53acd73872da6296491d64e0674 b/fuzz/corpora/cmp/cd09a4972625f53acd73872da6296491d64e0674 new file mode 100644 index 00000000..9cf205ea Binary files /dev/null and b/fuzz/corpora/cmp/cd09a4972625f53acd73872da6296491d64e0674 differ diff --git a/fuzz/corpora/cmp/cd0b980b13778e588f8e91bfc1452758be299e7d b/fuzz/corpora/cmp/cd0b980b13778e588f8e91bfc1452758be299e7d new file mode 100644 index 00000000..d73ecbaa Binary files /dev/null and b/fuzz/corpora/cmp/cd0b980b13778e588f8e91bfc1452758be299e7d differ diff --git a/fuzz/corpora/cmp/cd2809e2ca31ef55014a22f434810cb1d5ee63c6 b/fuzz/corpora/cmp/cd2809e2ca31ef55014a22f434810cb1d5ee63c6 new file mode 100644 index 00000000..482b97f1 Binary files /dev/null and b/fuzz/corpora/cmp/cd2809e2ca31ef55014a22f434810cb1d5ee63c6 differ diff --git a/fuzz/corpora/cmp/cd51b17c81626072eed8fda397e6dfc81c659b9c b/fuzz/corpora/cmp/cd51b17c81626072eed8fda397e6dfc81c659b9c new file mode 100644 index 00000000..854ca5d7 Binary files /dev/null and b/fuzz/corpora/cmp/cd51b17c81626072eed8fda397e6dfc81c659b9c differ diff --git a/fuzz/corpora/cmp/cd5ceb71a1ebed8546631b6e70a39f426a1cea8c b/fuzz/corpora/cmp/cd5ceb71a1ebed8546631b6e70a39f426a1cea8c new file mode 100644 index 00000000..3c731880 Binary files /dev/null and b/fuzz/corpora/cmp/cd5ceb71a1ebed8546631b6e70a39f426a1cea8c differ diff --git a/fuzz/corpora/cmp/cd5fe8cfe2cf702c72ee33010c0966644a2f819e b/fuzz/corpora/cmp/cd5fe8cfe2cf702c72ee33010c0966644a2f819e new file mode 100644 index 00000000..9fa24c65 Binary files /dev/null and b/fuzz/corpora/cmp/cd5fe8cfe2cf702c72ee33010c0966644a2f819e differ diff --git a/fuzz/corpora/cmp/cd626149af945d1ed506471706fc30b4a4763d52 b/fuzz/corpora/cmp/cd626149af945d1ed506471706fc30b4a4763d52 new file mode 100644 index 00000000..e10a170b Binary files /dev/null and b/fuzz/corpora/cmp/cd626149af945d1ed506471706fc30b4a4763d52 differ diff --git a/fuzz/corpora/cmp/cd643318251ce0a46296a0d1a3b151315cac0d87 b/fuzz/corpora/cmp/cd643318251ce0a46296a0d1a3b151315cac0d87 new file mode 100644 index 00000000..6b9a7c5f Binary files /dev/null and b/fuzz/corpora/cmp/cd643318251ce0a46296a0d1a3b151315cac0d87 differ diff --git a/fuzz/corpora/cmp/cd64d76b2c42f4290ab4cf99bc7c1445da668ffa b/fuzz/corpora/cmp/cd64d76b2c42f4290ab4cf99bc7c1445da668ffa new file mode 100644 index 00000000..d4e79ab0 Binary files /dev/null and b/fuzz/corpora/cmp/cd64d76b2c42f4290ab4cf99bc7c1445da668ffa differ diff --git a/fuzz/corpora/cmp/cd67eab2a9a28cf1d662982893c1330dd61d90de b/fuzz/corpora/cmp/cd67eab2a9a28cf1d662982893c1330dd61d90de new file mode 100644 index 00000000..46a20be0 Binary files /dev/null and b/fuzz/corpora/cmp/cd67eab2a9a28cf1d662982893c1330dd61d90de differ diff --git a/fuzz/corpora/cmp/cd87b31b95a8abc312d34412c7edc202465960bc b/fuzz/corpora/cmp/cd87b31b95a8abc312d34412c7edc202465960bc new file mode 100644 index 00000000..175b9523 Binary files /dev/null and b/fuzz/corpora/cmp/cd87b31b95a8abc312d34412c7edc202465960bc differ diff --git a/fuzz/corpora/cmp/cd8cf6a19eaee5c06dcf8b3e7340375ecc49907d b/fuzz/corpora/cmp/cd8cf6a19eaee5c06dcf8b3e7340375ecc49907d new file mode 100644 index 00000000..125f60d2 Binary files /dev/null and b/fuzz/corpora/cmp/cd8cf6a19eaee5c06dcf8b3e7340375ecc49907d differ diff --git a/fuzz/corpora/cmp/cd9f00309e390d9aceae5a14b479f0ac679c6371 b/fuzz/corpora/cmp/cd9f00309e390d9aceae5a14b479f0ac679c6371 new file mode 100644 index 00000000..6537b3c6 Binary files /dev/null and b/fuzz/corpora/cmp/cd9f00309e390d9aceae5a14b479f0ac679c6371 differ diff --git a/fuzz/corpora/cmp/cdca1f8821f6bc8b175d34843bdbb6afd9471934 b/fuzz/corpora/cmp/cdca1f8821f6bc8b175d34843bdbb6afd9471934 new file mode 100644 index 00000000..053a6c59 Binary files /dev/null and b/fuzz/corpora/cmp/cdca1f8821f6bc8b175d34843bdbb6afd9471934 differ diff --git a/fuzz/corpora/cmp/cdcce7b429c58ea46d9c50eb3902a3a93aa6db8d b/fuzz/corpora/cmp/cdcce7b429c58ea46d9c50eb3902a3a93aa6db8d new file mode 100644 index 00000000..afadf32c Binary files /dev/null and b/fuzz/corpora/cmp/cdcce7b429c58ea46d9c50eb3902a3a93aa6db8d differ diff --git a/fuzz/corpora/cmp/cdf976663516e8c5a3e6364a7b7ee3b86d62072b b/fuzz/corpora/cmp/cdf976663516e8c5a3e6364a7b7ee3b86d62072b new file mode 100644 index 00000000..384c0c98 Binary files /dev/null and b/fuzz/corpora/cmp/cdf976663516e8c5a3e6364a7b7ee3b86d62072b differ diff --git a/fuzz/corpora/cmp/cdfcd56a67bf09a050db2568b5c600e6ea1945e3 b/fuzz/corpora/cmp/cdfcd56a67bf09a050db2568b5c600e6ea1945e3 new file mode 100644 index 00000000..36e14fb6 Binary files /dev/null and b/fuzz/corpora/cmp/cdfcd56a67bf09a050db2568b5c600e6ea1945e3 differ diff --git a/fuzz/corpora/cmp/cdfee54f811ea9ef6da6703dd096e336f68b5ea2 b/fuzz/corpora/cmp/cdfee54f811ea9ef6da6703dd096e336f68b5ea2 new file mode 100644 index 00000000..f96deeb7 Binary files /dev/null and b/fuzz/corpora/cmp/cdfee54f811ea9ef6da6703dd096e336f68b5ea2 differ diff --git a/fuzz/corpora/cmp/ce0745468748deaec4a4a33e00586e1553b3f599 b/fuzz/corpora/cmp/ce0745468748deaec4a4a33e00586e1553b3f599 new file mode 100644 index 00000000..e026af03 Binary files /dev/null and b/fuzz/corpora/cmp/ce0745468748deaec4a4a33e00586e1553b3f599 differ diff --git a/fuzz/corpora/cmp/ce1398c650d0d2686519ada72d69aa5c7279b196 b/fuzz/corpora/cmp/ce1398c650d0d2686519ada72d69aa5c7279b196 new file mode 100644 index 00000000..499d1acd Binary files /dev/null and b/fuzz/corpora/cmp/ce1398c650d0d2686519ada72d69aa5c7279b196 differ diff --git a/fuzz/corpora/cmp/ce1ca263b701130b7bf6c91001afab801faa6efb b/fuzz/corpora/cmp/ce1ca263b701130b7bf6c91001afab801faa6efb new file mode 100644 index 00000000..f9dd0b1e Binary files /dev/null and b/fuzz/corpora/cmp/ce1ca263b701130b7bf6c91001afab801faa6efb differ diff --git a/fuzz/corpora/cmp/ce2057f1d190ec429b910a3c3b24be57a5ede9c0 b/fuzz/corpora/cmp/ce2057f1d190ec429b910a3c3b24be57a5ede9c0 new file mode 100644 index 00000000..31fac15f Binary files /dev/null and b/fuzz/corpora/cmp/ce2057f1d190ec429b910a3c3b24be57a5ede9c0 differ diff --git a/fuzz/corpora/cmp/ce58f405c88ec192c3c20c1c180b0c449a8c6d73 b/fuzz/corpora/cmp/ce58f405c88ec192c3c20c1c180b0c449a8c6d73 new file mode 100644 index 00000000..f00d0a19 Binary files /dev/null and b/fuzz/corpora/cmp/ce58f405c88ec192c3c20c1c180b0c449a8c6d73 differ diff --git a/fuzz/corpora/cmp/ce5a70a5d1d2bf2b970dff0e3bd2bf974a9adb2e b/fuzz/corpora/cmp/ce5a70a5d1d2bf2b970dff0e3bd2bf974a9adb2e new file mode 100644 index 00000000..e4f0eedf Binary files /dev/null and b/fuzz/corpora/cmp/ce5a70a5d1d2bf2b970dff0e3bd2bf974a9adb2e differ diff --git a/fuzz/corpora/cmp/ce663b55ba8a7381c8e51dbd7ed7211bd7ce4f61 b/fuzz/corpora/cmp/ce663b55ba8a7381c8e51dbd7ed7211bd7ce4f61 new file mode 100644 index 00000000..308e4c9f Binary files /dev/null and b/fuzz/corpora/cmp/ce663b55ba8a7381c8e51dbd7ed7211bd7ce4f61 differ diff --git a/fuzz/corpora/cmp/ce68078853d6c61a678be616eab47934ad93ca31 b/fuzz/corpora/cmp/ce68078853d6c61a678be616eab47934ad93ca31 new file mode 100644 index 00000000..216f0b18 Binary files /dev/null and b/fuzz/corpora/cmp/ce68078853d6c61a678be616eab47934ad93ca31 differ diff --git a/fuzz/corpora/cmp/ce7474ba69f658f4dde24762c484515aa0e0fafe b/fuzz/corpora/cmp/ce7474ba69f658f4dde24762c484515aa0e0fafe new file mode 100644 index 00000000..8d1a53b2 Binary files /dev/null and b/fuzz/corpora/cmp/ce7474ba69f658f4dde24762c484515aa0e0fafe differ diff --git a/fuzz/corpora/cmp/ce7d22168d847dda001282188516c33ddfc1f073 b/fuzz/corpora/cmp/ce7d22168d847dda001282188516c33ddfc1f073 new file mode 100644 index 00000000..495d9a09 Binary files /dev/null and b/fuzz/corpora/cmp/ce7d22168d847dda001282188516c33ddfc1f073 differ diff --git a/fuzz/corpora/cmp/ce852b5cac0581efd5d8c2f549b94f5aec9b5df6 b/fuzz/corpora/cmp/ce852b5cac0581efd5d8c2f549b94f5aec9b5df6 new file mode 100644 index 00000000..6a4a96ba Binary files /dev/null and b/fuzz/corpora/cmp/ce852b5cac0581efd5d8c2f549b94f5aec9b5df6 differ diff --git a/fuzz/corpora/cmp/ce8f43d5c6d9396a5dc87d2a2b8eee9e31533a62 b/fuzz/corpora/cmp/ce8f43d5c6d9396a5dc87d2a2b8eee9e31533a62 new file mode 100644 index 00000000..c8712073 Binary files /dev/null and b/fuzz/corpora/cmp/ce8f43d5c6d9396a5dc87d2a2b8eee9e31533a62 differ diff --git a/fuzz/corpora/cmp/ceac3ce0a0bfbb18706c3367f284fbd03e9add65 b/fuzz/corpora/cmp/ceac3ce0a0bfbb18706c3367f284fbd03e9add65 new file mode 100644 index 00000000..773a5342 Binary files /dev/null and b/fuzz/corpora/cmp/ceac3ce0a0bfbb18706c3367f284fbd03e9add65 differ diff --git a/fuzz/corpora/cmp/ceae74143c350b5fec011db8510e813fc4779457 b/fuzz/corpora/cmp/ceae74143c350b5fec011db8510e813fc4779457 new file mode 100644 index 00000000..5b0f9760 Binary files /dev/null and b/fuzz/corpora/cmp/ceae74143c350b5fec011db8510e813fc4779457 differ diff --git a/fuzz/corpora/cmp/ceb310869266c77aa3391d9210ebb4130f573492 b/fuzz/corpora/cmp/ceb310869266c77aa3391d9210ebb4130f573492 new file mode 100644 index 00000000..d706ebb9 Binary files /dev/null and b/fuzz/corpora/cmp/ceb310869266c77aa3391d9210ebb4130f573492 differ diff --git a/fuzz/corpora/cmp/cec5787e5770e8211630f4bbd2800fc0c60b6f1d b/fuzz/corpora/cmp/cec5787e5770e8211630f4bbd2800fc0c60b6f1d new file mode 100644 index 00000000..f31a830d Binary files /dev/null and b/fuzz/corpora/cmp/cec5787e5770e8211630f4bbd2800fc0c60b6f1d differ diff --git a/fuzz/corpora/cmp/cec7e37b36f4d2ffdedab944a6c60eb18e6ebf95 b/fuzz/corpora/cmp/cec7e37b36f4d2ffdedab944a6c60eb18e6ebf95 new file mode 100644 index 00000000..77ba7c95 Binary files /dev/null and b/fuzz/corpora/cmp/cec7e37b36f4d2ffdedab944a6c60eb18e6ebf95 differ diff --git a/fuzz/corpora/cmp/cee3af214428a4f29c6eead84d8c683c0d91d001 b/fuzz/corpora/cmp/cee3af214428a4f29c6eead84d8c683c0d91d001 new file mode 100644 index 00000000..342784c0 Binary files /dev/null and b/fuzz/corpora/cmp/cee3af214428a4f29c6eead84d8c683c0d91d001 differ diff --git a/fuzz/corpora/cmp/cee552823531e1d4521fdaad8ebd061942e941c5 b/fuzz/corpora/cmp/cee552823531e1d4521fdaad8ebd061942e941c5 new file mode 100644 index 00000000..7f0ddcfc Binary files /dev/null and b/fuzz/corpora/cmp/cee552823531e1d4521fdaad8ebd061942e941c5 differ diff --git a/fuzz/corpora/cmp/cee6a9f061275d3de9cf1eb5656aafcc17d00527 b/fuzz/corpora/cmp/cee6a9f061275d3de9cf1eb5656aafcc17d00527 new file mode 100644 index 00000000..cb57e0f0 Binary files /dev/null and b/fuzz/corpora/cmp/cee6a9f061275d3de9cf1eb5656aafcc17d00527 differ diff --git a/fuzz/corpora/cmp/ceeb9bbe395df0339ddb45454d74ede3f42139ec b/fuzz/corpora/cmp/ceeb9bbe395df0339ddb45454d74ede3f42139ec new file mode 100644 index 00000000..15e9441f Binary files /dev/null and b/fuzz/corpora/cmp/ceeb9bbe395df0339ddb45454d74ede3f42139ec differ diff --git a/fuzz/corpora/cmp/cefdcb596238e8662f1cb870ac66e694c175c178 b/fuzz/corpora/cmp/cefdcb596238e8662f1cb870ac66e694c175c178 new file mode 100644 index 00000000..561315fa Binary files /dev/null and b/fuzz/corpora/cmp/cefdcb596238e8662f1cb870ac66e694c175c178 differ diff --git a/fuzz/corpora/cmp/ceffc5fe1d80948d9790cca5e645e86e327555f0 b/fuzz/corpora/cmp/ceffc5fe1d80948d9790cca5e645e86e327555f0 new file mode 100644 index 00000000..891df605 Binary files /dev/null and b/fuzz/corpora/cmp/ceffc5fe1d80948d9790cca5e645e86e327555f0 differ diff --git a/fuzz/corpora/cmp/cf00b847f51b591ed889157485d11b005288d204 b/fuzz/corpora/cmp/cf00b847f51b591ed889157485d11b005288d204 new file mode 100644 index 00000000..eca8cb44 Binary files /dev/null and b/fuzz/corpora/cmp/cf00b847f51b591ed889157485d11b005288d204 differ diff --git a/fuzz/corpora/cmp/cf08e83f1555fbe603208c550bf8fe23794b1b75 b/fuzz/corpora/cmp/cf08e83f1555fbe603208c550bf8fe23794b1b75 new file mode 100644 index 00000000..acb47470 Binary files /dev/null and b/fuzz/corpora/cmp/cf08e83f1555fbe603208c550bf8fe23794b1b75 differ diff --git a/fuzz/corpora/cmp/cf171c39c05210128964e88a8894f44cb2e4b2f6 b/fuzz/corpora/cmp/cf171c39c05210128964e88a8894f44cb2e4b2f6 new file mode 100644 index 00000000..9128580e Binary files /dev/null and b/fuzz/corpora/cmp/cf171c39c05210128964e88a8894f44cb2e4b2f6 differ diff --git a/fuzz/corpora/cmp/cf175bbb52cd94c2489685622ffd75d4ca922efc b/fuzz/corpora/cmp/cf175bbb52cd94c2489685622ffd75d4ca922efc new file mode 100644 index 00000000..b016a987 Binary files /dev/null and b/fuzz/corpora/cmp/cf175bbb52cd94c2489685622ffd75d4ca922efc differ diff --git a/fuzz/corpora/cmp/cf25238e7f063f8ea176a948580f271891eb7540 b/fuzz/corpora/cmp/cf25238e7f063f8ea176a948580f271891eb7540 new file mode 100644 index 00000000..ab75c80b Binary files /dev/null and b/fuzz/corpora/cmp/cf25238e7f063f8ea176a948580f271891eb7540 differ diff --git a/fuzz/corpora/cmp/cf28a98ae916a8f6a185f5226cc7f8a818d80ecd b/fuzz/corpora/cmp/cf28a98ae916a8f6a185f5226cc7f8a818d80ecd new file mode 100644 index 00000000..6564ad53 Binary files /dev/null and b/fuzz/corpora/cmp/cf28a98ae916a8f6a185f5226cc7f8a818d80ecd differ diff --git a/fuzz/corpora/cmp/cf29d03adc8b39132cec1f1efc07eb51d3f2632b b/fuzz/corpora/cmp/cf29d03adc8b39132cec1f1efc07eb51d3f2632b new file mode 100644 index 00000000..879b13d3 Binary files /dev/null and b/fuzz/corpora/cmp/cf29d03adc8b39132cec1f1efc07eb51d3f2632b differ diff --git a/fuzz/corpora/cmp/cf31fef51a14f1d795dae9facf90ba77bc1f7258 b/fuzz/corpora/cmp/cf31fef51a14f1d795dae9facf90ba77bc1f7258 new file mode 100644 index 00000000..62fd2467 Binary files /dev/null and b/fuzz/corpora/cmp/cf31fef51a14f1d795dae9facf90ba77bc1f7258 differ diff --git a/fuzz/corpora/cmp/cf61b4c035bc6b3e584142e2e14fb2a1cef9916f b/fuzz/corpora/cmp/cf61b4c035bc6b3e584142e2e14fb2a1cef9916f new file mode 100644 index 00000000..baa0d463 Binary files /dev/null and b/fuzz/corpora/cmp/cf61b4c035bc6b3e584142e2e14fb2a1cef9916f differ diff --git a/fuzz/corpora/cmp/cf6bec06651f5c7a344fc35344a3cf2e12e022ca b/fuzz/corpora/cmp/cf6bec06651f5c7a344fc35344a3cf2e12e022ca new file mode 100644 index 00000000..66f16441 Binary files /dev/null and b/fuzz/corpora/cmp/cf6bec06651f5c7a344fc35344a3cf2e12e022ca differ diff --git a/fuzz/corpora/cmp/cf6d608b038f8ed14208bf038db49f8a3817953b b/fuzz/corpora/cmp/cf6d608b038f8ed14208bf038db49f8a3817953b new file mode 100644 index 00000000..c357fb6e Binary files /dev/null and b/fuzz/corpora/cmp/cf6d608b038f8ed14208bf038db49f8a3817953b differ diff --git a/fuzz/corpora/cmp/cf6ef532008b7c263f9d6ab7fd2ce4814a5208f3 b/fuzz/corpora/cmp/cf6ef532008b7c263f9d6ab7fd2ce4814a5208f3 new file mode 100644 index 00000000..e9a7a365 Binary files /dev/null and b/fuzz/corpora/cmp/cf6ef532008b7c263f9d6ab7fd2ce4814a5208f3 differ diff --git a/fuzz/corpora/cmp/cf79192cb2982a12530f985bfb8b2cb452be87fc b/fuzz/corpora/cmp/cf79192cb2982a12530f985bfb8b2cb452be87fc new file mode 100644 index 00000000..cad20074 Binary files /dev/null and b/fuzz/corpora/cmp/cf79192cb2982a12530f985bfb8b2cb452be87fc differ diff --git a/fuzz/corpora/cmp/cf79bceea790f16a2f31efb81e1c32e838f1f9b2 b/fuzz/corpora/cmp/cf79bceea790f16a2f31efb81e1c32e838f1f9b2 new file mode 100644 index 00000000..b9fdd157 Binary files /dev/null and b/fuzz/corpora/cmp/cf79bceea790f16a2f31efb81e1c32e838f1f9b2 differ diff --git a/fuzz/corpora/cmp/cf7e91e34c5bb611497658feac2c9f6ba33a7e2c b/fuzz/corpora/cmp/cf7e91e34c5bb611497658feac2c9f6ba33a7e2c new file mode 100644 index 00000000..abade253 Binary files /dev/null and b/fuzz/corpora/cmp/cf7e91e34c5bb611497658feac2c9f6ba33a7e2c differ diff --git a/fuzz/corpora/cmp/cf829396b87dd114a0ffad5f9309ce3b01724285 b/fuzz/corpora/cmp/cf829396b87dd114a0ffad5f9309ce3b01724285 new file mode 100644 index 00000000..31c30e3c Binary files /dev/null and b/fuzz/corpora/cmp/cf829396b87dd114a0ffad5f9309ce3b01724285 differ diff --git a/fuzz/corpora/cmp/cfbf7e4b245f733112282f63fa10f8d6ec67f2be b/fuzz/corpora/cmp/cfbf7e4b245f733112282f63fa10f8d6ec67f2be new file mode 100644 index 00000000..404b5477 Binary files /dev/null and b/fuzz/corpora/cmp/cfbf7e4b245f733112282f63fa10f8d6ec67f2be differ diff --git a/fuzz/corpora/cmp/cfd1e90adc461fc002699287282ee288751dfa13 b/fuzz/corpora/cmp/cfd1e90adc461fc002699287282ee288751dfa13 new file mode 100644 index 00000000..a9452ce8 Binary files /dev/null and b/fuzz/corpora/cmp/cfd1e90adc461fc002699287282ee288751dfa13 differ diff --git a/fuzz/corpora/cmp/d009123f1751afd20d9e188cc9661535c83cc7df b/fuzz/corpora/cmp/d009123f1751afd20d9e188cc9661535c83cc7df new file mode 100644 index 00000000..7dda575e Binary files /dev/null and b/fuzz/corpora/cmp/d009123f1751afd20d9e188cc9661535c83cc7df differ diff --git a/fuzz/corpora/cmp/d00a65ff1f6e37531bb81b4bef060fcea8eaae97 b/fuzz/corpora/cmp/d00a65ff1f6e37531bb81b4bef060fcea8eaae97 new file mode 100644 index 00000000..ce7b616d Binary files /dev/null and b/fuzz/corpora/cmp/d00a65ff1f6e37531bb81b4bef060fcea8eaae97 differ diff --git a/fuzz/corpora/cmp/d029329239985c8ab3fb03cd648fbf0fa006a3f3 b/fuzz/corpora/cmp/d029329239985c8ab3fb03cd648fbf0fa006a3f3 new file mode 100644 index 00000000..3b5e9883 Binary files /dev/null and b/fuzz/corpora/cmp/d029329239985c8ab3fb03cd648fbf0fa006a3f3 differ diff --git a/fuzz/corpora/cmp/d030e5cdb4d63a6eb1bc3c0e78262a519e081060 b/fuzz/corpora/cmp/d030e5cdb4d63a6eb1bc3c0e78262a519e081060 new file mode 100644 index 00000000..7e5e58ec Binary files /dev/null and b/fuzz/corpora/cmp/d030e5cdb4d63a6eb1bc3c0e78262a519e081060 differ diff --git a/fuzz/corpora/cmp/d04ebd34c56d64898834562ca16b6749690f8517 b/fuzz/corpora/cmp/d04ebd34c56d64898834562ca16b6749690f8517 new file mode 100644 index 00000000..e69c2496 Binary files /dev/null and b/fuzz/corpora/cmp/d04ebd34c56d64898834562ca16b6749690f8517 differ diff --git a/fuzz/corpora/cmp/d0521f738bc67d020cee154cda42531eb8f7b781 b/fuzz/corpora/cmp/d0521f738bc67d020cee154cda42531eb8f7b781 new file mode 100644 index 00000000..9e1f3ce3 Binary files /dev/null and b/fuzz/corpora/cmp/d0521f738bc67d020cee154cda42531eb8f7b781 differ diff --git a/fuzz/corpora/cmp/d059449099d7934e75e059298dcffdb05fd8d928 b/fuzz/corpora/cmp/d059449099d7934e75e059298dcffdb05fd8d928 new file mode 100644 index 00000000..bc5fe4f4 Binary files /dev/null and b/fuzz/corpora/cmp/d059449099d7934e75e059298dcffdb05fd8d928 differ diff --git a/fuzz/corpora/cmp/d05cf9ec694713fe6d2acbf5617c8b917eb6d565 b/fuzz/corpora/cmp/d05cf9ec694713fe6d2acbf5617c8b917eb6d565 new file mode 100644 index 00000000..8f474398 Binary files /dev/null and b/fuzz/corpora/cmp/d05cf9ec694713fe6d2acbf5617c8b917eb6d565 differ diff --git a/fuzz/corpora/cmp/d05d8cc43f642e8852c5d1d674827ad2bd79c0ac b/fuzz/corpora/cmp/d05d8cc43f642e8852c5d1d674827ad2bd79c0ac new file mode 100644 index 00000000..5df14842 Binary files /dev/null and b/fuzz/corpora/cmp/d05d8cc43f642e8852c5d1d674827ad2bd79c0ac differ diff --git a/fuzz/corpora/cmp/d069701b3e4c2c62c0b974a5a7947cb959c0e159 b/fuzz/corpora/cmp/d069701b3e4c2c62c0b974a5a7947cb959c0e159 new file mode 100644 index 00000000..09c8c042 Binary files /dev/null and b/fuzz/corpora/cmp/d069701b3e4c2c62c0b974a5a7947cb959c0e159 differ diff --git a/fuzz/corpora/cmp/d0873eb7417ecd113bb66a0f566d0af41baf9ff5 b/fuzz/corpora/cmp/d0873eb7417ecd113bb66a0f566d0af41baf9ff5 new file mode 100644 index 00000000..7360d8ad Binary files /dev/null and b/fuzz/corpora/cmp/d0873eb7417ecd113bb66a0f566d0af41baf9ff5 differ diff --git a/fuzz/corpora/cmp/d08a54b287e6cdaff9333db4a33ed000ee27018f b/fuzz/corpora/cmp/d08a54b287e6cdaff9333db4a33ed000ee27018f new file mode 100644 index 00000000..49a7e324 Binary files /dev/null and b/fuzz/corpora/cmp/d08a54b287e6cdaff9333db4a33ed000ee27018f differ diff --git a/fuzz/corpora/cmp/d08be125b62e8cd9ae8249f389c31b90f4ed7bb2 b/fuzz/corpora/cmp/d08be125b62e8cd9ae8249f389c31b90f4ed7bb2 new file mode 100644 index 00000000..98ba3637 Binary files /dev/null and b/fuzz/corpora/cmp/d08be125b62e8cd9ae8249f389c31b90f4ed7bb2 differ diff --git a/fuzz/corpora/cmp/d09a824674fcbc5685578f1896ea50de636705cd b/fuzz/corpora/cmp/d09a824674fcbc5685578f1896ea50de636705cd new file mode 100644 index 00000000..d48af27b Binary files /dev/null and b/fuzz/corpora/cmp/d09a824674fcbc5685578f1896ea50de636705cd differ diff --git a/fuzz/corpora/cmp/d0aaf9ca0b40aca69039b407e76ca0b7a7f23b3c b/fuzz/corpora/cmp/d0aaf9ca0b40aca69039b407e76ca0b7a7f23b3c new file mode 100644 index 00000000..50cbda47 Binary files /dev/null and b/fuzz/corpora/cmp/d0aaf9ca0b40aca69039b407e76ca0b7a7f23b3c differ diff --git a/fuzz/corpora/cmp/d0b50a96f5b64640da94756785811c397843b9fa b/fuzz/corpora/cmp/d0b50a96f5b64640da94756785811c397843b9fa new file mode 100644 index 00000000..fe32f5a7 Binary files /dev/null and b/fuzz/corpora/cmp/d0b50a96f5b64640da94756785811c397843b9fa differ diff --git a/fuzz/corpora/cmp/d0bb52fe5ef5e901e70a012a7c5944523a218716 b/fuzz/corpora/cmp/d0bb52fe5ef5e901e70a012a7c5944523a218716 new file mode 100644 index 00000000..909e2cfd Binary files /dev/null and b/fuzz/corpora/cmp/d0bb52fe5ef5e901e70a012a7c5944523a218716 differ diff --git a/fuzz/corpora/cmp/d0bea39d5360dda51550e6a933850e3abbc9b5d3 b/fuzz/corpora/cmp/d0bea39d5360dda51550e6a933850e3abbc9b5d3 new file mode 100644 index 00000000..8c501ba3 Binary files /dev/null and b/fuzz/corpora/cmp/d0bea39d5360dda51550e6a933850e3abbc9b5d3 differ diff --git a/fuzz/corpora/cmp/d0c4d8464478344089b6657afc28e6d7091ac427 b/fuzz/corpora/cmp/d0c4d8464478344089b6657afc28e6d7091ac427 new file mode 100644 index 00000000..b57122ba Binary files /dev/null and b/fuzz/corpora/cmp/d0c4d8464478344089b6657afc28e6d7091ac427 differ diff --git a/fuzz/corpora/cmp/d0c5173968333f983afadd7512090615c5007f49 b/fuzz/corpora/cmp/d0c5173968333f983afadd7512090615c5007f49 new file mode 100644 index 00000000..09645256 Binary files /dev/null and b/fuzz/corpora/cmp/d0c5173968333f983afadd7512090615c5007f49 differ diff --git a/fuzz/corpora/cmp/d0f06fa66627e303907af5b5288761d9607133f5 b/fuzz/corpora/cmp/d0f06fa66627e303907af5b5288761d9607133f5 new file mode 100644 index 00000000..90d35c59 Binary files /dev/null and b/fuzz/corpora/cmp/d0f06fa66627e303907af5b5288761d9607133f5 differ diff --git a/fuzz/corpora/cmp/d102c86834849b4e4608a2e7e4a35675d10de7eb b/fuzz/corpora/cmp/d102c86834849b4e4608a2e7e4a35675d10de7eb new file mode 100644 index 00000000..cb0a79a0 Binary files /dev/null and b/fuzz/corpora/cmp/d102c86834849b4e4608a2e7e4a35675d10de7eb differ diff --git a/fuzz/corpora/cmp/d1163251d0d38adbfaa95d1492be8efdfc1292c4 b/fuzz/corpora/cmp/d1163251d0d38adbfaa95d1492be8efdfc1292c4 new file mode 100644 index 00000000..3eed9766 Binary files /dev/null and b/fuzz/corpora/cmp/d1163251d0d38adbfaa95d1492be8efdfc1292c4 differ diff --git a/fuzz/corpora/cmp/d12356f8e0f0c2e0983d236ad77eb04c333c8e99 b/fuzz/corpora/cmp/d12356f8e0f0c2e0983d236ad77eb04c333c8e99 new file mode 100644 index 00000000..bfb9c010 Binary files /dev/null and b/fuzz/corpora/cmp/d12356f8e0f0c2e0983d236ad77eb04c333c8e99 differ diff --git a/fuzz/corpora/cmp/d131422a5efbdbe99794cb9a7fb98bb8aa525093 b/fuzz/corpora/cmp/d131422a5efbdbe99794cb9a7fb98bb8aa525093 new file mode 100644 index 00000000..35fec024 Binary files /dev/null and b/fuzz/corpora/cmp/d131422a5efbdbe99794cb9a7fb98bb8aa525093 differ diff --git a/fuzz/corpora/cmp/d1355f2c947d130abd54c9af510f20505149301f b/fuzz/corpora/cmp/d1355f2c947d130abd54c9af510f20505149301f new file mode 100644 index 00000000..c9eb041f Binary files /dev/null and b/fuzz/corpora/cmp/d1355f2c947d130abd54c9af510f20505149301f differ diff --git a/fuzz/corpora/cmp/d141756439be3bdea48e7f15c102c9535367eb14 b/fuzz/corpora/cmp/d141756439be3bdea48e7f15c102c9535367eb14 new file mode 100644 index 00000000..3582b0aa Binary files /dev/null and b/fuzz/corpora/cmp/d141756439be3bdea48e7f15c102c9535367eb14 differ diff --git a/fuzz/corpora/cmp/d14368b3aaffd460c28aa4f29a5be93c88f94230 b/fuzz/corpora/cmp/d14368b3aaffd460c28aa4f29a5be93c88f94230 new file mode 100644 index 00000000..c548631c Binary files /dev/null and b/fuzz/corpora/cmp/d14368b3aaffd460c28aa4f29a5be93c88f94230 differ diff --git a/fuzz/corpora/cmp/d14639a6ef70bc8242504af9d5258b6f6ad553da b/fuzz/corpora/cmp/d14639a6ef70bc8242504af9d5258b6f6ad553da new file mode 100644 index 00000000..871149ad Binary files /dev/null and b/fuzz/corpora/cmp/d14639a6ef70bc8242504af9d5258b6f6ad553da differ diff --git a/fuzz/corpora/cmp/d1809cf6c9a7d400ba6b9699458176f5c468ddc2 b/fuzz/corpora/cmp/d1809cf6c9a7d400ba6b9699458176f5c468ddc2 new file mode 100644 index 00000000..362530be Binary files /dev/null and b/fuzz/corpora/cmp/d1809cf6c9a7d400ba6b9699458176f5c468ddc2 differ diff --git a/fuzz/corpora/cmp/d19347742401467aa2a3bf95a867b10b93bbf4c5 b/fuzz/corpora/cmp/d19347742401467aa2a3bf95a867b10b93bbf4c5 new file mode 100644 index 00000000..0aa178b2 Binary files /dev/null and b/fuzz/corpora/cmp/d19347742401467aa2a3bf95a867b10b93bbf4c5 differ diff --git a/fuzz/corpora/cmp/d1954dbc15388795b0c074143f47a09133665592 b/fuzz/corpora/cmp/d1954dbc15388795b0c074143f47a09133665592 new file mode 100644 index 00000000..17b0257b Binary files /dev/null and b/fuzz/corpora/cmp/d1954dbc15388795b0c074143f47a09133665592 differ diff --git a/fuzz/corpora/cmp/d19c3aee1cc0deb22cc9ed8d3b09c97cb6ae1168 b/fuzz/corpora/cmp/d19c3aee1cc0deb22cc9ed8d3b09c97cb6ae1168 new file mode 100644 index 00000000..5bcac94b Binary files /dev/null and b/fuzz/corpora/cmp/d19c3aee1cc0deb22cc9ed8d3b09c97cb6ae1168 differ diff --git a/fuzz/corpora/cmp/d1bbe0309665d1b292add016c0dd9e986d8393af b/fuzz/corpora/cmp/d1bbe0309665d1b292add016c0dd9e986d8393af new file mode 100644 index 00000000..73f51df0 Binary files /dev/null and b/fuzz/corpora/cmp/d1bbe0309665d1b292add016c0dd9e986d8393af differ diff --git a/fuzz/corpora/cmp/d1bf2bcfd8206ac7b5b842c4aef33f5df5daf744 b/fuzz/corpora/cmp/d1bf2bcfd8206ac7b5b842c4aef33f5df5daf744 new file mode 100644 index 00000000..2234cb1c Binary files /dev/null and b/fuzz/corpora/cmp/d1bf2bcfd8206ac7b5b842c4aef33f5df5daf744 differ diff --git a/fuzz/corpora/cmp/d1cc99971ef2e297652ef7b7a93b30db1d7ca724 b/fuzz/corpora/cmp/d1cc99971ef2e297652ef7b7a93b30db1d7ca724 new file mode 100644 index 00000000..48612233 Binary files /dev/null and b/fuzz/corpora/cmp/d1cc99971ef2e297652ef7b7a93b30db1d7ca724 differ diff --git a/fuzz/corpora/cmp/d1d28cf8b4bab319b110fa1417b037c4502843dc b/fuzz/corpora/cmp/d1d28cf8b4bab319b110fa1417b037c4502843dc new file mode 100644 index 00000000..48af5577 Binary files /dev/null and b/fuzz/corpora/cmp/d1d28cf8b4bab319b110fa1417b037c4502843dc differ diff --git a/fuzz/corpora/cmp/d1d3197589cefd7923903458b1386fe5319432ae b/fuzz/corpora/cmp/d1d3197589cefd7923903458b1386fe5319432ae new file mode 100644 index 00000000..1fd0b399 Binary files /dev/null and b/fuzz/corpora/cmp/d1d3197589cefd7923903458b1386fe5319432ae differ diff --git a/fuzz/corpora/cmp/d1e18d25b83472abffd21008c24ed6ae062ddc85 b/fuzz/corpora/cmp/d1e18d25b83472abffd21008c24ed6ae062ddc85 new file mode 100644 index 00000000..639643a7 Binary files /dev/null and b/fuzz/corpora/cmp/d1e18d25b83472abffd21008c24ed6ae062ddc85 differ diff --git a/fuzz/corpora/cmp/d1fae456ee5df81d96153bbdb7ba60f106937dca b/fuzz/corpora/cmp/d1fae456ee5df81d96153bbdb7ba60f106937dca new file mode 100644 index 00000000..c7e9cfb5 Binary files /dev/null and b/fuzz/corpora/cmp/d1fae456ee5df81d96153bbdb7ba60f106937dca differ diff --git a/fuzz/corpora/cmp/d205d9c8196887b0e1ab9cab5202cad986a9ab65 b/fuzz/corpora/cmp/d205d9c8196887b0e1ab9cab5202cad986a9ab65 new file mode 100644 index 00000000..49269989 Binary files /dev/null and b/fuzz/corpora/cmp/d205d9c8196887b0e1ab9cab5202cad986a9ab65 differ diff --git a/fuzz/corpora/cmp/d216104e484a906259da3ab7e31937809e9ef7de b/fuzz/corpora/cmp/d216104e484a906259da3ab7e31937809e9ef7de new file mode 100644 index 00000000..02a19bd5 Binary files /dev/null and b/fuzz/corpora/cmp/d216104e484a906259da3ab7e31937809e9ef7de differ diff --git a/fuzz/corpora/cmp/d21b502d47ea77023a3dfded75a54aad0eb1126d b/fuzz/corpora/cmp/d21b502d47ea77023a3dfded75a54aad0eb1126d new file mode 100644 index 00000000..26cee03b Binary files /dev/null and b/fuzz/corpora/cmp/d21b502d47ea77023a3dfded75a54aad0eb1126d differ diff --git a/fuzz/corpora/cmp/d23197516c31269741ac50da8c149d9fb74db0cb b/fuzz/corpora/cmp/d23197516c31269741ac50da8c149d9fb74db0cb new file mode 100644 index 00000000..0e2b50b8 Binary files /dev/null and b/fuzz/corpora/cmp/d23197516c31269741ac50da8c149d9fb74db0cb differ diff --git a/fuzz/corpora/cmp/d24dda030726379176815c82e2bb3505de5abed7 b/fuzz/corpora/cmp/d24dda030726379176815c82e2bb3505de5abed7 new file mode 100644 index 00000000..fbd87fbb Binary files /dev/null and b/fuzz/corpora/cmp/d24dda030726379176815c82e2bb3505de5abed7 differ diff --git a/fuzz/corpora/cmp/d25b2b6d4c1a729e54298e5b572a04e5ef4dca59 b/fuzz/corpora/cmp/d25b2b6d4c1a729e54298e5b572a04e5ef4dca59 new file mode 100644 index 00000000..af4ef1c7 Binary files /dev/null and b/fuzz/corpora/cmp/d25b2b6d4c1a729e54298e5b572a04e5ef4dca59 differ diff --git a/fuzz/corpora/cmp/d292e7de6831df9f9f2291413c932e1e0e0373b7 b/fuzz/corpora/cmp/d292e7de6831df9f9f2291413c932e1e0e0373b7 new file mode 100644 index 00000000..2c4c6271 Binary files /dev/null and b/fuzz/corpora/cmp/d292e7de6831df9f9f2291413c932e1e0e0373b7 differ diff --git a/fuzz/corpora/cmp/d29f776dca9dd69a678c335b6f93a1684f4e8377 b/fuzz/corpora/cmp/d29f776dca9dd69a678c335b6f93a1684f4e8377 new file mode 100644 index 00000000..08ddbd49 Binary files /dev/null and b/fuzz/corpora/cmp/d29f776dca9dd69a678c335b6f93a1684f4e8377 differ diff --git a/fuzz/corpora/cmp/d2a84c0fc5009310b05d9dcec769e39716a8bfb7 b/fuzz/corpora/cmp/d2a84c0fc5009310b05d9dcec769e39716a8bfb7 new file mode 100644 index 00000000..77099f67 Binary files /dev/null and b/fuzz/corpora/cmp/d2a84c0fc5009310b05d9dcec769e39716a8bfb7 differ diff --git a/fuzz/corpora/cmp/d2b8c6d0a9ca374a0c937876efdc5f9da8abc6c3 b/fuzz/corpora/cmp/d2b8c6d0a9ca374a0c937876efdc5f9da8abc6c3 new file mode 100644 index 00000000..57c78e70 Binary files /dev/null and b/fuzz/corpora/cmp/d2b8c6d0a9ca374a0c937876efdc5f9da8abc6c3 differ diff --git a/fuzz/corpora/cmp/d2ccb79ab77eda72e7a3ec638e69514c36c4e440 b/fuzz/corpora/cmp/d2ccb79ab77eda72e7a3ec638e69514c36c4e440 new file mode 100644 index 00000000..26273f6f Binary files /dev/null and b/fuzz/corpora/cmp/d2ccb79ab77eda72e7a3ec638e69514c36c4e440 differ diff --git a/fuzz/corpora/cmp/d2cdecdbf0aad40c1cde124364ed656a6dc81d68 b/fuzz/corpora/cmp/d2cdecdbf0aad40c1cde124364ed656a6dc81d68 new file mode 100644 index 00000000..c4678e06 Binary files /dev/null and b/fuzz/corpora/cmp/d2cdecdbf0aad40c1cde124364ed656a6dc81d68 differ diff --git a/fuzz/corpora/cmp/d2d02a57aebf1e990a7f641c9057769d79071936 b/fuzz/corpora/cmp/d2d02a57aebf1e990a7f641c9057769d79071936 new file mode 100644 index 00000000..8bcd85b8 Binary files /dev/null and b/fuzz/corpora/cmp/d2d02a57aebf1e990a7f641c9057769d79071936 differ diff --git a/fuzz/corpora/cmp/d2d7eaf8b8f20220205f7a4e40cb7fe9da1b2e5e b/fuzz/corpora/cmp/d2d7eaf8b8f20220205f7a4e40cb7fe9da1b2e5e new file mode 100644 index 00000000..ec0d2028 Binary files /dev/null and b/fuzz/corpora/cmp/d2d7eaf8b8f20220205f7a4e40cb7fe9da1b2e5e differ diff --git a/fuzz/corpora/cmp/d2f4d52967fb6f949f8f1cfef689a03b007ad2d4 b/fuzz/corpora/cmp/d2f4d52967fb6f949f8f1cfef689a03b007ad2d4 new file mode 100644 index 00000000..5a5c6a07 Binary files /dev/null and b/fuzz/corpora/cmp/d2f4d52967fb6f949f8f1cfef689a03b007ad2d4 differ diff --git a/fuzz/corpora/cmp/d2f547be2c1d57bb3a2ba1dc6bbfa0e70ec0208a b/fuzz/corpora/cmp/d2f547be2c1d57bb3a2ba1dc6bbfa0e70ec0208a new file mode 100644 index 00000000..ad31685d Binary files /dev/null and b/fuzz/corpora/cmp/d2f547be2c1d57bb3a2ba1dc6bbfa0e70ec0208a differ diff --git a/fuzz/corpora/cmp/d2fd578340717764f0e837fdc32786a23c4d8dc9 b/fuzz/corpora/cmp/d2fd578340717764f0e837fdc32786a23c4d8dc9 new file mode 100644 index 00000000..b0fe2578 Binary files /dev/null and b/fuzz/corpora/cmp/d2fd578340717764f0e837fdc32786a23c4d8dc9 differ diff --git a/fuzz/corpora/cmp/d309b188b6903a5ce1408e09c3a4d8c9a8a56138 b/fuzz/corpora/cmp/d309b188b6903a5ce1408e09c3a4d8c9a8a56138 new file mode 100644 index 00000000..d933bca4 Binary files /dev/null and b/fuzz/corpora/cmp/d309b188b6903a5ce1408e09c3a4d8c9a8a56138 differ diff --git a/fuzz/corpora/cmp/d312170b93ad748970784f50e7660587c2afd466 b/fuzz/corpora/cmp/d312170b93ad748970784f50e7660587c2afd466 new file mode 100644 index 00000000..2835ed34 Binary files /dev/null and b/fuzz/corpora/cmp/d312170b93ad748970784f50e7660587c2afd466 differ diff --git a/fuzz/corpora/cmp/d33c02627a647f1846ed89d83c551f5f3575dc66 b/fuzz/corpora/cmp/d33c02627a647f1846ed89d83c551f5f3575dc66 new file mode 100644 index 00000000..2a407cee Binary files /dev/null and b/fuzz/corpora/cmp/d33c02627a647f1846ed89d83c551f5f3575dc66 differ diff --git a/fuzz/corpora/cmp/d3403f8e72e4b635a88bd59177df10afdc23e226 b/fuzz/corpora/cmp/d3403f8e72e4b635a88bd59177df10afdc23e226 new file mode 100644 index 00000000..d79a3697 Binary files /dev/null and b/fuzz/corpora/cmp/d3403f8e72e4b635a88bd59177df10afdc23e226 differ diff --git a/fuzz/corpora/cmp/d34729cfa3f8b2ba0464b3c1b9cf2b37a1601731 b/fuzz/corpora/cmp/d34729cfa3f8b2ba0464b3c1b9cf2b37a1601731 new file mode 100644 index 00000000..81f7723e Binary files /dev/null and b/fuzz/corpora/cmp/d34729cfa3f8b2ba0464b3c1b9cf2b37a1601731 differ diff --git a/fuzz/corpora/cmp/d35275fa5b26a6ce9df898c99c0a10aeb56cf93d b/fuzz/corpora/cmp/d35275fa5b26a6ce9df898c99c0a10aeb56cf93d new file mode 100644 index 00000000..913d2fd9 Binary files /dev/null and b/fuzz/corpora/cmp/d35275fa5b26a6ce9df898c99c0a10aeb56cf93d differ diff --git a/fuzz/corpora/cmp/d35d8327cba24bde29a03b15773969c4048f2cb6 b/fuzz/corpora/cmp/d35d8327cba24bde29a03b15773969c4048f2cb6 new file mode 100644 index 00000000..00a40d55 Binary files /dev/null and b/fuzz/corpora/cmp/d35d8327cba24bde29a03b15773969c4048f2cb6 differ diff --git a/fuzz/corpora/cmp/d3680da1eb82d8dfb6dabed271494df83bf1c94a b/fuzz/corpora/cmp/d3680da1eb82d8dfb6dabed271494df83bf1c94a new file mode 100644 index 00000000..27123bbd Binary files /dev/null and b/fuzz/corpora/cmp/d3680da1eb82d8dfb6dabed271494df83bf1c94a differ diff --git a/fuzz/corpora/cmp/d38c937e70bb4e454562469fda84fa5f35837214 b/fuzz/corpora/cmp/d38c937e70bb4e454562469fda84fa5f35837214 new file mode 100644 index 00000000..5bd02593 Binary files /dev/null and b/fuzz/corpora/cmp/d38c937e70bb4e454562469fda84fa5f35837214 differ diff --git a/fuzz/corpora/cmp/d39d3633fb85fd14fca11930afb9295b9b46e52b b/fuzz/corpora/cmp/d39d3633fb85fd14fca11930afb9295b9b46e52b new file mode 100644 index 00000000..21adc36e Binary files /dev/null and b/fuzz/corpora/cmp/d39d3633fb85fd14fca11930afb9295b9b46e52b differ diff --git a/fuzz/corpora/cmp/d39f72c8c682ec4a07ce66a16d2b953760877b8c b/fuzz/corpora/cmp/d39f72c8c682ec4a07ce66a16d2b953760877b8c new file mode 100644 index 00000000..8bf5f762 Binary files /dev/null and b/fuzz/corpora/cmp/d39f72c8c682ec4a07ce66a16d2b953760877b8c differ diff --git a/fuzz/corpora/cmp/d3a3fd1e681a24121963f8dd91fb33231f46df39 b/fuzz/corpora/cmp/d3a3fd1e681a24121963f8dd91fb33231f46df39 new file mode 100644 index 00000000..f3f19995 Binary files /dev/null and b/fuzz/corpora/cmp/d3a3fd1e681a24121963f8dd91fb33231f46df39 differ diff --git a/fuzz/corpora/cmp/d3acb81275e3df7d44eaa4e9911e184e4ce4b32f b/fuzz/corpora/cmp/d3acb81275e3df7d44eaa4e9911e184e4ce4b32f new file mode 100644 index 00000000..56e45604 Binary files /dev/null and b/fuzz/corpora/cmp/d3acb81275e3df7d44eaa4e9911e184e4ce4b32f differ diff --git a/fuzz/corpora/cmp/d3c2d1f7bcd1b0943a01a8d82ff6a6ef5c78b045 b/fuzz/corpora/cmp/d3c2d1f7bcd1b0943a01a8d82ff6a6ef5c78b045 new file mode 100644 index 00000000..caced5da Binary files /dev/null and b/fuzz/corpora/cmp/d3c2d1f7bcd1b0943a01a8d82ff6a6ef5c78b045 differ diff --git a/fuzz/corpora/cmp/d3c4f3dc4af49494e9ec47e0aa7f49fb828a2581 b/fuzz/corpora/cmp/d3c4f3dc4af49494e9ec47e0aa7f49fb828a2581 new file mode 100644 index 00000000..f85cd580 Binary files /dev/null and b/fuzz/corpora/cmp/d3c4f3dc4af49494e9ec47e0aa7f49fb828a2581 differ diff --git a/fuzz/corpora/cmp/d3cf97fc0a98401aa13f3190e8c01d45f3c9571a b/fuzz/corpora/cmp/d3cf97fc0a98401aa13f3190e8c01d45f3c9571a new file mode 100644 index 00000000..4e032a03 Binary files /dev/null and b/fuzz/corpora/cmp/d3cf97fc0a98401aa13f3190e8c01d45f3c9571a differ diff --git a/fuzz/corpora/cmp/d3d4db22808b3858607c22299f8f1502eb82a4de b/fuzz/corpora/cmp/d3d4db22808b3858607c22299f8f1502eb82a4de new file mode 100644 index 00000000..489eddb4 Binary files /dev/null and b/fuzz/corpora/cmp/d3d4db22808b3858607c22299f8f1502eb82a4de differ diff --git a/fuzz/corpora/cmp/d3e5106d7700ad256773b08138d065f4518d19cd b/fuzz/corpora/cmp/d3e5106d7700ad256773b08138d065f4518d19cd new file mode 100644 index 00000000..14c1f378 Binary files /dev/null and b/fuzz/corpora/cmp/d3e5106d7700ad256773b08138d065f4518d19cd differ diff --git a/fuzz/corpora/cmp/d3e6b630cc81e8015856a221de640b476f09ede1 b/fuzz/corpora/cmp/d3e6b630cc81e8015856a221de640b476f09ede1 new file mode 100644 index 00000000..c98d8094 Binary files /dev/null and b/fuzz/corpora/cmp/d3e6b630cc81e8015856a221de640b476f09ede1 differ diff --git a/fuzz/corpora/cmp/d3fb86bb4d215c2282d3037cd704504b75e03693 b/fuzz/corpora/cmp/d3fb86bb4d215c2282d3037cd704504b75e03693 new file mode 100644 index 00000000..c27e814e Binary files /dev/null and b/fuzz/corpora/cmp/d3fb86bb4d215c2282d3037cd704504b75e03693 differ diff --git a/fuzz/corpora/cmp/d3fc64aaae5c1782ac8aaa1431379571a0d0d998 b/fuzz/corpora/cmp/d3fc64aaae5c1782ac8aaa1431379571a0d0d998 new file mode 100644 index 00000000..226782ca Binary files /dev/null and b/fuzz/corpora/cmp/d3fc64aaae5c1782ac8aaa1431379571a0d0d998 differ diff --git a/fuzz/corpora/cmp/d414dc9d7edd560cfe47fca727563424a3f64338 b/fuzz/corpora/cmp/d414dc9d7edd560cfe47fca727563424a3f64338 new file mode 100644 index 00000000..a29f3634 Binary files /dev/null and b/fuzz/corpora/cmp/d414dc9d7edd560cfe47fca727563424a3f64338 differ diff --git a/fuzz/corpora/cmp/d4163652b466e583b3bcbbe1f432a22129def500 b/fuzz/corpora/cmp/d4163652b466e583b3bcbbe1f432a22129def500 new file mode 100644 index 00000000..2453103a Binary files /dev/null and b/fuzz/corpora/cmp/d4163652b466e583b3bcbbe1f432a22129def500 differ diff --git a/fuzz/corpora/cmp/d43829d6c9ff3e1e90108813befd7a57571fadd3 b/fuzz/corpora/cmp/d43829d6c9ff3e1e90108813befd7a57571fadd3 new file mode 100644 index 00000000..4cd82b1f Binary files /dev/null and b/fuzz/corpora/cmp/d43829d6c9ff3e1e90108813befd7a57571fadd3 differ diff --git a/fuzz/corpora/cmp/d45f58c2d0450eee471128a922e355a0bf4e9afc b/fuzz/corpora/cmp/d45f58c2d0450eee471128a922e355a0bf4e9afc new file mode 100644 index 00000000..886c9547 Binary files /dev/null and b/fuzz/corpora/cmp/d45f58c2d0450eee471128a922e355a0bf4e9afc differ diff --git a/fuzz/corpora/cmp/d467e985e8a802dafa229b02997a23876bdbde01 b/fuzz/corpora/cmp/d467e985e8a802dafa229b02997a23876bdbde01 new file mode 100644 index 00000000..57d3b00e Binary files /dev/null and b/fuzz/corpora/cmp/d467e985e8a802dafa229b02997a23876bdbde01 differ diff --git a/fuzz/corpora/cmp/d46fe08d6ac4119c017bdee8336cd82624133f75 b/fuzz/corpora/cmp/d46fe08d6ac4119c017bdee8336cd82624133f75 new file mode 100644 index 00000000..91f50df8 Binary files /dev/null and b/fuzz/corpora/cmp/d46fe08d6ac4119c017bdee8336cd82624133f75 differ diff --git a/fuzz/corpora/cmp/d47aa4f9a74926c21f9b0ebf44934536ed7e2bec b/fuzz/corpora/cmp/d47aa4f9a74926c21f9b0ebf44934536ed7e2bec new file mode 100644 index 00000000..68eca466 Binary files /dev/null and b/fuzz/corpora/cmp/d47aa4f9a74926c21f9b0ebf44934536ed7e2bec differ diff --git a/fuzz/corpora/cmp/d48f10d90349a33e34fbce49aad8fe1a39e20278 b/fuzz/corpora/cmp/d48f10d90349a33e34fbce49aad8fe1a39e20278 new file mode 100644 index 00000000..050e5935 Binary files /dev/null and b/fuzz/corpora/cmp/d48f10d90349a33e34fbce49aad8fe1a39e20278 differ diff --git a/fuzz/corpora/cmp/d49318be92fa9d496a5abb631f6b6f2989a4b517 b/fuzz/corpora/cmp/d49318be92fa9d496a5abb631f6b6f2989a4b517 new file mode 100644 index 00000000..d8326102 Binary files /dev/null and b/fuzz/corpora/cmp/d49318be92fa9d496a5abb631f6b6f2989a4b517 differ diff --git a/fuzz/corpora/cmp/d4b646b6617be060078edccfa30efac0ab9c5e38 b/fuzz/corpora/cmp/d4b646b6617be060078edccfa30efac0ab9c5e38 new file mode 100644 index 00000000..50db54e4 Binary files /dev/null and b/fuzz/corpora/cmp/d4b646b6617be060078edccfa30efac0ab9c5e38 differ diff --git a/fuzz/corpora/cmp/d4c1bd24473440f3ec33438a7bcb6604d0db6c6f b/fuzz/corpora/cmp/d4c1bd24473440f3ec33438a7bcb6604d0db6c6f new file mode 100644 index 00000000..fa49bf35 Binary files /dev/null and b/fuzz/corpora/cmp/d4c1bd24473440f3ec33438a7bcb6604d0db6c6f differ diff --git a/fuzz/corpora/cmp/d4c1fc843becbf4896bdfc05b9a9a81269836c2a b/fuzz/corpora/cmp/d4c1fc843becbf4896bdfc05b9a9a81269836c2a new file mode 100644 index 00000000..608b8b94 Binary files /dev/null and b/fuzz/corpora/cmp/d4c1fc843becbf4896bdfc05b9a9a81269836c2a differ diff --git a/fuzz/corpora/cmp/d4c7189c3ba199f5b4fedbd72b63ca1a27090ffd b/fuzz/corpora/cmp/d4c7189c3ba199f5b4fedbd72b63ca1a27090ffd new file mode 100644 index 00000000..ae9d61c3 Binary files /dev/null and b/fuzz/corpora/cmp/d4c7189c3ba199f5b4fedbd72b63ca1a27090ffd differ diff --git a/fuzz/corpora/cmp/d4dce831a9ed221979cc1c46456f4d08947f6863 b/fuzz/corpora/cmp/d4dce831a9ed221979cc1c46456f4d08947f6863 new file mode 100644 index 00000000..ae9fd257 Binary files /dev/null and b/fuzz/corpora/cmp/d4dce831a9ed221979cc1c46456f4d08947f6863 differ diff --git a/fuzz/corpora/cmp/d4dd2cc5fb5a7c6053be57060e51c2a370796938 b/fuzz/corpora/cmp/d4dd2cc5fb5a7c6053be57060e51c2a370796938 new file mode 100644 index 00000000..54eb140f --- /dev/null +++ b/fuzz/corpora/cmp/d4dd2cc5fb5a7c6053be57060e51c2a370796938 @@ -0,0 +1 @@ +„„„„¿‹¶ \ No newline at end of file diff --git a/fuzz/corpora/cmp/d4f4557ee68909cc55a3288f30ae5c7cac883fce b/fuzz/corpora/cmp/d4f4557ee68909cc55a3288f30ae5c7cac883fce new file mode 100644 index 00000000..8862e575 Binary files /dev/null and b/fuzz/corpora/cmp/d4f4557ee68909cc55a3288f30ae5c7cac883fce differ diff --git a/fuzz/corpora/cmp/d4fcd2ca12705d4c7dbfff5d7b3c9fae4e233334 b/fuzz/corpora/cmp/d4fcd2ca12705d4c7dbfff5d7b3c9fae4e233334 new file mode 100644 index 00000000..e6da8181 Binary files /dev/null and b/fuzz/corpora/cmp/d4fcd2ca12705d4c7dbfff5d7b3c9fae4e233334 differ diff --git a/fuzz/corpora/cmp/d50241a2ea414f7bc143105a46cf74ffe8b7fd8f b/fuzz/corpora/cmp/d50241a2ea414f7bc143105a46cf74ffe8b7fd8f new file mode 100644 index 00000000..9e2435ea Binary files /dev/null and b/fuzz/corpora/cmp/d50241a2ea414f7bc143105a46cf74ffe8b7fd8f differ diff --git a/fuzz/corpora/cmp/d52749d82a306ae95a2596f217ff0f2421709480 b/fuzz/corpora/cmp/d52749d82a306ae95a2596f217ff0f2421709480 new file mode 100644 index 00000000..609d554b Binary files /dev/null and b/fuzz/corpora/cmp/d52749d82a306ae95a2596f217ff0f2421709480 differ diff --git a/fuzz/corpora/cmp/d541169349171008876de68a44bc1e96632d9581 b/fuzz/corpora/cmp/d541169349171008876de68a44bc1e96632d9581 new file mode 100644 index 00000000..a339c356 Binary files /dev/null and b/fuzz/corpora/cmp/d541169349171008876de68a44bc1e96632d9581 differ diff --git a/fuzz/corpora/cmp/d54d43e47ad46e8be5c760279d49336c1d609af4 b/fuzz/corpora/cmp/d54d43e47ad46e8be5c760279d49336c1d609af4 new file mode 100644 index 00000000..2628d560 Binary files /dev/null and b/fuzz/corpora/cmp/d54d43e47ad46e8be5c760279d49336c1d609af4 differ diff --git a/fuzz/corpora/cmp/d57273c82687a145c9efdd4dcfde5d72fcdf86e0 b/fuzz/corpora/cmp/d57273c82687a145c9efdd4dcfde5d72fcdf86e0 new file mode 100644 index 00000000..ed855085 Binary files /dev/null and b/fuzz/corpora/cmp/d57273c82687a145c9efdd4dcfde5d72fcdf86e0 differ diff --git a/fuzz/corpora/cmp/d5729ccdd16b4cfefbf2debe9cc592516c3210c4 b/fuzz/corpora/cmp/d5729ccdd16b4cfefbf2debe9cc592516c3210c4 new file mode 100644 index 00000000..76a8e33c Binary files /dev/null and b/fuzz/corpora/cmp/d5729ccdd16b4cfefbf2debe9cc592516c3210c4 differ diff --git a/fuzz/corpora/cmp/d58a42ff3bda2c66e4be796d86983266efbd1097 b/fuzz/corpora/cmp/d58a42ff3bda2c66e4be796d86983266efbd1097 new file mode 100644 index 00000000..a689dc60 Binary files /dev/null and b/fuzz/corpora/cmp/d58a42ff3bda2c66e4be796d86983266efbd1097 differ diff --git a/fuzz/corpora/cmp/d5b5aacfd44998b79d756ec12311a4469b24632b b/fuzz/corpora/cmp/d5b5aacfd44998b79d756ec12311a4469b24632b new file mode 100644 index 00000000..b735881f Binary files /dev/null and b/fuzz/corpora/cmp/d5b5aacfd44998b79d756ec12311a4469b24632b differ diff --git a/fuzz/corpora/cmp/d5bfdf7dfa23b7c9d5d1488d1b6d08299db624a5 b/fuzz/corpora/cmp/d5bfdf7dfa23b7c9d5d1488d1b6d08299db624a5 new file mode 100644 index 00000000..413bc7c8 Binary files /dev/null and b/fuzz/corpora/cmp/d5bfdf7dfa23b7c9d5d1488d1b6d08299db624a5 differ diff --git a/fuzz/corpora/cmp/d5d7425dcffefa8e0ddc6d0c3d57942f460dce4e b/fuzz/corpora/cmp/d5d7425dcffefa8e0ddc6d0c3d57942f460dce4e new file mode 100644 index 00000000..eafba035 Binary files /dev/null and b/fuzz/corpora/cmp/d5d7425dcffefa8e0ddc6d0c3d57942f460dce4e differ diff --git a/fuzz/corpora/cmp/d5f504fccce59b4ecff7d68216cd1512be136083 b/fuzz/corpora/cmp/d5f504fccce59b4ecff7d68216cd1512be136083 new file mode 100644 index 00000000..b3f51216 Binary files /dev/null and b/fuzz/corpora/cmp/d5f504fccce59b4ecff7d68216cd1512be136083 differ diff --git a/fuzz/corpora/cmp/d5fa00eb6fce2a0d21b31e97957592789e40331a b/fuzz/corpora/cmp/d5fa00eb6fce2a0d21b31e97957592789e40331a new file mode 100644 index 00000000..9436ad50 Binary files /dev/null and b/fuzz/corpora/cmp/d5fa00eb6fce2a0d21b31e97957592789e40331a differ diff --git a/fuzz/corpora/cmp/d60ad4cb04c0ccc10c71cf9d366a3f98438e3a4b b/fuzz/corpora/cmp/d60ad4cb04c0ccc10c71cf9d366a3f98438e3a4b new file mode 100644 index 00000000..59fab121 Binary files /dev/null and b/fuzz/corpora/cmp/d60ad4cb04c0ccc10c71cf9d366a3f98438e3a4b differ diff --git a/fuzz/corpora/cmp/d611b65bbe834d2e9bc598e57825843d35ef9f5c b/fuzz/corpora/cmp/d611b65bbe834d2e9bc598e57825843d35ef9f5c new file mode 100644 index 00000000..1f2c7918 Binary files /dev/null and b/fuzz/corpora/cmp/d611b65bbe834d2e9bc598e57825843d35ef9f5c differ diff --git a/fuzz/corpora/cmp/d6289dd0f6bf83c1ffdceb0212534df0417d4062 b/fuzz/corpora/cmp/d6289dd0f6bf83c1ffdceb0212534df0417d4062 new file mode 100644 index 00000000..ba915e49 Binary files /dev/null and b/fuzz/corpora/cmp/d6289dd0f6bf83c1ffdceb0212534df0417d4062 differ diff --git a/fuzz/corpora/cmp/d628f4592909a32172c5f30382b74e89df6f2bac b/fuzz/corpora/cmp/d628f4592909a32172c5f30382b74e89df6f2bac new file mode 100644 index 00000000..8aaabef8 Binary files /dev/null and b/fuzz/corpora/cmp/d628f4592909a32172c5f30382b74e89df6f2bac differ diff --git a/fuzz/corpora/cmp/d64ed219fdc6fba0f043b944b0ea574e1e13e5eb b/fuzz/corpora/cmp/d64ed219fdc6fba0f043b944b0ea574e1e13e5eb new file mode 100644 index 00000000..f855d609 Binary files /dev/null and b/fuzz/corpora/cmp/d64ed219fdc6fba0f043b944b0ea574e1e13e5eb differ diff --git a/fuzz/corpora/cmp/d65901263669824950e62ce98a6c29dcd08bb00d b/fuzz/corpora/cmp/d65901263669824950e62ce98a6c29dcd08bb00d new file mode 100644 index 00000000..2c12ba79 Binary files /dev/null and b/fuzz/corpora/cmp/d65901263669824950e62ce98a6c29dcd08bb00d differ diff --git a/fuzz/corpora/cmp/d65dd0683af5dcd3dbbfc15d5f56b6f1531fa202 b/fuzz/corpora/cmp/d65dd0683af5dcd3dbbfc15d5f56b6f1531fa202 new file mode 100644 index 00000000..3721651a Binary files /dev/null and b/fuzz/corpora/cmp/d65dd0683af5dcd3dbbfc15d5f56b6f1531fa202 differ diff --git a/fuzz/corpora/cmp/d6860439a76fa98af6d184aa3300bf5cf81d598e b/fuzz/corpora/cmp/d6860439a76fa98af6d184aa3300bf5cf81d598e new file mode 100644 index 00000000..2f35d888 Binary files /dev/null and b/fuzz/corpora/cmp/d6860439a76fa98af6d184aa3300bf5cf81d598e differ diff --git a/fuzz/corpora/cmp/d6b42cb344e51316bf3371cef5027f7ae34ba5bd b/fuzz/corpora/cmp/d6b42cb344e51316bf3371cef5027f7ae34ba5bd new file mode 100644 index 00000000..06793f47 Binary files /dev/null and b/fuzz/corpora/cmp/d6b42cb344e51316bf3371cef5027f7ae34ba5bd differ diff --git a/fuzz/corpora/cmp/d6cd88951edc136184afcbe70dfdaa4d179bb23f b/fuzz/corpora/cmp/d6cd88951edc136184afcbe70dfdaa4d179bb23f new file mode 100644 index 00000000..c699790e Binary files /dev/null and b/fuzz/corpora/cmp/d6cd88951edc136184afcbe70dfdaa4d179bb23f differ diff --git a/fuzz/corpora/cmp/d6d0e1b6d6b796e55789d662dffd55154e538efd b/fuzz/corpora/cmp/d6d0e1b6d6b796e55789d662dffd55154e538efd new file mode 100644 index 00000000..0d46fe4f Binary files /dev/null and b/fuzz/corpora/cmp/d6d0e1b6d6b796e55789d662dffd55154e538efd differ diff --git a/fuzz/corpora/cmp/d6dbb2b41577be14b625f768cc468463edf14cd9 b/fuzz/corpora/cmp/d6dbb2b41577be14b625f768cc468463edf14cd9 new file mode 100644 index 00000000..1a874858 Binary files /dev/null and b/fuzz/corpora/cmp/d6dbb2b41577be14b625f768cc468463edf14cd9 differ diff --git a/fuzz/corpora/cmp/d6de54d437c335a2c5bfbc79fd5a70976ea84107 b/fuzz/corpora/cmp/d6de54d437c335a2c5bfbc79fd5a70976ea84107 new file mode 100644 index 00000000..b1b19c4c Binary files /dev/null and b/fuzz/corpora/cmp/d6de54d437c335a2c5bfbc79fd5a70976ea84107 differ diff --git a/fuzz/corpora/cmp/d6e9f139e1c7cfdb43e1b88a4c9096a6952bcde3 b/fuzz/corpora/cmp/d6e9f139e1c7cfdb43e1b88a4c9096a6952bcde3 new file mode 100644 index 00000000..a6c063b3 Binary files /dev/null and b/fuzz/corpora/cmp/d6e9f139e1c7cfdb43e1b88a4c9096a6952bcde3 differ diff --git a/fuzz/corpora/cmp/d6f7c003284cd184aa031a1f967a6c9a337e6062 b/fuzz/corpora/cmp/d6f7c003284cd184aa031a1f967a6c9a337e6062 new file mode 100644 index 00000000..baf51e9e Binary files /dev/null and b/fuzz/corpora/cmp/d6f7c003284cd184aa031a1f967a6c9a337e6062 differ diff --git a/fuzz/corpora/cmp/d6f9e387ea6b3da85cbb34099ff167f32f59356e b/fuzz/corpora/cmp/d6f9e387ea6b3da85cbb34099ff167f32f59356e new file mode 100644 index 00000000..fb16ec0f Binary files /dev/null and b/fuzz/corpora/cmp/d6f9e387ea6b3da85cbb34099ff167f32f59356e differ diff --git a/fuzz/corpora/cmp/d7104e18e0ef0dd4a84a69da4b868a4ec248a896 b/fuzz/corpora/cmp/d7104e18e0ef0dd4a84a69da4b868a4ec248a896 new file mode 100644 index 00000000..12d7b76b Binary files /dev/null and b/fuzz/corpora/cmp/d7104e18e0ef0dd4a84a69da4b868a4ec248a896 differ diff --git a/fuzz/corpora/cmp/d727b8cc255efe3087cf1a260183fff4af343a64 b/fuzz/corpora/cmp/d727b8cc255efe3087cf1a260183fff4af343a64 new file mode 100644 index 00000000..1e096b27 Binary files /dev/null and b/fuzz/corpora/cmp/d727b8cc255efe3087cf1a260183fff4af343a64 differ diff --git a/fuzz/corpora/cmp/d72f3e820a957acef7c057ca7efcf2c3fc726abc b/fuzz/corpora/cmp/d72f3e820a957acef7c057ca7efcf2c3fc726abc new file mode 100644 index 00000000..87dce33c Binary files /dev/null and b/fuzz/corpora/cmp/d72f3e820a957acef7c057ca7efcf2c3fc726abc differ diff --git a/fuzz/corpora/cmp/d733ad43fd8dc02fee52498d27deeb7f1f3cc804 b/fuzz/corpora/cmp/d733ad43fd8dc02fee52498d27deeb7f1f3cc804 new file mode 100644 index 00000000..b62cb0f9 Binary files /dev/null and b/fuzz/corpora/cmp/d733ad43fd8dc02fee52498d27deeb7f1f3cc804 differ diff --git a/fuzz/corpora/cmp/d7469699cb2fb69cdc0e5d1f3cc611857e32742a b/fuzz/corpora/cmp/d7469699cb2fb69cdc0e5d1f3cc611857e32742a new file mode 100644 index 00000000..4872db83 Binary files /dev/null and b/fuzz/corpora/cmp/d7469699cb2fb69cdc0e5d1f3cc611857e32742a differ diff --git a/fuzz/corpora/cmp/d74f21114117e10eff0e4b4fa2c5957ca6d3207a b/fuzz/corpora/cmp/d74f21114117e10eff0e4b4fa2c5957ca6d3207a new file mode 100644 index 00000000..f8279e0b Binary files /dev/null and b/fuzz/corpora/cmp/d74f21114117e10eff0e4b4fa2c5957ca6d3207a differ diff --git a/fuzz/corpora/cmp/d750e96d7ca206a86dfd0f9266521441cee5837a b/fuzz/corpora/cmp/d750e96d7ca206a86dfd0f9266521441cee5837a new file mode 100644 index 00000000..acd5084c Binary files /dev/null and b/fuzz/corpora/cmp/d750e96d7ca206a86dfd0f9266521441cee5837a differ diff --git a/fuzz/corpora/cmp/d7652cf6263e85af7ac941059a1ac9908c187db9 b/fuzz/corpora/cmp/d7652cf6263e85af7ac941059a1ac9908c187db9 new file mode 100644 index 00000000..61870934 Binary files /dev/null and b/fuzz/corpora/cmp/d7652cf6263e85af7ac941059a1ac9908c187db9 differ diff --git a/fuzz/corpora/cmp/d76ad48fc4ae8200d58e48c6ed990ee12775fb6f b/fuzz/corpora/cmp/d76ad48fc4ae8200d58e48c6ed990ee12775fb6f new file mode 100644 index 00000000..54df5649 Binary files /dev/null and b/fuzz/corpora/cmp/d76ad48fc4ae8200d58e48c6ed990ee12775fb6f differ diff --git a/fuzz/corpora/cmp/d7703dbaf40c5f2978d94eac39cfd554ed1c2b49 b/fuzz/corpora/cmp/d7703dbaf40c5f2978d94eac39cfd554ed1c2b49 new file mode 100644 index 00000000..e4f7911f Binary files /dev/null and b/fuzz/corpora/cmp/d7703dbaf40c5f2978d94eac39cfd554ed1c2b49 differ diff --git a/fuzz/corpora/cmp/d7727d1ce5e81c3498bdf396905718de9156a872 b/fuzz/corpora/cmp/d7727d1ce5e81c3498bdf396905718de9156a872 new file mode 100644 index 00000000..053db90f Binary files /dev/null and b/fuzz/corpora/cmp/d7727d1ce5e81c3498bdf396905718de9156a872 differ diff --git a/fuzz/corpora/cmp/d77602300780ddd1a9eed4581f5029d6d19510f2 b/fuzz/corpora/cmp/d77602300780ddd1a9eed4581f5029d6d19510f2 new file mode 100644 index 00000000..b2ede6f9 Binary files /dev/null and b/fuzz/corpora/cmp/d77602300780ddd1a9eed4581f5029d6d19510f2 differ diff --git a/fuzz/corpora/cmp/d77aa01fddd2234ac0e2ad75b47aeb71d37b6d0a b/fuzz/corpora/cmp/d77aa01fddd2234ac0e2ad75b47aeb71d37b6d0a new file mode 100644 index 00000000..2c1fb9e2 Binary files /dev/null and b/fuzz/corpora/cmp/d77aa01fddd2234ac0e2ad75b47aeb71d37b6d0a differ diff --git a/fuzz/corpora/cmp/d77aeb393e399066cdff1c2d662b7643d0c8a0f6 b/fuzz/corpora/cmp/d77aeb393e399066cdff1c2d662b7643d0c8a0f6 new file mode 100644 index 00000000..c077acaf Binary files /dev/null and b/fuzz/corpora/cmp/d77aeb393e399066cdff1c2d662b7643d0c8a0f6 differ diff --git a/fuzz/corpora/cmp/d78bfd785b88d794d303d059940aa84f418c7a72 b/fuzz/corpora/cmp/d78bfd785b88d794d303d059940aa84f418c7a72 new file mode 100644 index 00000000..e02df019 Binary files /dev/null and b/fuzz/corpora/cmp/d78bfd785b88d794d303d059940aa84f418c7a72 differ diff --git a/fuzz/corpora/cmp/d78fcfffc525546cecbdd81efbf08166d09f65de b/fuzz/corpora/cmp/d78fcfffc525546cecbdd81efbf08166d09f65de new file mode 100644 index 00000000..344d9bf7 Binary files /dev/null and b/fuzz/corpora/cmp/d78fcfffc525546cecbdd81efbf08166d09f65de differ diff --git a/fuzz/corpora/cmp/d7910856965d1e6aed477647b3884dc082592f20 b/fuzz/corpora/cmp/d7910856965d1e6aed477647b3884dc082592f20 new file mode 100644 index 00000000..498e5a98 --- /dev/null +++ b/fuzz/corpora/cmp/d7910856965d1e6aed477647b3884dc082592f20 @@ -0,0 +1 @@ +00€ \ No newline at end of file diff --git a/fuzz/corpora/cmp/d7b3e3a8cc961c1286d5c8f0f90fe1ed56adb3df b/fuzz/corpora/cmp/d7b3e3a8cc961c1286d5c8f0f90fe1ed56adb3df new file mode 100644 index 00000000..691bf29a Binary files /dev/null and b/fuzz/corpora/cmp/d7b3e3a8cc961c1286d5c8f0f90fe1ed56adb3df differ diff --git a/fuzz/corpora/cmp/d7d815bf1ee8f6a5d366e3c370dab216bb2ef8bb b/fuzz/corpora/cmp/d7d815bf1ee8f6a5d366e3c370dab216bb2ef8bb new file mode 100644 index 00000000..330e7719 Binary files /dev/null and b/fuzz/corpora/cmp/d7d815bf1ee8f6a5d366e3c370dab216bb2ef8bb differ diff --git a/fuzz/corpora/cmp/d804faa5cf5f6a971869a101314c3bc31a4a3474 b/fuzz/corpora/cmp/d804faa5cf5f6a971869a101314c3bc31a4a3474 new file mode 100644 index 00000000..cccf8ded Binary files /dev/null and b/fuzz/corpora/cmp/d804faa5cf5f6a971869a101314c3bc31a4a3474 differ diff --git a/fuzz/corpora/cmp/d80f36ff8b447517debd683ece2e47f8063da474 b/fuzz/corpora/cmp/d80f36ff8b447517debd683ece2e47f8063da474 new file mode 100644 index 00000000..fd26de00 Binary files /dev/null and b/fuzz/corpora/cmp/d80f36ff8b447517debd683ece2e47f8063da474 differ diff --git a/fuzz/corpora/cmp/d82c501a2e584226f964a8875b4dc3f9fc9d5fe3 b/fuzz/corpora/cmp/d82c501a2e584226f964a8875b4dc3f9fc9d5fe3 new file mode 100644 index 00000000..935d09d9 Binary files /dev/null and b/fuzz/corpora/cmp/d82c501a2e584226f964a8875b4dc3f9fc9d5fe3 differ diff --git a/fuzz/corpora/cmp/d836029da7a8fd701630c3654116a29cb1b26573 b/fuzz/corpora/cmp/d836029da7a8fd701630c3654116a29cb1b26573 new file mode 100644 index 00000000..047d5877 Binary files /dev/null and b/fuzz/corpora/cmp/d836029da7a8fd701630c3654116a29cb1b26573 differ diff --git a/fuzz/corpora/cmp/d8418e9d33a06f301c98cd8a8fe676e754b525ea b/fuzz/corpora/cmp/d8418e9d33a06f301c98cd8a8fe676e754b525ea new file mode 100644 index 00000000..d57f6192 Binary files /dev/null and b/fuzz/corpora/cmp/d8418e9d33a06f301c98cd8a8fe676e754b525ea differ diff --git a/fuzz/corpora/cmp/d8611ec4d44589552add784ef8b7110570007f32 b/fuzz/corpora/cmp/d8611ec4d44589552add784ef8b7110570007f32 new file mode 100644 index 00000000..eff58b02 Binary files /dev/null and b/fuzz/corpora/cmp/d8611ec4d44589552add784ef8b7110570007f32 differ diff --git a/fuzz/corpora/cmp/d86985c0a48e8112d750ca8adfcc5f3e7315d0ce b/fuzz/corpora/cmp/d86985c0a48e8112d750ca8adfcc5f3e7315d0ce new file mode 100644 index 00000000..0302da58 Binary files /dev/null and b/fuzz/corpora/cmp/d86985c0a48e8112d750ca8adfcc5f3e7315d0ce differ diff --git a/fuzz/corpora/cmp/d88548f5260365996b8e9236f89239e1202e9304 b/fuzz/corpora/cmp/d88548f5260365996b8e9236f89239e1202e9304 new file mode 100644 index 00000000..dfb9d8df Binary files /dev/null and b/fuzz/corpora/cmp/d88548f5260365996b8e9236f89239e1202e9304 differ diff --git a/fuzz/corpora/cmp/d887a9cf5fb6d1439a74159edafa981323b6a554 b/fuzz/corpora/cmp/d887a9cf5fb6d1439a74159edafa981323b6a554 new file mode 100644 index 00000000..52baa72d Binary files /dev/null and b/fuzz/corpora/cmp/d887a9cf5fb6d1439a74159edafa981323b6a554 differ diff --git a/fuzz/corpora/cmp/d88ca26add4a7c813858b38a01d0f39547e1abc4 b/fuzz/corpora/cmp/d88ca26add4a7c813858b38a01d0f39547e1abc4 new file mode 100644 index 00000000..6ecc7cc6 Binary files /dev/null and b/fuzz/corpora/cmp/d88ca26add4a7c813858b38a01d0f39547e1abc4 differ diff --git a/fuzz/corpora/cmp/d898da886c25df4fcf94fa16794b628dfaab65c6 b/fuzz/corpora/cmp/d898da886c25df4fcf94fa16794b628dfaab65c6 new file mode 100644 index 00000000..18782e09 Binary files /dev/null and b/fuzz/corpora/cmp/d898da886c25df4fcf94fa16794b628dfaab65c6 differ diff --git a/fuzz/corpora/cmp/d8a0e151c84fab18c95bbcc55589d341b35415b2 b/fuzz/corpora/cmp/d8a0e151c84fab18c95bbcc55589d341b35415b2 new file mode 100644 index 00000000..03266dbf Binary files /dev/null and b/fuzz/corpora/cmp/d8a0e151c84fab18c95bbcc55589d341b35415b2 differ diff --git a/fuzz/corpora/cmp/d8a2e29a45514a65b3369b72a47f0565ae6a73aa b/fuzz/corpora/cmp/d8a2e29a45514a65b3369b72a47f0565ae6a73aa new file mode 100644 index 00000000..ee62d761 Binary files /dev/null and b/fuzz/corpora/cmp/d8a2e29a45514a65b3369b72a47f0565ae6a73aa differ diff --git a/fuzz/corpora/cmp/d8d6646b6b045a9d8c85c723f5e130b155f6ba0e b/fuzz/corpora/cmp/d8d6646b6b045a9d8c85c723f5e130b155f6ba0e new file mode 100644 index 00000000..7d6410d2 Binary files /dev/null and b/fuzz/corpora/cmp/d8d6646b6b045a9d8c85c723f5e130b155f6ba0e differ diff --git a/fuzz/corpora/cmp/d8d91cb84b2d55cff5493ab20aaccb93062ed8f3 b/fuzz/corpora/cmp/d8d91cb84b2d55cff5493ab20aaccb93062ed8f3 new file mode 100644 index 00000000..898a3b60 Binary files /dev/null and b/fuzz/corpora/cmp/d8d91cb84b2d55cff5493ab20aaccb93062ed8f3 differ diff --git a/fuzz/corpora/cmp/d8e711cefebf600f419a5edbf470ea46aad16e46 b/fuzz/corpora/cmp/d8e711cefebf600f419a5edbf470ea46aad16e46 new file mode 100644 index 00000000..6b58accc Binary files /dev/null and b/fuzz/corpora/cmp/d8e711cefebf600f419a5edbf470ea46aad16e46 differ diff --git a/fuzz/corpora/cmp/d8f2b9eae03293c76d0b1a68ba57ce983d38d569 b/fuzz/corpora/cmp/d8f2b9eae03293c76d0b1a68ba57ce983d38d569 new file mode 100644 index 00000000..0f28857c Binary files /dev/null and b/fuzz/corpora/cmp/d8f2b9eae03293c76d0b1a68ba57ce983d38d569 differ diff --git a/fuzz/corpora/cmp/d8f4425bd95a4c4006b114dcb0de0bd394d3f08d b/fuzz/corpora/cmp/d8f4425bd95a4c4006b114dcb0de0bd394d3f08d new file mode 100644 index 00000000..1e4d1a34 Binary files /dev/null and b/fuzz/corpora/cmp/d8f4425bd95a4c4006b114dcb0de0bd394d3f08d differ diff --git a/fuzz/corpora/cmp/d8f4483e3fa202a86e7587194fba0a3159d28a99 b/fuzz/corpora/cmp/d8f4483e3fa202a86e7587194fba0a3159d28a99 new file mode 100644 index 00000000..9d6900de Binary files /dev/null and b/fuzz/corpora/cmp/d8f4483e3fa202a86e7587194fba0a3159d28a99 differ diff --git a/fuzz/corpora/cmp/d8fa24a7ab8b26f33021a656628f212454ee335d b/fuzz/corpora/cmp/d8fa24a7ab8b26f33021a656628f212454ee335d new file mode 100644 index 00000000..654a5650 Binary files /dev/null and b/fuzz/corpora/cmp/d8fa24a7ab8b26f33021a656628f212454ee335d differ diff --git a/fuzz/corpora/cmp/d9113a62498eea1ab46aff15368c7eebf4d3037c b/fuzz/corpora/cmp/d9113a62498eea1ab46aff15368c7eebf4d3037c new file mode 100644 index 00000000..16515d1c Binary files /dev/null and b/fuzz/corpora/cmp/d9113a62498eea1ab46aff15368c7eebf4d3037c differ diff --git a/fuzz/corpora/cmp/d926bfd2f1898e99de2e7ab59ef820c2f40a0e55 b/fuzz/corpora/cmp/d926bfd2f1898e99de2e7ab59ef820c2f40a0e55 new file mode 100644 index 00000000..47031586 Binary files /dev/null and b/fuzz/corpora/cmp/d926bfd2f1898e99de2e7ab59ef820c2f40a0e55 differ diff --git a/fuzz/corpora/cmp/d93c4d91e900ce96c7c650eab7136c035194aa1a b/fuzz/corpora/cmp/d93c4d91e900ce96c7c650eab7136c035194aa1a new file mode 100644 index 00000000..fb24bbc5 Binary files /dev/null and b/fuzz/corpora/cmp/d93c4d91e900ce96c7c650eab7136c035194aa1a differ diff --git a/fuzz/corpora/cmp/d94161da332d6795c89ad757d405e91279871c20 b/fuzz/corpora/cmp/d94161da332d6795c89ad757d405e91279871c20 new file mode 100644 index 00000000..a712abcb Binary files /dev/null and b/fuzz/corpora/cmp/d94161da332d6795c89ad757d405e91279871c20 differ diff --git a/fuzz/corpora/cmp/d953f0050b133d689532f7f24d7baac99cfac851 b/fuzz/corpora/cmp/d953f0050b133d689532f7f24d7baac99cfac851 new file mode 100644 index 00000000..73dfa27b Binary files /dev/null and b/fuzz/corpora/cmp/d953f0050b133d689532f7f24d7baac99cfac851 differ diff --git a/fuzz/corpora/cmp/d95a7072500839ba3817c88fc4aae754fc229183 b/fuzz/corpora/cmp/d95a7072500839ba3817c88fc4aae754fc229183 new file mode 100644 index 00000000..95d3d33a Binary files /dev/null and b/fuzz/corpora/cmp/d95a7072500839ba3817c88fc4aae754fc229183 differ diff --git a/fuzz/corpora/cmp/d95ea3794cc72fe0898ae2e4f7d6c72a8771ab38 b/fuzz/corpora/cmp/d95ea3794cc72fe0898ae2e4f7d6c72a8771ab38 new file mode 100644 index 00000000..90e4e261 Binary files /dev/null and b/fuzz/corpora/cmp/d95ea3794cc72fe0898ae2e4f7d6c72a8771ab38 differ diff --git a/fuzz/corpora/cmp/d95ffdd5b1da809219a58b28ae83cd5722f1c71e b/fuzz/corpora/cmp/d95ffdd5b1da809219a58b28ae83cd5722f1c71e new file mode 100644 index 00000000..60ce9c1b Binary files /dev/null and b/fuzz/corpora/cmp/d95ffdd5b1da809219a58b28ae83cd5722f1c71e differ diff --git a/fuzz/corpora/cmp/d963752e3502dd63dd4dcb6f6d110f671ecffcef b/fuzz/corpora/cmp/d963752e3502dd63dd4dcb6f6d110f671ecffcef new file mode 100644 index 00000000..15ec8c4e Binary files /dev/null and b/fuzz/corpora/cmp/d963752e3502dd63dd4dcb6f6d110f671ecffcef differ diff --git a/fuzz/corpora/cmp/d967a20945f85ccc5d304f8782187d451f37f69a b/fuzz/corpora/cmp/d967a20945f85ccc5d304f8782187d451f37f69a new file mode 100644 index 00000000..8e9d1a7f Binary files /dev/null and b/fuzz/corpora/cmp/d967a20945f85ccc5d304f8782187d451f37f69a differ diff --git a/fuzz/corpora/cmp/d9693ac3d29c4dfad8d899928f4143a94c6bb0da b/fuzz/corpora/cmp/d9693ac3d29c4dfad8d899928f4143a94c6bb0da new file mode 100644 index 00000000..17d39f25 Binary files /dev/null and b/fuzz/corpora/cmp/d9693ac3d29c4dfad8d899928f4143a94c6bb0da differ diff --git a/fuzz/corpora/cmp/d97ca9570b87ba61a515b4ef04d2aaadf647ce9b b/fuzz/corpora/cmp/d97ca9570b87ba61a515b4ef04d2aaadf647ce9b new file mode 100644 index 00000000..8792fa0a Binary files /dev/null and b/fuzz/corpora/cmp/d97ca9570b87ba61a515b4ef04d2aaadf647ce9b differ diff --git a/fuzz/corpora/cmp/d98055ea147a29ca0e4c5d6c18fa06975c06a1d8 b/fuzz/corpora/cmp/d98055ea147a29ca0e4c5d6c18fa06975c06a1d8 new file mode 100644 index 00000000..863e4068 Binary files /dev/null and b/fuzz/corpora/cmp/d98055ea147a29ca0e4c5d6c18fa06975c06a1d8 differ diff --git a/fuzz/corpora/cmp/d9926ce4736911606bf4a263d44089aaa2da8627 b/fuzz/corpora/cmp/d9926ce4736911606bf4a263d44089aaa2da8627 new file mode 100644 index 00000000..2959fc9b Binary files /dev/null and b/fuzz/corpora/cmp/d9926ce4736911606bf4a263d44089aaa2da8627 differ diff --git a/fuzz/corpora/cmp/d9a61512bcdf42c8330dff0149381d06f95dea5a b/fuzz/corpora/cmp/d9a61512bcdf42c8330dff0149381d06f95dea5a new file mode 100644 index 00000000..0c41ac11 Binary files /dev/null and b/fuzz/corpora/cmp/d9a61512bcdf42c8330dff0149381d06f95dea5a differ diff --git a/fuzz/corpora/cmp/d9b7e34e34bf7525881458fdac9b17c5a2312880 b/fuzz/corpora/cmp/d9b7e34e34bf7525881458fdac9b17c5a2312880 new file mode 100644 index 00000000..0ae5be4f Binary files /dev/null and b/fuzz/corpora/cmp/d9b7e34e34bf7525881458fdac9b17c5a2312880 differ diff --git a/fuzz/corpora/cmp/d9d03683ea2eece59b6a8f6237ecc160ec738a61 b/fuzz/corpora/cmp/d9d03683ea2eece59b6a8f6237ecc160ec738a61 new file mode 100644 index 00000000..3a965bfc Binary files /dev/null and b/fuzz/corpora/cmp/d9d03683ea2eece59b6a8f6237ecc160ec738a61 differ diff --git a/fuzz/corpora/cmp/d9da085a9b6a512cd44c958dd505b778f4235428 b/fuzz/corpora/cmp/d9da085a9b6a512cd44c958dd505b778f4235428 new file mode 100644 index 00000000..4d7c1841 Binary files /dev/null and b/fuzz/corpora/cmp/d9da085a9b6a512cd44c958dd505b778f4235428 differ diff --git a/fuzz/corpora/cmp/d9e94cbce705260087bbab2cbd80e862356b25ab b/fuzz/corpora/cmp/d9e94cbce705260087bbab2cbd80e862356b25ab new file mode 100644 index 00000000..83a822d4 Binary files /dev/null and b/fuzz/corpora/cmp/d9e94cbce705260087bbab2cbd80e862356b25ab differ diff --git a/fuzz/corpora/cmp/d9e9b815a2e33d649ae7b7a5b44f132e65a694be b/fuzz/corpora/cmp/d9e9b815a2e33d649ae7b7a5b44f132e65a694be new file mode 100644 index 00000000..564de47a Binary files /dev/null and b/fuzz/corpora/cmp/d9e9b815a2e33d649ae7b7a5b44f132e65a694be differ diff --git a/fuzz/corpora/cmp/d9ea447b4c9d246f6f46aa05bb2b34a4ca3a393b b/fuzz/corpora/cmp/d9ea447b4c9d246f6f46aa05bb2b34a4ca3a393b new file mode 100644 index 00000000..0eb1ecad Binary files /dev/null and b/fuzz/corpora/cmp/d9ea447b4c9d246f6f46aa05bb2b34a4ca3a393b differ diff --git a/fuzz/corpora/cmp/d9f33c4be1e416ece27eccbe70528fcce6c93a38 b/fuzz/corpora/cmp/d9f33c4be1e416ece27eccbe70528fcce6c93a38 new file mode 100644 index 00000000..b5724591 Binary files /dev/null and b/fuzz/corpora/cmp/d9f33c4be1e416ece27eccbe70528fcce6c93a38 differ diff --git a/fuzz/corpora/cmp/d9fdef417c7cac7c493af323a7aaf80f2b55d6f0 b/fuzz/corpora/cmp/d9fdef417c7cac7c493af323a7aaf80f2b55d6f0 new file mode 100644 index 00000000..f1c85c11 Binary files /dev/null and b/fuzz/corpora/cmp/d9fdef417c7cac7c493af323a7aaf80f2b55d6f0 differ diff --git a/fuzz/corpora/cmp/da093afe6ce5ea38da5b6948c41ccc1b99c1dedd b/fuzz/corpora/cmp/da093afe6ce5ea38da5b6948c41ccc1b99c1dedd new file mode 100644 index 00000000..cb79ebb7 Binary files /dev/null and b/fuzz/corpora/cmp/da093afe6ce5ea38da5b6948c41ccc1b99c1dedd differ diff --git a/fuzz/corpora/cmp/da23146693f43a4bd464e8aa29ac595142282847 b/fuzz/corpora/cmp/da23146693f43a4bd464e8aa29ac595142282847 new file mode 100644 index 00000000..ebac3c47 Binary files /dev/null and b/fuzz/corpora/cmp/da23146693f43a4bd464e8aa29ac595142282847 differ diff --git a/fuzz/corpora/cmp/da34f9c6edccb5c525acfff087aaa0e6bfa292a9 b/fuzz/corpora/cmp/da34f9c6edccb5c525acfff087aaa0e6bfa292a9 new file mode 100644 index 00000000..688b4409 Binary files /dev/null and b/fuzz/corpora/cmp/da34f9c6edccb5c525acfff087aaa0e6bfa292a9 differ diff --git a/fuzz/corpora/cmp/da3c1d9985b25e01bcef7d35dc964ab65afac616 b/fuzz/corpora/cmp/da3c1d9985b25e01bcef7d35dc964ab65afac616 new file mode 100644 index 00000000..9da66552 Binary files /dev/null and b/fuzz/corpora/cmp/da3c1d9985b25e01bcef7d35dc964ab65afac616 differ diff --git a/fuzz/corpora/cmp/da41211594be0b316160cd61be941739832d1d9a b/fuzz/corpora/cmp/da41211594be0b316160cd61be941739832d1d9a new file mode 100644 index 00000000..fa322fdc Binary files /dev/null and b/fuzz/corpora/cmp/da41211594be0b316160cd61be941739832d1d9a differ diff --git a/fuzz/corpora/cmp/da51787bf90a8c42b7158f851d95a7d8eca53b64 b/fuzz/corpora/cmp/da51787bf90a8c42b7158f851d95a7d8eca53b64 new file mode 100644 index 00000000..0f60f9b1 Binary files /dev/null and b/fuzz/corpora/cmp/da51787bf90a8c42b7158f851d95a7d8eca53b64 differ diff --git a/fuzz/corpora/cmp/da56cba7e525b8a7be2dfc762081adf057feeab3 b/fuzz/corpora/cmp/da56cba7e525b8a7be2dfc762081adf057feeab3 new file mode 100644 index 00000000..707e6653 Binary files /dev/null and b/fuzz/corpora/cmp/da56cba7e525b8a7be2dfc762081adf057feeab3 differ diff --git a/fuzz/corpora/cmp/da57f18eadcc9e6c9e3e6b9e5138f405632d6cce b/fuzz/corpora/cmp/da57f18eadcc9e6c9e3e6b9e5138f405632d6cce new file mode 100644 index 00000000..384d3719 Binary files /dev/null and b/fuzz/corpora/cmp/da57f18eadcc9e6c9e3e6b9e5138f405632d6cce differ diff --git a/fuzz/corpora/cmp/da77f4819641f0f1a5f04918a77a3d785ba553a0 b/fuzz/corpora/cmp/da77f4819641f0f1a5f04918a77a3d785ba553a0 new file mode 100644 index 00000000..ca588e17 Binary files /dev/null and b/fuzz/corpora/cmp/da77f4819641f0f1a5f04918a77a3d785ba553a0 differ diff --git a/fuzz/corpora/cmp/da7c3835b62ecf45b6561156f4970b40164b6bca b/fuzz/corpora/cmp/da7c3835b62ecf45b6561156f4970b40164b6bca new file mode 100644 index 00000000..70ccc7ce Binary files /dev/null and b/fuzz/corpora/cmp/da7c3835b62ecf45b6561156f4970b40164b6bca differ diff --git a/fuzz/corpora/cmp/da802068993849e51106e2a82fd0e0f89a685277 b/fuzz/corpora/cmp/da802068993849e51106e2a82fd0e0f89a685277 new file mode 100644 index 00000000..cf370f70 Binary files /dev/null and b/fuzz/corpora/cmp/da802068993849e51106e2a82fd0e0f89a685277 differ diff --git a/fuzz/corpora/cmp/daa02b930e7f7c03d81499ccc79f581ed9a17865 b/fuzz/corpora/cmp/daa02b930e7f7c03d81499ccc79f581ed9a17865 new file mode 100644 index 00000000..e583452b Binary files /dev/null and b/fuzz/corpora/cmp/daa02b930e7f7c03d81499ccc79f581ed9a17865 differ diff --git a/fuzz/corpora/cmp/dabd5d58d44f288e1aa395a98f1808db7b2b8259 b/fuzz/corpora/cmp/dabd5d58d44f288e1aa395a98f1808db7b2b8259 new file mode 100644 index 00000000..cf6ff85a Binary files /dev/null and b/fuzz/corpora/cmp/dabd5d58d44f288e1aa395a98f1808db7b2b8259 differ diff --git a/fuzz/corpora/cmp/dacb4bae4466098f048a8991f816deeb31a5707d b/fuzz/corpora/cmp/dacb4bae4466098f048a8991f816deeb31a5707d new file mode 100644 index 00000000..a62fc5a5 Binary files /dev/null and b/fuzz/corpora/cmp/dacb4bae4466098f048a8991f816deeb31a5707d differ diff --git a/fuzz/corpora/cmp/dad4c50850cb2d8df0ae3138d1faa27edee54e12 b/fuzz/corpora/cmp/dad4c50850cb2d8df0ae3138d1faa27edee54e12 new file mode 100644 index 00000000..f81c8445 Binary files /dev/null and b/fuzz/corpora/cmp/dad4c50850cb2d8df0ae3138d1faa27edee54e12 differ diff --git a/fuzz/corpora/cmp/daddf1cd34d496b26af2ed965893855203f1fecb b/fuzz/corpora/cmp/daddf1cd34d496b26af2ed965893855203f1fecb new file mode 100644 index 00000000..716ba19a Binary files /dev/null and b/fuzz/corpora/cmp/daddf1cd34d496b26af2ed965893855203f1fecb differ diff --git a/fuzz/corpora/cmp/dae3ac2cac2ec2008895a822e1c81b10d55dec15 b/fuzz/corpora/cmp/dae3ac2cac2ec2008895a822e1c81b10d55dec15 new file mode 100644 index 00000000..a8f4269b Binary files /dev/null and b/fuzz/corpora/cmp/dae3ac2cac2ec2008895a822e1c81b10d55dec15 differ diff --git a/fuzz/corpora/cmp/db0248746a5c064cb5b1e594a2a1da3d68ace441 b/fuzz/corpora/cmp/db0248746a5c064cb5b1e594a2a1da3d68ace441 new file mode 100644 index 00000000..da8667e9 Binary files /dev/null and b/fuzz/corpora/cmp/db0248746a5c064cb5b1e594a2a1da3d68ace441 differ diff --git a/fuzz/corpora/cmp/db0f05559e56ad5b6f4d707ee50a95ad80b15696 b/fuzz/corpora/cmp/db0f05559e56ad5b6f4d707ee50a95ad80b15696 new file mode 100644 index 00000000..9813c488 Binary files /dev/null and b/fuzz/corpora/cmp/db0f05559e56ad5b6f4d707ee50a95ad80b15696 differ diff --git a/fuzz/corpora/cmp/db190a26c63eed4fa4a07a3342ebcaf7f8a2e7a1 b/fuzz/corpora/cmp/db190a26c63eed4fa4a07a3342ebcaf7f8a2e7a1 new file mode 100644 index 00000000..aa46a3fe Binary files /dev/null and b/fuzz/corpora/cmp/db190a26c63eed4fa4a07a3342ebcaf7f8a2e7a1 differ diff --git a/fuzz/corpora/cmp/db58bf7c19cc5d0c973d5a025d0ed7ff7ba2d395 b/fuzz/corpora/cmp/db58bf7c19cc5d0c973d5a025d0ed7ff7ba2d395 new file mode 100644 index 00000000..764b9c6e Binary files /dev/null and b/fuzz/corpora/cmp/db58bf7c19cc5d0c973d5a025d0ed7ff7ba2d395 differ diff --git a/fuzz/corpora/cmp/db76bd3927b42039addef370be797db01be608f3 b/fuzz/corpora/cmp/db76bd3927b42039addef370be797db01be608f3 new file mode 100644 index 00000000..765ce8e7 Binary files /dev/null and b/fuzz/corpora/cmp/db76bd3927b42039addef370be797db01be608f3 differ diff --git a/fuzz/corpora/cmp/db771975bd4e58f8c132a772a33b9ea01e75e39c b/fuzz/corpora/cmp/db771975bd4e58f8c132a772a33b9ea01e75e39c new file mode 100644 index 00000000..e28e6191 Binary files /dev/null and b/fuzz/corpora/cmp/db771975bd4e58f8c132a772a33b9ea01e75e39c differ diff --git a/fuzz/corpora/cmp/db7aee35215ed418b53ccaf3742debf1c1b38c39 b/fuzz/corpora/cmp/db7aee35215ed418b53ccaf3742debf1c1b38c39 new file mode 100644 index 00000000..1625cd47 --- /dev/null +++ b/fuzz/corpora/cmp/db7aee35215ed418b53ccaf3742debf1c1b38c39 @@ -0,0 +1 @@ +,€½€,€½€½€,€½€,€,€,€½€,€½€,€½€½€,€½€,€,€½€,€½€½€,€,€½€,€½€½€,€½€ \ No newline at end of file diff --git a/fuzz/corpora/cmp/db9b1b3b05f7268528dfdbe81311af6603339c61 b/fuzz/corpora/cmp/db9b1b3b05f7268528dfdbe81311af6603339c61 new file mode 100644 index 00000000..9414177f Binary files /dev/null and b/fuzz/corpora/cmp/db9b1b3b05f7268528dfdbe81311af6603339c61 differ diff --git a/fuzz/corpora/cmp/dbb5303b3a1372da73366042361711c18d79c2b7 b/fuzz/corpora/cmp/dbb5303b3a1372da73366042361711c18d79c2b7 new file mode 100644 index 00000000..34e9dad6 Binary files /dev/null and b/fuzz/corpora/cmp/dbb5303b3a1372da73366042361711c18d79c2b7 differ diff --git a/fuzz/corpora/cmp/dbbc3f8facdb3f779c069910b8f7155a690394ab b/fuzz/corpora/cmp/dbbc3f8facdb3f779c069910b8f7155a690394ab new file mode 100644 index 00000000..2a307d34 Binary files /dev/null and b/fuzz/corpora/cmp/dbbc3f8facdb3f779c069910b8f7155a690394ab differ diff --git a/fuzz/corpora/cmp/dbd79f488c668c57a8dcbd23c200c37e4a76a964 b/fuzz/corpora/cmp/dbd79f488c668c57a8dcbd23c200c37e4a76a964 new file mode 100644 index 00000000..1f6e3b62 Binary files /dev/null and b/fuzz/corpora/cmp/dbd79f488c668c57a8dcbd23c200c37e4a76a964 differ diff --git a/fuzz/corpora/cmp/dbe7738a02493876bd51d17e1e581431a71e56ba b/fuzz/corpora/cmp/dbe7738a02493876bd51d17e1e581431a71e56ba new file mode 100644 index 00000000..f4c0b4fb Binary files /dev/null and b/fuzz/corpora/cmp/dbe7738a02493876bd51d17e1e581431a71e56ba differ diff --git a/fuzz/corpora/cmp/dc19c06120f160a14c1053b2197bedb58d7dc987 b/fuzz/corpora/cmp/dc19c06120f160a14c1053b2197bedb58d7dc987 new file mode 100644 index 00000000..93749990 Binary files /dev/null and b/fuzz/corpora/cmp/dc19c06120f160a14c1053b2197bedb58d7dc987 differ diff --git a/fuzz/corpora/cmp/dc27ec8cd69e642dcdf1205df41b62cb47267169 b/fuzz/corpora/cmp/dc27ec8cd69e642dcdf1205df41b62cb47267169 new file mode 100644 index 00000000..b29591ff Binary files /dev/null and b/fuzz/corpora/cmp/dc27ec8cd69e642dcdf1205df41b62cb47267169 differ diff --git a/fuzz/corpora/cmp/dc2a316b2c64937d88548c42d0aaf448b6cdf3c7 b/fuzz/corpora/cmp/dc2a316b2c64937d88548c42d0aaf448b6cdf3c7 new file mode 100644 index 00000000..77d9fe3d Binary files /dev/null and b/fuzz/corpora/cmp/dc2a316b2c64937d88548c42d0aaf448b6cdf3c7 differ diff --git a/fuzz/corpora/cmp/dc4eb7e0bfb1e9887aeed50c8f171089c5ba2ee3 b/fuzz/corpora/cmp/dc4eb7e0bfb1e9887aeed50c8f171089c5ba2ee3 new file mode 100644 index 00000000..8cd73a97 Binary files /dev/null and b/fuzz/corpora/cmp/dc4eb7e0bfb1e9887aeed50c8f171089c5ba2ee3 differ diff --git a/fuzz/corpora/cmp/dc4f5d47ee1800beacb4a6dfdc52fb8013990ca2 b/fuzz/corpora/cmp/dc4f5d47ee1800beacb4a6dfdc52fb8013990ca2 new file mode 100644 index 00000000..f1a3b6cf Binary files /dev/null and b/fuzz/corpora/cmp/dc4f5d47ee1800beacb4a6dfdc52fb8013990ca2 differ diff --git a/fuzz/corpora/cmp/dc60971fb8059fab37fe5f3a21931cf6cb234152 b/fuzz/corpora/cmp/dc60971fb8059fab37fe5f3a21931cf6cb234152 new file mode 100644 index 00000000..50720e4f Binary files /dev/null and b/fuzz/corpora/cmp/dc60971fb8059fab37fe5f3a21931cf6cb234152 differ diff --git a/fuzz/corpora/cmp/dc6bd6c703d518bb23b6063e1ba053425ba96404 b/fuzz/corpora/cmp/dc6bd6c703d518bb23b6063e1ba053425ba96404 new file mode 100644 index 00000000..580315bc Binary files /dev/null and b/fuzz/corpora/cmp/dc6bd6c703d518bb23b6063e1ba053425ba96404 differ diff --git a/fuzz/corpora/cmp/dca597c516f1108ddc9969a4be4d1c8efb70d516 b/fuzz/corpora/cmp/dca597c516f1108ddc9969a4be4d1c8efb70d516 new file mode 100644 index 00000000..d53e5f66 Binary files /dev/null and b/fuzz/corpora/cmp/dca597c516f1108ddc9969a4be4d1c8efb70d516 differ diff --git a/fuzz/corpora/cmp/dca5cdbeebfc27ff56a06301942f3d5b031bd17f b/fuzz/corpora/cmp/dca5cdbeebfc27ff56a06301942f3d5b031bd17f new file mode 100644 index 00000000..55a54931 Binary files /dev/null and b/fuzz/corpora/cmp/dca5cdbeebfc27ff56a06301942f3d5b031bd17f differ diff --git a/fuzz/corpora/cmp/dcaa49570a3a8bccde98d20a1daf42f405449368 b/fuzz/corpora/cmp/dcaa49570a3a8bccde98d20a1daf42f405449368 new file mode 100644 index 00000000..7dac830c Binary files /dev/null and b/fuzz/corpora/cmp/dcaa49570a3a8bccde98d20a1daf42f405449368 differ diff --git a/fuzz/corpora/cmp/dcac8ed0f9d545642ab7cf151d6b6af07321fe7d b/fuzz/corpora/cmp/dcac8ed0f9d545642ab7cf151d6b6af07321fe7d new file mode 100644 index 00000000..daac92d6 Binary files /dev/null and b/fuzz/corpora/cmp/dcac8ed0f9d545642ab7cf151d6b6af07321fe7d differ diff --git a/fuzz/corpora/cmp/dcbc27b406f1d5b1c41d8633ee00de537d6ca18c b/fuzz/corpora/cmp/dcbc27b406f1d5b1c41d8633ee00de537d6ca18c new file mode 100644 index 00000000..fc646825 Binary files /dev/null and b/fuzz/corpora/cmp/dcbc27b406f1d5b1c41d8633ee00de537d6ca18c differ diff --git a/fuzz/corpora/cmp/dcbedfcf65b73f84c9c3bb725b870e72213c5bdb b/fuzz/corpora/cmp/dcbedfcf65b73f84c9c3bb725b870e72213c5bdb new file mode 100644 index 00000000..28450aac Binary files /dev/null and b/fuzz/corpora/cmp/dcbedfcf65b73f84c9c3bb725b870e72213c5bdb differ diff --git a/fuzz/corpora/cmp/dcc3e461166a4c3aca0d5b520f482e400ef14514 b/fuzz/corpora/cmp/dcc3e461166a4c3aca0d5b520f482e400ef14514 new file mode 100644 index 00000000..d4b29a49 Binary files /dev/null and b/fuzz/corpora/cmp/dcc3e461166a4c3aca0d5b520f482e400ef14514 differ diff --git a/fuzz/corpora/cmp/dccf82ecd5328cf8f5a1bcd7d09ed18bc199adba b/fuzz/corpora/cmp/dccf82ecd5328cf8f5a1bcd7d09ed18bc199adba new file mode 100644 index 00000000..617950d6 Binary files /dev/null and b/fuzz/corpora/cmp/dccf82ecd5328cf8f5a1bcd7d09ed18bc199adba differ diff --git a/fuzz/corpora/cmp/dcf6b4f2dc263f6101ef3b378bbd1eb62c5c9dc0 b/fuzz/corpora/cmp/dcf6b4f2dc263f6101ef3b378bbd1eb62c5c9dc0 new file mode 100644 index 00000000..b08e4944 Binary files /dev/null and b/fuzz/corpora/cmp/dcf6b4f2dc263f6101ef3b378bbd1eb62c5c9dc0 differ diff --git a/fuzz/corpora/cmp/dcfac4f8f33a21ebc891041d7ad553d6d4300bbe b/fuzz/corpora/cmp/dcfac4f8f33a21ebc891041d7ad553d6d4300bbe new file mode 100644 index 00000000..f4ef92db Binary files /dev/null and b/fuzz/corpora/cmp/dcfac4f8f33a21ebc891041d7ad553d6d4300bbe differ diff --git a/fuzz/corpora/cmp/dd0cc6fbdff3de35a571797d4dc0ec2758800fa9 b/fuzz/corpora/cmp/dd0cc6fbdff3de35a571797d4dc0ec2758800fa9 new file mode 100644 index 00000000..f26c0806 Binary files /dev/null and b/fuzz/corpora/cmp/dd0cc6fbdff3de35a571797d4dc0ec2758800fa9 differ diff --git a/fuzz/corpora/cmp/dd0da11f721f4f1e801e316d099cc47463d29cf1 b/fuzz/corpora/cmp/dd0da11f721f4f1e801e316d099cc47463d29cf1 new file mode 100644 index 00000000..fa5a18cb Binary files /dev/null and b/fuzz/corpora/cmp/dd0da11f721f4f1e801e316d099cc47463d29cf1 differ diff --git a/fuzz/corpora/cmp/dd0df53fa64882eac8cc2bbbce4b6735746b17e9 b/fuzz/corpora/cmp/dd0df53fa64882eac8cc2bbbce4b6735746b17e9 new file mode 100644 index 00000000..83cad47e Binary files /dev/null and b/fuzz/corpora/cmp/dd0df53fa64882eac8cc2bbbce4b6735746b17e9 differ diff --git a/fuzz/corpora/cmp/dd2019b3f5b637f65657a7a82d7162104f24e221 b/fuzz/corpora/cmp/dd2019b3f5b637f65657a7a82d7162104f24e221 new file mode 100644 index 00000000..5a2d7a79 Binary files /dev/null and b/fuzz/corpora/cmp/dd2019b3f5b637f65657a7a82d7162104f24e221 differ diff --git a/fuzz/corpora/cmp/dd2c89fd2d2519c768ddcb11d7ea60bd60227f30 b/fuzz/corpora/cmp/dd2c89fd2d2519c768ddcb11d7ea60bd60227f30 new file mode 100644 index 00000000..3c77d904 Binary files /dev/null and b/fuzz/corpora/cmp/dd2c89fd2d2519c768ddcb11d7ea60bd60227f30 differ diff --git a/fuzz/corpora/cmp/dd3858b12b33261fc184f858554faa2713f8b845 b/fuzz/corpora/cmp/dd3858b12b33261fc184f858554faa2713f8b845 new file mode 100644 index 00000000..6044f3fb Binary files /dev/null and b/fuzz/corpora/cmp/dd3858b12b33261fc184f858554faa2713f8b845 differ diff --git a/fuzz/corpora/cmp/dd465e33282ac78738af54fbdec4adbee7d2e952 b/fuzz/corpora/cmp/dd465e33282ac78738af54fbdec4adbee7d2e952 new file mode 100644 index 00000000..41d92453 Binary files /dev/null and b/fuzz/corpora/cmp/dd465e33282ac78738af54fbdec4adbee7d2e952 differ diff --git a/fuzz/corpora/cmp/dd5262d454b0e3abab7c134076a26cdefdc4e548 b/fuzz/corpora/cmp/dd5262d454b0e3abab7c134076a26cdefdc4e548 new file mode 100644 index 00000000..2e2e8c6a Binary files /dev/null and b/fuzz/corpora/cmp/dd5262d454b0e3abab7c134076a26cdefdc4e548 differ diff --git a/fuzz/corpora/cmp/dd763d00d2c8b4d9832fef9c30ec31b5f0c2f173 b/fuzz/corpora/cmp/dd763d00d2c8b4d9832fef9c30ec31b5f0c2f173 new file mode 100644 index 00000000..1dff47b5 Binary files /dev/null and b/fuzz/corpora/cmp/dd763d00d2c8b4d9832fef9c30ec31b5f0c2f173 differ diff --git a/fuzz/corpora/cmp/dd7abbeb662e0999d0b0710006058fb66d0352fc b/fuzz/corpora/cmp/dd7abbeb662e0999d0b0710006058fb66d0352fc new file mode 100644 index 00000000..c4f6a261 Binary files /dev/null and b/fuzz/corpora/cmp/dd7abbeb662e0999d0b0710006058fb66d0352fc differ diff --git a/fuzz/corpora/cmp/dd7f47061e4ed5f04dc5769817cb191ea56a9793 b/fuzz/corpora/cmp/dd7f47061e4ed5f04dc5769817cb191ea56a9793 new file mode 100644 index 00000000..b9fb5ac4 Binary files /dev/null and b/fuzz/corpora/cmp/dd7f47061e4ed5f04dc5769817cb191ea56a9793 differ diff --git a/fuzz/corpora/cmp/dd922c8cfb9232f9e60c7cac717895ce5420d734 b/fuzz/corpora/cmp/dd922c8cfb9232f9e60c7cac717895ce5420d734 new file mode 100644 index 00000000..f70e35fb Binary files /dev/null and b/fuzz/corpora/cmp/dd922c8cfb9232f9e60c7cac717895ce5420d734 differ diff --git a/fuzz/corpora/cmp/dd937ebe24db69f95a9574091f90de2c47b8ec34 b/fuzz/corpora/cmp/dd937ebe24db69f95a9574091f90de2c47b8ec34 new file mode 100644 index 00000000..528dad5a Binary files /dev/null and b/fuzz/corpora/cmp/dd937ebe24db69f95a9574091f90de2c47b8ec34 differ diff --git a/fuzz/corpora/cmp/dda7d889eb122d95a0db95ab597b6b23ff7fbbf0 b/fuzz/corpora/cmp/dda7d889eb122d95a0db95ab597b6b23ff7fbbf0 new file mode 100644 index 00000000..15194938 Binary files /dev/null and b/fuzz/corpora/cmp/dda7d889eb122d95a0db95ab597b6b23ff7fbbf0 differ diff --git a/fuzz/corpora/cmp/dda7e82614132a0617d969d2eb3858d92fee1a96 b/fuzz/corpora/cmp/dda7e82614132a0617d969d2eb3858d92fee1a96 new file mode 100644 index 00000000..a56f4c65 Binary files /dev/null and b/fuzz/corpora/cmp/dda7e82614132a0617d969d2eb3858d92fee1a96 differ diff --git a/fuzz/corpora/cmp/dda80975251c7d21ebd1d19f51df4d45f2bc89e0 b/fuzz/corpora/cmp/dda80975251c7d21ebd1d19f51df4d45f2bc89e0 new file mode 100644 index 00000000..e0a4aaee Binary files /dev/null and b/fuzz/corpora/cmp/dda80975251c7d21ebd1d19f51df4d45f2bc89e0 differ diff --git a/fuzz/corpora/cmp/ddb37d2fefad2a078b0ec3d26b4b9b8a6cebcfaa b/fuzz/corpora/cmp/ddb37d2fefad2a078b0ec3d26b4b9b8a6cebcfaa new file mode 100644 index 00000000..1d54b1a3 Binary files /dev/null and b/fuzz/corpora/cmp/ddb37d2fefad2a078b0ec3d26b4b9b8a6cebcfaa differ diff --git a/fuzz/corpora/cmp/ddb795c7e41dd1aa8c586a64eb46fa10bcbee1b9 b/fuzz/corpora/cmp/ddb795c7e41dd1aa8c586a64eb46fa10bcbee1b9 new file mode 100644 index 00000000..d38c965a Binary files /dev/null and b/fuzz/corpora/cmp/ddb795c7e41dd1aa8c586a64eb46fa10bcbee1b9 differ diff --git a/fuzz/corpora/cmp/ddd1d95c1782927a51e1ee40c6c93ccdc1769324 b/fuzz/corpora/cmp/ddd1d95c1782927a51e1ee40c6c93ccdc1769324 new file mode 100644 index 00000000..1e20200c Binary files /dev/null and b/fuzz/corpora/cmp/ddd1d95c1782927a51e1ee40c6c93ccdc1769324 differ diff --git a/fuzz/corpora/cmp/dde96d6def579645c676bfd126580e9427a20140 b/fuzz/corpora/cmp/dde96d6def579645c676bfd126580e9427a20140 new file mode 100644 index 00000000..b8a95b80 Binary files /dev/null and b/fuzz/corpora/cmp/dde96d6def579645c676bfd126580e9427a20140 differ diff --git a/fuzz/corpora/cmp/ddf0d1ea07196074b2d283b5303fc11f8d9fd2de b/fuzz/corpora/cmp/ddf0d1ea07196074b2d283b5303fc11f8d9fd2de new file mode 100644 index 00000000..e5dbf144 Binary files /dev/null and b/fuzz/corpora/cmp/ddf0d1ea07196074b2d283b5303fc11f8d9fd2de differ diff --git a/fuzz/corpora/cmp/de0777fbbefd47185bdc0720b498403a1d958d94 b/fuzz/corpora/cmp/de0777fbbefd47185bdc0720b498403a1d958d94 new file mode 100644 index 00000000..e852dac6 Binary files /dev/null and b/fuzz/corpora/cmp/de0777fbbefd47185bdc0720b498403a1d958d94 differ diff --git a/fuzz/corpora/cmp/de09cdbe2697e1729349a5b437f7ea54c2294ea4 b/fuzz/corpora/cmp/de09cdbe2697e1729349a5b437f7ea54c2294ea4 new file mode 100644 index 00000000..61ad45fd Binary files /dev/null and b/fuzz/corpora/cmp/de09cdbe2697e1729349a5b437f7ea54c2294ea4 differ diff --git a/fuzz/corpora/cmp/de151543afeb3dccad33f30250d3027675c27ed8 b/fuzz/corpora/cmp/de151543afeb3dccad33f30250d3027675c27ed8 new file mode 100644 index 00000000..b99802b4 Binary files /dev/null and b/fuzz/corpora/cmp/de151543afeb3dccad33f30250d3027675c27ed8 differ diff --git a/fuzz/corpora/cmp/de34bb9194e0cd42ebe19eae48de7869e76e0d83 b/fuzz/corpora/cmp/de34bb9194e0cd42ebe19eae48de7869e76e0d83 new file mode 100644 index 00000000..488291d1 Binary files /dev/null and b/fuzz/corpora/cmp/de34bb9194e0cd42ebe19eae48de7869e76e0d83 differ diff --git a/fuzz/corpora/cmp/de61afd4eafd87ad7ed4d68c964ab08c9c08a7a2 b/fuzz/corpora/cmp/de61afd4eafd87ad7ed4d68c964ab08c9c08a7a2 new file mode 100644 index 00000000..12d821bb Binary files /dev/null and b/fuzz/corpora/cmp/de61afd4eafd87ad7ed4d68c964ab08c9c08a7a2 differ diff --git a/fuzz/corpora/cmp/de642c0ace18c976d9870adeaced829cf68960a5 b/fuzz/corpora/cmp/de642c0ace18c976d9870adeaced829cf68960a5 new file mode 100644 index 00000000..2edc3a32 Binary files /dev/null and b/fuzz/corpora/cmp/de642c0ace18c976d9870adeaced829cf68960a5 differ diff --git a/fuzz/corpora/cmp/de7e7ae39ab6a44741ec6be10fcd8fe0ed6bb17c b/fuzz/corpora/cmp/de7e7ae39ab6a44741ec6be10fcd8fe0ed6bb17c new file mode 100644 index 00000000..b15100c1 Binary files /dev/null and b/fuzz/corpora/cmp/de7e7ae39ab6a44741ec6be10fcd8fe0ed6bb17c differ diff --git a/fuzz/corpora/cmp/de87ba5651686e400dc2f6b474cd497946444497 b/fuzz/corpora/cmp/de87ba5651686e400dc2f6b474cd497946444497 new file mode 100644 index 00000000..5586dcee Binary files /dev/null and b/fuzz/corpora/cmp/de87ba5651686e400dc2f6b474cd497946444497 differ diff --git a/fuzz/corpora/cmp/deb2e5b68f4af86f36012e5f0eb78d4e1644e4e3 b/fuzz/corpora/cmp/deb2e5b68f4af86f36012e5f0eb78d4e1644e4e3 new file mode 100644 index 00000000..f694c855 Binary files /dev/null and b/fuzz/corpora/cmp/deb2e5b68f4af86f36012e5f0eb78d4e1644e4e3 differ diff --git a/fuzz/corpora/cmp/decf022267d3d1fcacbaf0572d03062100e25d67 b/fuzz/corpora/cmp/decf022267d3d1fcacbaf0572d03062100e25d67 new file mode 100644 index 00000000..2618ef3d Binary files /dev/null and b/fuzz/corpora/cmp/decf022267d3d1fcacbaf0572d03062100e25d67 differ diff --git a/fuzz/corpora/cmp/ded8baef5f9d44c87fc800dc501d8e93311f6584 b/fuzz/corpora/cmp/ded8baef5f9d44c87fc800dc501d8e93311f6584 new file mode 100644 index 00000000..ed654f3f Binary files /dev/null and b/fuzz/corpora/cmp/ded8baef5f9d44c87fc800dc501d8e93311f6584 differ diff --git a/fuzz/corpora/cmp/deea42d922c3b2b0f7df88662b237870952bab4a b/fuzz/corpora/cmp/deea42d922c3b2b0f7df88662b237870952bab4a new file mode 100644 index 00000000..7077a328 Binary files /dev/null and b/fuzz/corpora/cmp/deea42d922c3b2b0f7df88662b237870952bab4a differ diff --git a/fuzz/corpora/cmp/defd50b1666d58cdefde3b2ac37c8406ab2a2098 b/fuzz/corpora/cmp/defd50b1666d58cdefde3b2ac37c8406ab2a2098 new file mode 100644 index 00000000..0a4f896a Binary files /dev/null and b/fuzz/corpora/cmp/defd50b1666d58cdefde3b2ac37c8406ab2a2098 differ diff --git a/fuzz/corpora/cmp/df14ec6db3958f418c569c1231cfa06f9d02faa8 b/fuzz/corpora/cmp/df14ec6db3958f418c569c1231cfa06f9d02faa8 new file mode 100644 index 00000000..b359ff6f Binary files /dev/null and b/fuzz/corpora/cmp/df14ec6db3958f418c569c1231cfa06f9d02faa8 differ diff --git a/fuzz/corpora/cmp/df2487adb6eaeaeaf362c9a3c55ead975087939d b/fuzz/corpora/cmp/df2487adb6eaeaeaf362c9a3c55ead975087939d new file mode 100644 index 00000000..bb889470 Binary files /dev/null and b/fuzz/corpora/cmp/df2487adb6eaeaeaf362c9a3c55ead975087939d differ diff --git a/fuzz/corpora/cmp/df2bc044794dad33617607e7fcdc17ff096e2283 b/fuzz/corpora/cmp/df2bc044794dad33617607e7fcdc17ff096e2283 new file mode 100644 index 00000000..c043bbf9 Binary files /dev/null and b/fuzz/corpora/cmp/df2bc044794dad33617607e7fcdc17ff096e2283 differ diff --git a/fuzz/corpora/cmp/df2f4fe55488c9ee04f93ac0a25d40dc2167c7ec b/fuzz/corpora/cmp/df2f4fe55488c9ee04f93ac0a25d40dc2167c7ec new file mode 100644 index 00000000..2ec6b2d6 Binary files /dev/null and b/fuzz/corpora/cmp/df2f4fe55488c9ee04f93ac0a25d40dc2167c7ec differ diff --git a/fuzz/corpora/cmp/df317531074a3539589d7f11478ec571939a3d2f b/fuzz/corpora/cmp/df317531074a3539589d7f11478ec571939a3d2f new file mode 100644 index 00000000..10c97134 Binary files /dev/null and b/fuzz/corpora/cmp/df317531074a3539589d7f11478ec571939a3d2f differ diff --git a/fuzz/corpora/cmp/df34b3f504e7b8084faec09f2f0202d164c1538e b/fuzz/corpora/cmp/df34b3f504e7b8084faec09f2f0202d164c1538e new file mode 100644 index 00000000..58ddbb29 Binary files /dev/null and b/fuzz/corpora/cmp/df34b3f504e7b8084faec09f2f0202d164c1538e differ diff --git a/fuzz/corpora/cmp/df36601c53a89104e281f12e3b7c2e26792c0630 b/fuzz/corpora/cmp/df36601c53a89104e281f12e3b7c2e26792c0630 new file mode 100644 index 00000000..0652b057 Binary files /dev/null and b/fuzz/corpora/cmp/df36601c53a89104e281f12e3b7c2e26792c0630 differ diff --git a/fuzz/corpora/cmp/df44d6d805673ae8ef1da9e9b9572497c8a71a94 b/fuzz/corpora/cmp/df44d6d805673ae8ef1da9e9b9572497c8a71a94 new file mode 100644 index 00000000..232be072 Binary files /dev/null and b/fuzz/corpora/cmp/df44d6d805673ae8ef1da9e9b9572497c8a71a94 differ diff --git a/fuzz/corpora/cmp/df5ffa7523e6d29075b1af44f6d124e3a5e06478 b/fuzz/corpora/cmp/df5ffa7523e6d29075b1af44f6d124e3a5e06478 new file mode 100644 index 00000000..7484f6ff Binary files /dev/null and b/fuzz/corpora/cmp/df5ffa7523e6d29075b1af44f6d124e3a5e06478 differ diff --git a/fuzz/corpora/cmp/df624e16dde2d0845a2233ef55afd4971a6225b6 b/fuzz/corpora/cmp/df624e16dde2d0845a2233ef55afd4971a6225b6 new file mode 100644 index 00000000..5ebacb03 Binary files /dev/null and b/fuzz/corpora/cmp/df624e16dde2d0845a2233ef55afd4971a6225b6 differ diff --git a/fuzz/corpora/cmp/df7b48eb2ad93ab990277a44199f68e5930672e9 b/fuzz/corpora/cmp/df7b48eb2ad93ab990277a44199f68e5930672e9 new file mode 100644 index 00000000..6e393407 Binary files /dev/null and b/fuzz/corpora/cmp/df7b48eb2ad93ab990277a44199f68e5930672e9 differ diff --git a/fuzz/corpora/cmp/df80b89a20117a919bf4cd61ecbcced1fa1ed60c b/fuzz/corpora/cmp/df80b89a20117a919bf4cd61ecbcced1fa1ed60c new file mode 100644 index 00000000..d355e622 Binary files /dev/null and b/fuzz/corpora/cmp/df80b89a20117a919bf4cd61ecbcced1fa1ed60c differ diff --git a/fuzz/corpora/cmp/df87676bc5b33d1010f6e0c46c841804572f620a b/fuzz/corpora/cmp/df87676bc5b33d1010f6e0c46c841804572f620a new file mode 100644 index 00000000..d77301b3 Binary files /dev/null and b/fuzz/corpora/cmp/df87676bc5b33d1010f6e0c46c841804572f620a differ diff --git a/fuzz/corpora/cmp/df89506194418fe44d9d8bb5e8d877d6dcac355b b/fuzz/corpora/cmp/df89506194418fe44d9d8bb5e8d877d6dcac355b new file mode 100644 index 00000000..dc854d04 Binary files /dev/null and b/fuzz/corpora/cmp/df89506194418fe44d9d8bb5e8d877d6dcac355b differ diff --git a/fuzz/corpora/cmp/dfb198e69a09585cc7a6338d0c713124edd082c0 b/fuzz/corpora/cmp/dfb198e69a09585cc7a6338d0c713124edd082c0 new file mode 100644 index 00000000..0d326814 Binary files /dev/null and b/fuzz/corpora/cmp/dfb198e69a09585cc7a6338d0c713124edd082c0 differ diff --git a/fuzz/corpora/cmp/dfb8677bc641d57ac39edea3b292bd444a015a74 b/fuzz/corpora/cmp/dfb8677bc641d57ac39edea3b292bd444a015a74 new file mode 100644 index 00000000..66b20a80 Binary files /dev/null and b/fuzz/corpora/cmp/dfb8677bc641d57ac39edea3b292bd444a015a74 differ diff --git a/fuzz/corpora/cmp/dfbbc11d6f5be42dce81a80a6954fd50844388b5 b/fuzz/corpora/cmp/dfbbc11d6f5be42dce81a80a6954fd50844388b5 new file mode 100644 index 00000000..e7de2fcc Binary files /dev/null and b/fuzz/corpora/cmp/dfbbc11d6f5be42dce81a80a6954fd50844388b5 differ diff --git a/fuzz/corpora/cmp/dfc4124ad87b687da72b4e4277787c6bb6c955ee b/fuzz/corpora/cmp/dfc4124ad87b687da72b4e4277787c6bb6c955ee new file mode 100644 index 00000000..f7eaad6d Binary files /dev/null and b/fuzz/corpora/cmp/dfc4124ad87b687da72b4e4277787c6bb6c955ee differ diff --git a/fuzz/corpora/cmp/dfc96adaf913610eba1c8c88026156bd771f1120 b/fuzz/corpora/cmp/dfc96adaf913610eba1c8c88026156bd771f1120 new file mode 100644 index 00000000..075d2ae0 Binary files /dev/null and b/fuzz/corpora/cmp/dfc96adaf913610eba1c8c88026156bd771f1120 differ diff --git a/fuzz/corpora/cmp/dfe7ed42866cc032d1ba9a1c9e8c9239188337eb b/fuzz/corpora/cmp/dfe7ed42866cc032d1ba9a1c9e8c9239188337eb new file mode 100644 index 00000000..73616697 Binary files /dev/null and b/fuzz/corpora/cmp/dfe7ed42866cc032d1ba9a1c9e8c9239188337eb differ diff --git a/fuzz/corpora/cmp/e00a560626147781000df82fbf0d948490343be5 b/fuzz/corpora/cmp/e00a560626147781000df82fbf0d948490343be5 new file mode 100644 index 00000000..df2e2c8d Binary files /dev/null and b/fuzz/corpora/cmp/e00a560626147781000df82fbf0d948490343be5 differ diff --git a/fuzz/corpora/cmp/e00b35223b5fdf58dc62277894554a06957ce37a b/fuzz/corpora/cmp/e00b35223b5fdf58dc62277894554a06957ce37a new file mode 100644 index 00000000..fe8e3366 Binary files /dev/null and b/fuzz/corpora/cmp/e00b35223b5fdf58dc62277894554a06957ce37a differ diff --git a/fuzz/corpora/cmp/e01a1d06a961b948101ad5625c67b2ce7c1d3df1 b/fuzz/corpora/cmp/e01a1d06a961b948101ad5625c67b2ce7c1d3df1 new file mode 100644 index 00000000..fd0550c6 Binary files /dev/null and b/fuzz/corpora/cmp/e01a1d06a961b948101ad5625c67b2ce7c1d3df1 differ diff --git a/fuzz/corpora/cmp/e01b04a2fd9852fcae772e027ce946052e41a4bd b/fuzz/corpora/cmp/e01b04a2fd9852fcae772e027ce946052e41a4bd new file mode 100644 index 00000000..b4612eda Binary files /dev/null and b/fuzz/corpora/cmp/e01b04a2fd9852fcae772e027ce946052e41a4bd differ diff --git a/fuzz/corpora/cmp/e01e430d3e7c06315525c6bc3b307e2aec9cfe78 b/fuzz/corpora/cmp/e01e430d3e7c06315525c6bc3b307e2aec9cfe78 new file mode 100644 index 00000000..101c27b4 Binary files /dev/null and b/fuzz/corpora/cmp/e01e430d3e7c06315525c6bc3b307e2aec9cfe78 differ diff --git a/fuzz/corpora/cmp/e027508e230bb6d7fe3fe712054e54b236783306 b/fuzz/corpora/cmp/e027508e230bb6d7fe3fe712054e54b236783306 new file mode 100644 index 00000000..f426de37 Binary files /dev/null and b/fuzz/corpora/cmp/e027508e230bb6d7fe3fe712054e54b236783306 differ diff --git a/fuzz/corpora/cmp/e0558b14c65610751b78b99275db84af244da9b7 b/fuzz/corpora/cmp/e0558b14c65610751b78b99275db84af244da9b7 new file mode 100644 index 00000000..926c8347 Binary files /dev/null and b/fuzz/corpora/cmp/e0558b14c65610751b78b99275db84af244da9b7 differ diff --git a/fuzz/corpora/cmp/e0565a161d8bad94f00933ed7ef4c4619f5c1560 b/fuzz/corpora/cmp/e0565a161d8bad94f00933ed7ef4c4619f5c1560 new file mode 100644 index 00000000..8ebc03a1 Binary files /dev/null and b/fuzz/corpora/cmp/e0565a161d8bad94f00933ed7ef4c4619f5c1560 differ diff --git a/fuzz/corpora/cmp/e061deacd465c6ca64940245280f36424ebf29aa b/fuzz/corpora/cmp/e061deacd465c6ca64940245280f36424ebf29aa new file mode 100644 index 00000000..bd3f715a Binary files /dev/null and b/fuzz/corpora/cmp/e061deacd465c6ca64940245280f36424ebf29aa differ diff --git a/fuzz/corpora/cmp/e0649db25b8f35e70b220afded2ef9ac587ca141 b/fuzz/corpora/cmp/e0649db25b8f35e70b220afded2ef9ac587ca141 new file mode 100644 index 00000000..7bb7a959 Binary files /dev/null and b/fuzz/corpora/cmp/e0649db25b8f35e70b220afded2ef9ac587ca141 differ diff --git a/fuzz/corpora/cmp/e06d2dc0762791dbdaa5623ac9e1afaec34b5070 b/fuzz/corpora/cmp/e06d2dc0762791dbdaa5623ac9e1afaec34b5070 new file mode 100644 index 00000000..a579a3f3 Binary files /dev/null and b/fuzz/corpora/cmp/e06d2dc0762791dbdaa5623ac9e1afaec34b5070 differ diff --git a/fuzz/corpora/cmp/e07433425d79003f38feb4a4e45f08b5ffba479e b/fuzz/corpora/cmp/e07433425d79003f38feb4a4e45f08b5ffba479e new file mode 100644 index 00000000..8a80c0cc Binary files /dev/null and b/fuzz/corpora/cmp/e07433425d79003f38feb4a4e45f08b5ffba479e differ diff --git a/fuzz/corpora/cmp/e0788f5bf7f5376070eec90f861e1abecf810eb3 b/fuzz/corpora/cmp/e0788f5bf7f5376070eec90f861e1abecf810eb3 new file mode 100644 index 00000000..93e8e8eb Binary files /dev/null and b/fuzz/corpora/cmp/e0788f5bf7f5376070eec90f861e1abecf810eb3 differ diff --git a/fuzz/corpora/cmp/e0881c78994d3a54e6bb18a8306ce9c8f01573e2 b/fuzz/corpora/cmp/e0881c78994d3a54e6bb18a8306ce9c8f01573e2 new file mode 100644 index 00000000..91658b39 Binary files /dev/null and b/fuzz/corpora/cmp/e0881c78994d3a54e6bb18a8306ce9c8f01573e2 differ diff --git a/fuzz/corpora/cmp/e0a399a3c3ddbb65fbf7236a6ed830027629847e b/fuzz/corpora/cmp/e0a399a3c3ddbb65fbf7236a6ed830027629847e new file mode 100644 index 00000000..f187dc27 Binary files /dev/null and b/fuzz/corpora/cmp/e0a399a3c3ddbb65fbf7236a6ed830027629847e differ diff --git a/fuzz/corpora/cmp/e0b7479e0fe74f9ac62313edad4714ea35d359a0 b/fuzz/corpora/cmp/e0b7479e0fe74f9ac62313edad4714ea35d359a0 new file mode 100644 index 00000000..c3bd1fb3 Binary files /dev/null and b/fuzz/corpora/cmp/e0b7479e0fe74f9ac62313edad4714ea35d359a0 differ diff --git a/fuzz/corpora/cmp/e0bdffb26de8eb0145bfd3a1266357f6b894a9a4 b/fuzz/corpora/cmp/e0bdffb26de8eb0145bfd3a1266357f6b894a9a4 new file mode 100644 index 00000000..0bc02513 Binary files /dev/null and b/fuzz/corpora/cmp/e0bdffb26de8eb0145bfd3a1266357f6b894a9a4 differ diff --git a/fuzz/corpora/cmp/e0c1ea8f4f835edb4a5fb35e215a0e13919a11f4 b/fuzz/corpora/cmp/e0c1ea8f4f835edb4a5fb35e215a0e13919a11f4 new file mode 100644 index 00000000..9227b702 Binary files /dev/null and b/fuzz/corpora/cmp/e0c1ea8f4f835edb4a5fb35e215a0e13919a11f4 differ diff --git a/fuzz/corpora/cmp/e0c7a98c9a23c9dc0912ce08bd253ecdf912e0fb b/fuzz/corpora/cmp/e0c7a98c9a23c9dc0912ce08bd253ecdf912e0fb new file mode 100644 index 00000000..84230a6d Binary files /dev/null and b/fuzz/corpora/cmp/e0c7a98c9a23c9dc0912ce08bd253ecdf912e0fb differ diff --git a/fuzz/corpora/cmp/e0c8b0fd6306ac1421ff2c61d82af07c1acb3ad2 b/fuzz/corpora/cmp/e0c8b0fd6306ac1421ff2c61d82af07c1acb3ad2 new file mode 100644 index 00000000..862a0478 Binary files /dev/null and b/fuzz/corpora/cmp/e0c8b0fd6306ac1421ff2c61d82af07c1acb3ad2 differ diff --git a/fuzz/corpora/cmp/e0ce16a2342ec0ecf28dc37fa5e2ed6d2dc00fb8 b/fuzz/corpora/cmp/e0ce16a2342ec0ecf28dc37fa5e2ed6d2dc00fb8 new file mode 100644 index 00000000..3b4cbcf5 Binary files /dev/null and b/fuzz/corpora/cmp/e0ce16a2342ec0ecf28dc37fa5e2ed6d2dc00fb8 differ diff --git a/fuzz/corpora/cmp/e0d9c3109b357a706d584756346cbe7b3108285a b/fuzz/corpora/cmp/e0d9c3109b357a706d584756346cbe7b3108285a new file mode 100644 index 00000000..03c9e151 Binary files /dev/null and b/fuzz/corpora/cmp/e0d9c3109b357a706d584756346cbe7b3108285a differ diff --git a/fuzz/corpora/cmp/e0dd33e40bf3af2f6d8a504e2e2b64ecc42d91b1 b/fuzz/corpora/cmp/e0dd33e40bf3af2f6d8a504e2e2b64ecc42d91b1 new file mode 100644 index 00000000..a8fb4568 Binary files /dev/null and b/fuzz/corpora/cmp/e0dd33e40bf3af2f6d8a504e2e2b64ecc42d91b1 differ diff --git a/fuzz/corpora/cmp/e0e17c7711d0570fdc27630f90908a989a358f56 b/fuzz/corpora/cmp/e0e17c7711d0570fdc27630f90908a989a358f56 new file mode 100644 index 00000000..b9bd4c6c Binary files /dev/null and b/fuzz/corpora/cmp/e0e17c7711d0570fdc27630f90908a989a358f56 differ diff --git a/fuzz/corpora/cmp/e0faf4b8255293b94525d1559a75739b029db2c5 b/fuzz/corpora/cmp/e0faf4b8255293b94525d1559a75739b029db2c5 new file mode 100644 index 00000000..e6de7979 Binary files /dev/null and b/fuzz/corpora/cmp/e0faf4b8255293b94525d1559a75739b029db2c5 differ diff --git a/fuzz/corpora/cmp/e0feef345529e6a6c2fb23c77fb16881b7d71bb2 b/fuzz/corpora/cmp/e0feef345529e6a6c2fb23c77fb16881b7d71bb2 new file mode 100644 index 00000000..78cef17d Binary files /dev/null and b/fuzz/corpora/cmp/e0feef345529e6a6c2fb23c77fb16881b7d71bb2 differ diff --git a/fuzz/corpora/cmp/e102ab805cdbaa2edf8e07c4fdcc6e53559e9883 b/fuzz/corpora/cmp/e102ab805cdbaa2edf8e07c4fdcc6e53559e9883 new file mode 100644 index 00000000..7404dbf6 Binary files /dev/null and b/fuzz/corpora/cmp/e102ab805cdbaa2edf8e07c4fdcc6e53559e9883 differ diff --git a/fuzz/corpora/cmp/e104429486e57b48badae37b95bf1e9150d59b4d b/fuzz/corpora/cmp/e104429486e57b48badae37b95bf1e9150d59b4d new file mode 100644 index 00000000..93574bbc Binary files /dev/null and b/fuzz/corpora/cmp/e104429486e57b48badae37b95bf1e9150d59b4d differ diff --git a/fuzz/corpora/cmp/e111a0a1578a115a6f71212011774b6a575632f5 b/fuzz/corpora/cmp/e111a0a1578a115a6f71212011774b6a575632f5 new file mode 100644 index 00000000..b78fffb6 Binary files /dev/null and b/fuzz/corpora/cmp/e111a0a1578a115a6f71212011774b6a575632f5 differ diff --git a/fuzz/corpora/cmp/e113a0547fbb263c60843fc9e019ce82c54fa6d7 b/fuzz/corpora/cmp/e113a0547fbb263c60843fc9e019ce82c54fa6d7 new file mode 100644 index 00000000..6b88859b Binary files /dev/null and b/fuzz/corpora/cmp/e113a0547fbb263c60843fc9e019ce82c54fa6d7 differ diff --git a/fuzz/corpora/cmp/e1177a3eb3cedd5179247f4da1bd75b3d3d9a49b b/fuzz/corpora/cmp/e1177a3eb3cedd5179247f4da1bd75b3d3d9a49b new file mode 100644 index 00000000..318ebc1b Binary files /dev/null and b/fuzz/corpora/cmp/e1177a3eb3cedd5179247f4da1bd75b3d3d9a49b differ diff --git a/fuzz/corpora/cmp/e120e0ad033dc26dc04d64e9493c8de8f944302b b/fuzz/corpora/cmp/e120e0ad033dc26dc04d64e9493c8de8f944302b new file mode 100644 index 00000000..4c80e905 Binary files /dev/null and b/fuzz/corpora/cmp/e120e0ad033dc26dc04d64e9493c8de8f944302b differ diff --git a/fuzz/corpora/cmp/e1274af3f1bfd6f2808156c8531c3485233751d6 b/fuzz/corpora/cmp/e1274af3f1bfd6f2808156c8531c3485233751d6 new file mode 100644 index 00000000..101a316a Binary files /dev/null and b/fuzz/corpora/cmp/e1274af3f1bfd6f2808156c8531c3485233751d6 differ diff --git a/fuzz/corpora/cmp/e149676070b4ab885975af99db823d451f754c97 b/fuzz/corpora/cmp/e149676070b4ab885975af99db823d451f754c97 new file mode 100644 index 00000000..6128d653 Binary files /dev/null and b/fuzz/corpora/cmp/e149676070b4ab885975af99db823d451f754c97 differ diff --git a/fuzz/corpora/cmp/e163ca40cb728ef60a202b60bb31119bc84fa289 b/fuzz/corpora/cmp/e163ca40cb728ef60a202b60bb31119bc84fa289 new file mode 100644 index 00000000..0993e809 Binary files /dev/null and b/fuzz/corpora/cmp/e163ca40cb728ef60a202b60bb31119bc84fa289 differ diff --git a/fuzz/corpora/cmp/e1af6571f68d897a47ca770af245fff8481c4557 b/fuzz/corpora/cmp/e1af6571f68d897a47ca770af245fff8481c4557 new file mode 100644 index 00000000..19d232a4 Binary files /dev/null and b/fuzz/corpora/cmp/e1af6571f68d897a47ca770af245fff8481c4557 differ diff --git a/fuzz/corpora/cmp/e1bca6f19f64edd11a18f91ff8a50d6c05a30ff6 b/fuzz/corpora/cmp/e1bca6f19f64edd11a18f91ff8a50d6c05a30ff6 new file mode 100644 index 00000000..0bd8352f Binary files /dev/null and b/fuzz/corpora/cmp/e1bca6f19f64edd11a18f91ff8a50d6c05a30ff6 differ diff --git a/fuzz/corpora/cmp/e1c8305ef0c227d2a4bdb5ddbe1217214e81c9d8 b/fuzz/corpora/cmp/e1c8305ef0c227d2a4bdb5ddbe1217214e81c9d8 new file mode 100644 index 00000000..bb31fcf1 Binary files /dev/null and b/fuzz/corpora/cmp/e1c8305ef0c227d2a4bdb5ddbe1217214e81c9d8 differ diff --git a/fuzz/corpora/cmp/e1cc030aa02d3e84ad73b9801bd63c2c62dec4da b/fuzz/corpora/cmp/e1cc030aa02d3e84ad73b9801bd63c2c62dec4da new file mode 100644 index 00000000..efa37893 Binary files /dev/null and b/fuzz/corpora/cmp/e1cc030aa02d3e84ad73b9801bd63c2c62dec4da differ diff --git a/fuzz/corpora/cmp/e1cc7007afdfb5ee7e1a0a634bc98b2fd8fa4032 b/fuzz/corpora/cmp/e1cc7007afdfb5ee7e1a0a634bc98b2fd8fa4032 new file mode 100644 index 00000000..89fefb57 Binary files /dev/null and b/fuzz/corpora/cmp/e1cc7007afdfb5ee7e1a0a634bc98b2fd8fa4032 differ diff --git a/fuzz/corpora/cmp/e1d926b30e967124e4e57e9f52998300cf15d64d b/fuzz/corpora/cmp/e1d926b30e967124e4e57e9f52998300cf15d64d new file mode 100644 index 00000000..bf141ead Binary files /dev/null and b/fuzz/corpora/cmp/e1d926b30e967124e4e57e9f52998300cf15d64d differ diff --git a/fuzz/corpora/cmp/e1ded02283d3dbe4ab85624031f36f298274f2a6 b/fuzz/corpora/cmp/e1ded02283d3dbe4ab85624031f36f298274f2a6 new file mode 100644 index 00000000..2bf5aecc Binary files /dev/null and b/fuzz/corpora/cmp/e1ded02283d3dbe4ab85624031f36f298274f2a6 differ diff --git a/fuzz/corpora/cmp/e1dfd4411266bf24783bc745f78177dc5e7d82bd b/fuzz/corpora/cmp/e1dfd4411266bf24783bc745f78177dc5e7d82bd new file mode 100644 index 00000000..7fa7e87e Binary files /dev/null and b/fuzz/corpora/cmp/e1dfd4411266bf24783bc745f78177dc5e7d82bd differ diff --git a/fuzz/corpora/cmp/e201b60cc9c0e0000c64195ffba1cca2ad2c7d37 b/fuzz/corpora/cmp/e201b60cc9c0e0000c64195ffba1cca2ad2c7d37 new file mode 100644 index 00000000..0cb00fc5 Binary files /dev/null and b/fuzz/corpora/cmp/e201b60cc9c0e0000c64195ffba1cca2ad2c7d37 differ diff --git a/fuzz/corpora/cmp/e2086445d158885434eaba867619fcf9e59de7b1 b/fuzz/corpora/cmp/e2086445d158885434eaba867619fcf9e59de7b1 new file mode 100644 index 00000000..73ba97f7 Binary files /dev/null and b/fuzz/corpora/cmp/e2086445d158885434eaba867619fcf9e59de7b1 differ diff --git a/fuzz/corpora/cmp/e20ad35e84ddac5bfb9b15fd388d1876126e395b b/fuzz/corpora/cmp/e20ad35e84ddac5bfb9b15fd388d1876126e395b new file mode 100644 index 00000000..bfd9cdd5 Binary files /dev/null and b/fuzz/corpora/cmp/e20ad35e84ddac5bfb9b15fd388d1876126e395b differ diff --git a/fuzz/corpora/cmp/e20db32dd1018bd1bb71f769819a7c02fb27dde8 b/fuzz/corpora/cmp/e20db32dd1018bd1bb71f769819a7c02fb27dde8 new file mode 100644 index 00000000..13cb172b Binary files /dev/null and b/fuzz/corpora/cmp/e20db32dd1018bd1bb71f769819a7c02fb27dde8 differ diff --git a/fuzz/corpora/cmp/e21a88a0939ff84e15d97c34d4728cdd28d59af7 b/fuzz/corpora/cmp/e21a88a0939ff84e15d97c34d4728cdd28d59af7 new file mode 100644 index 00000000..d6bf03ad Binary files /dev/null and b/fuzz/corpora/cmp/e21a88a0939ff84e15d97c34d4728cdd28d59af7 differ diff --git a/fuzz/corpora/cmp/e220bbf0d650a81f7add11fdd77ae288e94910fd b/fuzz/corpora/cmp/e220bbf0d650a81f7add11fdd77ae288e94910fd new file mode 100644 index 00000000..46f3eb40 Binary files /dev/null and b/fuzz/corpora/cmp/e220bbf0d650a81f7add11fdd77ae288e94910fd differ diff --git a/fuzz/corpora/cmp/e224e37441493a692ca44697997fda8fefad7553 b/fuzz/corpora/cmp/e224e37441493a692ca44697997fda8fefad7553 new file mode 100644 index 00000000..4fc53155 Binary files /dev/null and b/fuzz/corpora/cmp/e224e37441493a692ca44697997fda8fefad7553 differ diff --git a/fuzz/corpora/cmp/e24d9d2f654e316f9515bd83088ea9b99b94e755 b/fuzz/corpora/cmp/e24d9d2f654e316f9515bd83088ea9b99b94e755 new file mode 100644 index 00000000..88c0168c Binary files /dev/null and b/fuzz/corpora/cmp/e24d9d2f654e316f9515bd83088ea9b99b94e755 differ diff --git a/fuzz/corpora/cmp/e26e5c642bdb4d8188f1b1fb4f7b042eaee04a32 b/fuzz/corpora/cmp/e26e5c642bdb4d8188f1b1fb4f7b042eaee04a32 new file mode 100644 index 00000000..c11dbdbb Binary files /dev/null and b/fuzz/corpora/cmp/e26e5c642bdb4d8188f1b1fb4f7b042eaee04a32 differ diff --git a/fuzz/corpora/cmp/e27f88db8a71f3df54a77a53ea2963c3d2060a0c b/fuzz/corpora/cmp/e27f88db8a71f3df54a77a53ea2963c3d2060a0c new file mode 100644 index 00000000..c6eb5810 Binary files /dev/null and b/fuzz/corpora/cmp/e27f88db8a71f3df54a77a53ea2963c3d2060a0c differ diff --git a/fuzz/corpora/cmp/e289a86236407bc6b1caa756b2c69eaef6a9dc9e b/fuzz/corpora/cmp/e289a86236407bc6b1caa756b2c69eaef6a9dc9e new file mode 100644 index 00000000..477dbf4c Binary files /dev/null and b/fuzz/corpora/cmp/e289a86236407bc6b1caa756b2c69eaef6a9dc9e differ diff --git a/fuzz/corpora/cmp/e2a44d4befa16cd288a330d82a684234ad92238c b/fuzz/corpora/cmp/e2a44d4befa16cd288a330d82a684234ad92238c new file mode 100644 index 00000000..64f3aa1a Binary files /dev/null and b/fuzz/corpora/cmp/e2a44d4befa16cd288a330d82a684234ad92238c differ diff --git a/fuzz/corpora/cmp/e2ca7143af92005fcd16f8b79103b2de027a338b b/fuzz/corpora/cmp/e2ca7143af92005fcd16f8b79103b2de027a338b new file mode 100644 index 00000000..acf1c1ff Binary files /dev/null and b/fuzz/corpora/cmp/e2ca7143af92005fcd16f8b79103b2de027a338b differ diff --git a/fuzz/corpora/cmp/e2cfbb0c698ee3f36f2ab846ddf63f462702f84c b/fuzz/corpora/cmp/e2cfbb0c698ee3f36f2ab846ddf63f462702f84c new file mode 100644 index 00000000..9074ced5 Binary files /dev/null and b/fuzz/corpora/cmp/e2cfbb0c698ee3f36f2ab846ddf63f462702f84c differ diff --git a/fuzz/corpora/cmp/e2dd0c054f1fcf7e5453b313f2d9e15525336460 b/fuzz/corpora/cmp/e2dd0c054f1fcf7e5453b313f2d9e15525336460 new file mode 100644 index 00000000..b2333b10 Binary files /dev/null and b/fuzz/corpora/cmp/e2dd0c054f1fcf7e5453b313f2d9e15525336460 differ diff --git a/fuzz/corpora/cmp/e2e68323f0274debe510ceb7938654316b4b6b7e b/fuzz/corpora/cmp/e2e68323f0274debe510ceb7938654316b4b6b7e new file mode 100644 index 00000000..a440cf06 Binary files /dev/null and b/fuzz/corpora/cmp/e2e68323f0274debe510ceb7938654316b4b6b7e differ diff --git a/fuzz/corpora/cmp/e2f9cc332d46da6908a685e34529c520cd56ccbd b/fuzz/corpora/cmp/e2f9cc332d46da6908a685e34529c520cd56ccbd new file mode 100644 index 00000000..12a8a9d8 Binary files /dev/null and b/fuzz/corpora/cmp/e2f9cc332d46da6908a685e34529c520cd56ccbd differ diff --git a/fuzz/corpora/cmp/e309337f63515856b68d614b08d1f381f547179f b/fuzz/corpora/cmp/e309337f63515856b68d614b08d1f381f547179f new file mode 100644 index 00000000..70ece2cc Binary files /dev/null and b/fuzz/corpora/cmp/e309337f63515856b68d614b08d1f381f547179f differ diff --git a/fuzz/corpora/cmp/e3416bef23f8e688b076eb881af7287bc23bdbf7 b/fuzz/corpora/cmp/e3416bef23f8e688b076eb881af7287bc23bdbf7 new file mode 100644 index 00000000..085c3e20 Binary files /dev/null and b/fuzz/corpora/cmp/e3416bef23f8e688b076eb881af7287bc23bdbf7 differ diff --git a/fuzz/corpora/cmp/e3589d7bd4ed05f7d2813c4f4dd25ec1b8aa897b b/fuzz/corpora/cmp/e3589d7bd4ed05f7d2813c4f4dd25ec1b8aa897b new file mode 100644 index 00000000..8a4847e5 Binary files /dev/null and b/fuzz/corpora/cmp/e3589d7bd4ed05f7d2813c4f4dd25ec1b8aa897b differ diff --git a/fuzz/corpora/cmp/e35faad9015afe5f367c4e683bd53cdf2301cbea b/fuzz/corpora/cmp/e35faad9015afe5f367c4e683bd53cdf2301cbea new file mode 100644 index 00000000..8fa9dd90 Binary files /dev/null and b/fuzz/corpora/cmp/e35faad9015afe5f367c4e683bd53cdf2301cbea differ diff --git a/fuzz/corpora/cmp/e374324410c1b8e33b0064397bb189d8cb7ef1c8 b/fuzz/corpora/cmp/e374324410c1b8e33b0064397bb189d8cb7ef1c8 new file mode 100644 index 00000000..c5d481c0 Binary files /dev/null and b/fuzz/corpora/cmp/e374324410c1b8e33b0064397bb189d8cb7ef1c8 differ diff --git a/fuzz/corpora/cmp/e377a4d9f8ee6d2df60e752e4e2013faa81e26b5 b/fuzz/corpora/cmp/e377a4d9f8ee6d2df60e752e4e2013faa81e26b5 new file mode 100644 index 00000000..204651ec Binary files /dev/null and b/fuzz/corpora/cmp/e377a4d9f8ee6d2df60e752e4e2013faa81e26b5 differ diff --git a/fuzz/corpora/cmp/e3876c995925c9b458ffe35cabc08e0b1af4337b b/fuzz/corpora/cmp/e3876c995925c9b458ffe35cabc08e0b1af4337b new file mode 100644 index 00000000..fd5940b8 Binary files /dev/null and b/fuzz/corpora/cmp/e3876c995925c9b458ffe35cabc08e0b1af4337b differ diff --git a/fuzz/corpora/cmp/e38c3c8c0c0a05693507937c2db2d4317c2affa6 b/fuzz/corpora/cmp/e38c3c8c0c0a05693507937c2db2d4317c2affa6 new file mode 100644 index 00000000..1754e807 Binary files /dev/null and b/fuzz/corpora/cmp/e38c3c8c0c0a05693507937c2db2d4317c2affa6 differ diff --git a/fuzz/corpora/cmp/e39c0c73bf7f8488ac26c48252d19a490eba4816 b/fuzz/corpora/cmp/e39c0c73bf7f8488ac26c48252d19a490eba4816 new file mode 100644 index 00000000..ae20ce16 Binary files /dev/null and b/fuzz/corpora/cmp/e39c0c73bf7f8488ac26c48252d19a490eba4816 differ diff --git a/fuzz/corpora/cmp/e3a86d7d00bc408b6aa92d43781503583fa09c76 b/fuzz/corpora/cmp/e3a86d7d00bc408b6aa92d43781503583fa09c76 new file mode 100644 index 00000000..dab495fe Binary files /dev/null and b/fuzz/corpora/cmp/e3a86d7d00bc408b6aa92d43781503583fa09c76 differ diff --git a/fuzz/corpora/cmp/e3bb82a4373db7c1b0ed2b2570dc2bd51830a2df b/fuzz/corpora/cmp/e3bb82a4373db7c1b0ed2b2570dc2bd51830a2df new file mode 100644 index 00000000..f6b9ad4c Binary files /dev/null and b/fuzz/corpora/cmp/e3bb82a4373db7c1b0ed2b2570dc2bd51830a2df differ diff --git a/fuzz/corpora/cmp/e3f7702d0fadb390e99ba62c02831030a00c4433 b/fuzz/corpora/cmp/e3f7702d0fadb390e99ba62c02831030a00c4433 new file mode 100644 index 00000000..ad58eab4 Binary files /dev/null and b/fuzz/corpora/cmp/e3f7702d0fadb390e99ba62c02831030a00c4433 differ diff --git a/fuzz/corpora/cmp/e401adfba812a321fd408ebef3f35319a2422b21 b/fuzz/corpora/cmp/e401adfba812a321fd408ebef3f35319a2422b21 new file mode 100644 index 00000000..a41495e8 Binary files /dev/null and b/fuzz/corpora/cmp/e401adfba812a321fd408ebef3f35319a2422b21 differ diff --git a/fuzz/corpora/cmp/e4035f2e1a54312005a90ca109864dc220e0cb87 b/fuzz/corpora/cmp/e4035f2e1a54312005a90ca109864dc220e0cb87 new file mode 100644 index 00000000..4ea0f060 Binary files /dev/null and b/fuzz/corpora/cmp/e4035f2e1a54312005a90ca109864dc220e0cb87 differ diff --git a/fuzz/corpora/cmp/e416814225ec2d6376c113d20218fdfcea42595c b/fuzz/corpora/cmp/e416814225ec2d6376c113d20218fdfcea42595c new file mode 100644 index 00000000..50525c8b Binary files /dev/null and b/fuzz/corpora/cmp/e416814225ec2d6376c113d20218fdfcea42595c differ diff --git a/fuzz/corpora/cmp/e41798ed2904c4d6c8b7e346ca666542a0309e1c b/fuzz/corpora/cmp/e41798ed2904c4d6c8b7e346ca666542a0309e1c new file mode 100644 index 00000000..480c1039 Binary files /dev/null and b/fuzz/corpora/cmp/e41798ed2904c4d6c8b7e346ca666542a0309e1c differ diff --git a/fuzz/corpora/cmp/e452c2410d070ff2e7237856bc578ce1c4fb965a b/fuzz/corpora/cmp/e452c2410d070ff2e7237856bc578ce1c4fb965a new file mode 100644 index 00000000..7c0358ac Binary files /dev/null and b/fuzz/corpora/cmp/e452c2410d070ff2e7237856bc578ce1c4fb965a differ diff --git a/fuzz/corpora/cmp/e45f0d3b7a42a41fc95c3e31a231199f8beb4b11 b/fuzz/corpora/cmp/e45f0d3b7a42a41fc95c3e31a231199f8beb4b11 new file mode 100644 index 00000000..2e482097 Binary files /dev/null and b/fuzz/corpora/cmp/e45f0d3b7a42a41fc95c3e31a231199f8beb4b11 differ diff --git a/fuzz/corpora/cmp/e463422b0c590d4a25ac0041b58a156bb72831b9 b/fuzz/corpora/cmp/e463422b0c590d4a25ac0041b58a156bb72831b9 new file mode 100644 index 00000000..04597411 Binary files /dev/null and b/fuzz/corpora/cmp/e463422b0c590d4a25ac0041b58a156bb72831b9 differ diff --git a/fuzz/corpora/cmp/e46b417a42ad5a99ff44f08f5222bfec018e2e73 b/fuzz/corpora/cmp/e46b417a42ad5a99ff44f08f5222bfec018e2e73 new file mode 100644 index 00000000..56e66ca4 Binary files /dev/null and b/fuzz/corpora/cmp/e46b417a42ad5a99ff44f08f5222bfec018e2e73 differ diff --git a/fuzz/corpora/cmp/e46f6abc50a942ab2640c175298af7bbc1399abe b/fuzz/corpora/cmp/e46f6abc50a942ab2640c175298af7bbc1399abe new file mode 100644 index 00000000..720fbd45 Binary files /dev/null and b/fuzz/corpora/cmp/e46f6abc50a942ab2640c175298af7bbc1399abe differ diff --git a/fuzz/corpora/cmp/e47c220a3432800c586dd409fbb54fc226ccd0a9 b/fuzz/corpora/cmp/e47c220a3432800c586dd409fbb54fc226ccd0a9 new file mode 100644 index 00000000..3ec28d65 Binary files /dev/null and b/fuzz/corpora/cmp/e47c220a3432800c586dd409fbb54fc226ccd0a9 differ diff --git a/fuzz/corpora/cmp/e48a749a05f4dab663277315550775f345df837e b/fuzz/corpora/cmp/e48a749a05f4dab663277315550775f345df837e new file mode 100644 index 00000000..c1983e0b Binary files /dev/null and b/fuzz/corpora/cmp/e48a749a05f4dab663277315550775f345df837e differ diff --git a/fuzz/corpora/cmp/e48e17237f8bd0ccfc06ca86bc233141055630f3 b/fuzz/corpora/cmp/e48e17237f8bd0ccfc06ca86bc233141055630f3 new file mode 100644 index 00000000..06a24bb3 Binary files /dev/null and b/fuzz/corpora/cmp/e48e17237f8bd0ccfc06ca86bc233141055630f3 differ diff --git a/fuzz/corpora/cmp/e48e8a690a481734a068f3a4ed05c9d042101f16 b/fuzz/corpora/cmp/e48e8a690a481734a068f3a4ed05c9d042101f16 new file mode 100644 index 00000000..6fa4b20e Binary files /dev/null and b/fuzz/corpora/cmp/e48e8a690a481734a068f3a4ed05c9d042101f16 differ diff --git a/fuzz/corpora/cmp/e48ed284c40906a05109750cb235bd814886a6cc b/fuzz/corpora/cmp/e48ed284c40906a05109750cb235bd814886a6cc new file mode 100644 index 00000000..c22b7d7b Binary files /dev/null and b/fuzz/corpora/cmp/e48ed284c40906a05109750cb235bd814886a6cc differ diff --git a/fuzz/corpora/cmp/e4b4aa0dd0b4de63e8a4d6c0911bf5b8fec5f874 b/fuzz/corpora/cmp/e4b4aa0dd0b4de63e8a4d6c0911bf5b8fec5f874 new file mode 100644 index 00000000..59af4245 Binary files /dev/null and b/fuzz/corpora/cmp/e4b4aa0dd0b4de63e8a4d6c0911bf5b8fec5f874 differ diff --git a/fuzz/corpora/cmp/e4b5471a70936984fdb85367fb3bccade27848ee b/fuzz/corpora/cmp/e4b5471a70936984fdb85367fb3bccade27848ee new file mode 100644 index 00000000..b0474aa5 Binary files /dev/null and b/fuzz/corpora/cmp/e4b5471a70936984fdb85367fb3bccade27848ee differ diff --git a/fuzz/corpora/cmp/e4b716625bc5be2cfc3d2816f5dace1e95b4dd76 b/fuzz/corpora/cmp/e4b716625bc5be2cfc3d2816f5dace1e95b4dd76 new file mode 100644 index 00000000..f58a5e94 Binary files /dev/null and b/fuzz/corpora/cmp/e4b716625bc5be2cfc3d2816f5dace1e95b4dd76 differ diff --git a/fuzz/corpora/cmp/e4b805050bc7d69006a4294fb2534ec1d84a2007 b/fuzz/corpora/cmp/e4b805050bc7d69006a4294fb2534ec1d84a2007 new file mode 100644 index 00000000..d90bb8aa Binary files /dev/null and b/fuzz/corpora/cmp/e4b805050bc7d69006a4294fb2534ec1d84a2007 differ diff --git a/fuzz/corpora/cmp/e4bec4a26ac3da02ada7317ae8071ef3a98f6480 b/fuzz/corpora/cmp/e4bec4a26ac3da02ada7317ae8071ef3a98f6480 new file mode 100644 index 00000000..487826f3 Binary files /dev/null and b/fuzz/corpora/cmp/e4bec4a26ac3da02ada7317ae8071ef3a98f6480 differ diff --git a/fuzz/corpora/cmp/e4c0f75a3ab2f715667783fde66a1beeb1e8985c b/fuzz/corpora/cmp/e4c0f75a3ab2f715667783fde66a1beeb1e8985c new file mode 100644 index 00000000..2294de34 Binary files /dev/null and b/fuzz/corpora/cmp/e4c0f75a3ab2f715667783fde66a1beeb1e8985c differ diff --git a/fuzz/corpora/cmp/e4c1a0867cda4bd63addea47e480e9c56a175378 b/fuzz/corpora/cmp/e4c1a0867cda4bd63addea47e480e9c56a175378 new file mode 100644 index 00000000..38483237 Binary files /dev/null and b/fuzz/corpora/cmp/e4c1a0867cda4bd63addea47e480e9c56a175378 differ diff --git a/fuzz/corpora/cmp/e4c596f9798f421632f917a3911fc56803cf117a b/fuzz/corpora/cmp/e4c596f9798f421632f917a3911fc56803cf117a new file mode 100644 index 00000000..81bbb509 Binary files /dev/null and b/fuzz/corpora/cmp/e4c596f9798f421632f917a3911fc56803cf117a differ diff --git a/fuzz/corpora/cmp/e4c811ea7a44248bf0ec5733b565f488e9cfca8e b/fuzz/corpora/cmp/e4c811ea7a44248bf0ec5733b565f488e9cfca8e new file mode 100644 index 00000000..1e4f9912 Binary files /dev/null and b/fuzz/corpora/cmp/e4c811ea7a44248bf0ec5733b565f488e9cfca8e differ diff --git a/fuzz/corpora/cmp/e4e95ca073ea2e1ffcc5752845630c7a82db154b b/fuzz/corpora/cmp/e4e95ca073ea2e1ffcc5752845630c7a82db154b new file mode 100644 index 00000000..f4dde9f8 Binary files /dev/null and b/fuzz/corpora/cmp/e4e95ca073ea2e1ffcc5752845630c7a82db154b differ diff --git a/fuzz/corpora/cmp/e4f0408a55d9990c61f44e23afb465973caa672d b/fuzz/corpora/cmp/e4f0408a55d9990c61f44e23afb465973caa672d new file mode 100644 index 00000000..7982503c Binary files /dev/null and b/fuzz/corpora/cmp/e4f0408a55d9990c61f44e23afb465973caa672d differ diff --git a/fuzz/corpora/cmp/e4f5d354094d728fb52ed48a058fac891f8ada1a b/fuzz/corpora/cmp/e4f5d354094d728fb52ed48a058fac891f8ada1a new file mode 100644 index 00000000..a2c70125 Binary files /dev/null and b/fuzz/corpora/cmp/e4f5d354094d728fb52ed48a058fac891f8ada1a differ diff --git a/fuzz/corpora/cmp/e501275235e8ee38443cefed3f7a7cabb1f9e347 b/fuzz/corpora/cmp/e501275235e8ee38443cefed3f7a7cabb1f9e347 new file mode 100644 index 00000000..ec151665 Binary files /dev/null and b/fuzz/corpora/cmp/e501275235e8ee38443cefed3f7a7cabb1f9e347 differ diff --git a/fuzz/corpora/cmp/e5020df6c75090b35b6b85ef2f88563da4f7d863 b/fuzz/corpora/cmp/e5020df6c75090b35b6b85ef2f88563da4f7d863 new file mode 100644 index 00000000..e3835291 Binary files /dev/null and b/fuzz/corpora/cmp/e5020df6c75090b35b6b85ef2f88563da4f7d863 differ diff --git a/fuzz/corpora/cmp/e510230560b7fb24e23589636ccff1cba399ac2b b/fuzz/corpora/cmp/e510230560b7fb24e23589636ccff1cba399ac2b new file mode 100644 index 00000000..6cc3399c Binary files /dev/null and b/fuzz/corpora/cmp/e510230560b7fb24e23589636ccff1cba399ac2b differ diff --git a/fuzz/corpora/cmp/e554b14784fe4b7b0e0366cec368a4227b17ad77 b/fuzz/corpora/cmp/e554b14784fe4b7b0e0366cec368a4227b17ad77 new file mode 100644 index 00000000..16494984 Binary files /dev/null and b/fuzz/corpora/cmp/e554b14784fe4b7b0e0366cec368a4227b17ad77 differ diff --git a/fuzz/corpora/cmp/e562ce9d5a9d326081a03764fd2acace93298b6c b/fuzz/corpora/cmp/e562ce9d5a9d326081a03764fd2acace93298b6c new file mode 100644 index 00000000..ccbbf2a9 Binary files /dev/null and b/fuzz/corpora/cmp/e562ce9d5a9d326081a03764fd2acace93298b6c differ diff --git a/fuzz/corpora/cmp/e570035a0bbec102ea944c97979025314ffc6a13 b/fuzz/corpora/cmp/e570035a0bbec102ea944c97979025314ffc6a13 new file mode 100644 index 00000000..0e7c46da Binary files /dev/null and b/fuzz/corpora/cmp/e570035a0bbec102ea944c97979025314ffc6a13 differ diff --git a/fuzz/corpora/cmp/e57b19d02e82f8da4cce53a096b1983a757bf16e b/fuzz/corpora/cmp/e57b19d02e82f8da4cce53a096b1983a757bf16e new file mode 100644 index 00000000..e5c3ef36 Binary files /dev/null and b/fuzz/corpora/cmp/e57b19d02e82f8da4cce53a096b1983a757bf16e differ diff --git a/fuzz/corpora/cmp/e57e31c0baf5ea7f237a7875907fb5961ebdc718 b/fuzz/corpora/cmp/e57e31c0baf5ea7f237a7875907fb5961ebdc718 new file mode 100644 index 00000000..b4b6b7d7 Binary files /dev/null and b/fuzz/corpora/cmp/e57e31c0baf5ea7f237a7875907fb5961ebdc718 differ diff --git a/fuzz/corpora/cmp/e5834b77aecd08d3e043f820e9b7228ba87f372b b/fuzz/corpora/cmp/e5834b77aecd08d3e043f820e9b7228ba87f372b new file mode 100644 index 00000000..b4ecf6c0 Binary files /dev/null and b/fuzz/corpora/cmp/e5834b77aecd08d3e043f820e9b7228ba87f372b differ diff --git a/fuzz/corpora/cmp/e5b584f13d4240a37e61210d780788fba8a40484 b/fuzz/corpora/cmp/e5b584f13d4240a37e61210d780788fba8a40484 new file mode 100644 index 00000000..4fe1cf0e Binary files /dev/null and b/fuzz/corpora/cmp/e5b584f13d4240a37e61210d780788fba8a40484 differ diff --git a/fuzz/corpora/cmp/e5b9976b6fa14d1b3296b2918618de9670b6ff04 b/fuzz/corpora/cmp/e5b9976b6fa14d1b3296b2918618de9670b6ff04 new file mode 100644 index 00000000..e495d40c Binary files /dev/null and b/fuzz/corpora/cmp/e5b9976b6fa14d1b3296b2918618de9670b6ff04 differ diff --git a/fuzz/corpora/cmp/e5c348c9e6b9fc35ba5499ceb8b7fbb8c771ea3a b/fuzz/corpora/cmp/e5c348c9e6b9fc35ba5499ceb8b7fbb8c771ea3a new file mode 100644 index 00000000..f2841e9d Binary files /dev/null and b/fuzz/corpora/cmp/e5c348c9e6b9fc35ba5499ceb8b7fbb8c771ea3a differ diff --git a/fuzz/corpora/cmp/e5d2b4a216028519beddb144230eb3f3ee8a9209 b/fuzz/corpora/cmp/e5d2b4a216028519beddb144230eb3f3ee8a9209 new file mode 100644 index 00000000..5a86c456 Binary files /dev/null and b/fuzz/corpora/cmp/e5d2b4a216028519beddb144230eb3f3ee8a9209 differ diff --git a/fuzz/corpora/cmp/e5db5065aeccc9569625b7815d117e01b7f62bcd b/fuzz/corpora/cmp/e5db5065aeccc9569625b7815d117e01b7f62bcd new file mode 100644 index 00000000..1ad779e2 Binary files /dev/null and b/fuzz/corpora/cmp/e5db5065aeccc9569625b7815d117e01b7f62bcd differ diff --git a/fuzz/corpora/cmp/e5e55b0ebf164f123f412603c25e7a02b76f0467 b/fuzz/corpora/cmp/e5e55b0ebf164f123f412603c25e7a02b76f0467 new file mode 100644 index 00000000..d25106b7 Binary files /dev/null and b/fuzz/corpora/cmp/e5e55b0ebf164f123f412603c25e7a02b76f0467 differ diff --git a/fuzz/corpora/cmp/e5e8803b7aa6057502429f2651d6925f8ee394f3 b/fuzz/corpora/cmp/e5e8803b7aa6057502429f2651d6925f8ee394f3 new file mode 100644 index 00000000..4f49629d Binary files /dev/null and b/fuzz/corpora/cmp/e5e8803b7aa6057502429f2651d6925f8ee394f3 differ diff --git a/fuzz/corpora/cmp/e60396102a1464e78b254cc8805e4bbb064ea000 b/fuzz/corpora/cmp/e60396102a1464e78b254cc8805e4bbb064ea000 new file mode 100644 index 00000000..14a2293d Binary files /dev/null and b/fuzz/corpora/cmp/e60396102a1464e78b254cc8805e4bbb064ea000 differ diff --git a/fuzz/corpora/cmp/e606bc81239725594a8948edce44e1a60c4c8dac b/fuzz/corpora/cmp/e606bc81239725594a8948edce44e1a60c4c8dac new file mode 100644 index 00000000..90a008ae Binary files /dev/null and b/fuzz/corpora/cmp/e606bc81239725594a8948edce44e1a60c4c8dac differ diff --git a/fuzz/corpora/cmp/e6147251188cd47f8cba7bf94213090ab1ce7ff2 b/fuzz/corpora/cmp/e6147251188cd47f8cba7bf94213090ab1ce7ff2 new file mode 100644 index 00000000..f55db0ff Binary files /dev/null and b/fuzz/corpora/cmp/e6147251188cd47f8cba7bf94213090ab1ce7ff2 differ diff --git a/fuzz/corpora/cmp/e63101782b1beedcf3b61e5a91bca76723ab3b56 b/fuzz/corpora/cmp/e63101782b1beedcf3b61e5a91bca76723ab3b56 new file mode 100644 index 00000000..4a99f679 Binary files /dev/null and b/fuzz/corpora/cmp/e63101782b1beedcf3b61e5a91bca76723ab3b56 differ diff --git a/fuzz/corpora/cmp/e639bf7ef01a940ad67178aac860ddb63ade323d b/fuzz/corpora/cmp/e639bf7ef01a940ad67178aac860ddb63ade323d new file mode 100644 index 00000000..a9db61b8 Binary files /dev/null and b/fuzz/corpora/cmp/e639bf7ef01a940ad67178aac860ddb63ade323d differ diff --git a/fuzz/corpora/cmp/e63a83f37d9dea8371853b4640190135f6c04187 b/fuzz/corpora/cmp/e63a83f37d9dea8371853b4640190135f6c04187 new file mode 100644 index 00000000..568bd16a Binary files /dev/null and b/fuzz/corpora/cmp/e63a83f37d9dea8371853b4640190135f6c04187 differ diff --git a/fuzz/corpora/cmp/e65ef0580d48faf253cd9411ecfa14bb6408f562 b/fuzz/corpora/cmp/e65ef0580d48faf253cd9411ecfa14bb6408f562 new file mode 100644 index 00000000..b2d86a62 Binary files /dev/null and b/fuzz/corpora/cmp/e65ef0580d48faf253cd9411ecfa14bb6408f562 differ diff --git a/fuzz/corpora/cmp/e66ee111c39b8b8c748972dcd3dcebb25f693869 b/fuzz/corpora/cmp/e66ee111c39b8b8c748972dcd3dcebb25f693869 new file mode 100644 index 00000000..9dfa3bbc Binary files /dev/null and b/fuzz/corpora/cmp/e66ee111c39b8b8c748972dcd3dcebb25f693869 differ diff --git a/fuzz/corpora/cmp/e67bf4315f3422567b88543a19a3fd5fa1976716 b/fuzz/corpora/cmp/e67bf4315f3422567b88543a19a3fd5fa1976716 new file mode 100644 index 00000000..f2d1cefa Binary files /dev/null and b/fuzz/corpora/cmp/e67bf4315f3422567b88543a19a3fd5fa1976716 differ diff --git a/fuzz/corpora/cmp/e683c0d68f9fb865ff5b08e8ad6cf0f6fc40139d b/fuzz/corpora/cmp/e683c0d68f9fb865ff5b08e8ad6cf0f6fc40139d new file mode 100644 index 00000000..d56253da Binary files /dev/null and b/fuzz/corpora/cmp/e683c0d68f9fb865ff5b08e8ad6cf0f6fc40139d differ diff --git a/fuzz/corpora/cmp/e68d4af64c79ba8a8f1f4967550aa15dcb12d383 b/fuzz/corpora/cmp/e68d4af64c79ba8a8f1f4967550aa15dcb12d383 new file mode 100644 index 00000000..b8fd7a20 Binary files /dev/null and b/fuzz/corpora/cmp/e68d4af64c79ba8a8f1f4967550aa15dcb12d383 differ diff --git a/fuzz/corpora/cmp/e690451d6979fe8350c5777eebb150fbce5f2b89 b/fuzz/corpora/cmp/e690451d6979fe8350c5777eebb150fbce5f2b89 new file mode 100644 index 00000000..0e72eb49 Binary files /dev/null and b/fuzz/corpora/cmp/e690451d6979fe8350c5777eebb150fbce5f2b89 differ diff --git a/fuzz/corpora/cmp/e691e398c0971f0a9ba753b764f45fb2cdf3a891 b/fuzz/corpora/cmp/e691e398c0971f0a9ba753b764f45fb2cdf3a891 new file mode 100644 index 00000000..8489169d Binary files /dev/null and b/fuzz/corpora/cmp/e691e398c0971f0a9ba753b764f45fb2cdf3a891 differ diff --git a/fuzz/corpora/cmp/e6ab31d54b6a30f0111ba9147f96a4f131ff3b8f b/fuzz/corpora/cmp/e6ab31d54b6a30f0111ba9147f96a4f131ff3b8f new file mode 100644 index 00000000..151d8e11 Binary files /dev/null and b/fuzz/corpora/cmp/e6ab31d54b6a30f0111ba9147f96a4f131ff3b8f differ diff --git a/fuzz/corpora/cmp/e6adccceb89ca2527f49663832ac084369e7042e b/fuzz/corpora/cmp/e6adccceb89ca2527f49663832ac084369e7042e new file mode 100644 index 00000000..85540d90 Binary files /dev/null and b/fuzz/corpora/cmp/e6adccceb89ca2527f49663832ac084369e7042e differ diff --git a/fuzz/corpora/cmp/e6da19578dd13f54c66b2e4ed372b92d5cf3d6cd b/fuzz/corpora/cmp/e6da19578dd13f54c66b2e4ed372b92d5cf3d6cd new file mode 100644 index 00000000..061e37c0 Binary files /dev/null and b/fuzz/corpora/cmp/e6da19578dd13f54c66b2e4ed372b92d5cf3d6cd differ diff --git a/fuzz/corpora/cmp/e71d17012fc08652eacb17b81776255c6e1b1ef0 b/fuzz/corpora/cmp/e71d17012fc08652eacb17b81776255c6e1b1ef0 new file mode 100644 index 00000000..d4bedefd Binary files /dev/null and b/fuzz/corpora/cmp/e71d17012fc08652eacb17b81776255c6e1b1ef0 differ diff --git a/fuzz/corpora/cmp/e72d7390512aa7a8a2a92b9d53e971a030b8ded8 b/fuzz/corpora/cmp/e72d7390512aa7a8a2a92b9d53e971a030b8ded8 new file mode 100644 index 00000000..1fb3b96b Binary files /dev/null and b/fuzz/corpora/cmp/e72d7390512aa7a8a2a92b9d53e971a030b8ded8 differ diff --git a/fuzz/corpora/cmp/e740462ba7eadcc74989cebbeb771764346a86c2 b/fuzz/corpora/cmp/e740462ba7eadcc74989cebbeb771764346a86c2 new file mode 100644 index 00000000..eb5e1fb8 Binary files /dev/null and b/fuzz/corpora/cmp/e740462ba7eadcc74989cebbeb771764346a86c2 differ diff --git a/fuzz/corpora/cmp/e750ecf8803152e62d0b828a32a8585c21e2055a b/fuzz/corpora/cmp/e750ecf8803152e62d0b828a32a8585c21e2055a new file mode 100644 index 00000000..3f9884ca Binary files /dev/null and b/fuzz/corpora/cmp/e750ecf8803152e62d0b828a32a8585c21e2055a differ diff --git a/fuzz/corpora/cmp/e7750087f24696a93f751dfc591013e25ea818b0 b/fuzz/corpora/cmp/e7750087f24696a93f751dfc591013e25ea818b0 new file mode 100644 index 00000000..aa9d323c Binary files /dev/null and b/fuzz/corpora/cmp/e7750087f24696a93f751dfc591013e25ea818b0 differ diff --git a/fuzz/corpora/cmp/e77df2745b2a38ce6dfb91206e1b92140cc91924 b/fuzz/corpora/cmp/e77df2745b2a38ce6dfb91206e1b92140cc91924 new file mode 100644 index 00000000..dc716466 Binary files /dev/null and b/fuzz/corpora/cmp/e77df2745b2a38ce6dfb91206e1b92140cc91924 differ diff --git a/fuzz/corpora/cmp/e78b27a37f75fec9fcb67b49141a3d21d07fa36a b/fuzz/corpora/cmp/e78b27a37f75fec9fcb67b49141a3d21d07fa36a new file mode 100644 index 00000000..dc57aa11 Binary files /dev/null and b/fuzz/corpora/cmp/e78b27a37f75fec9fcb67b49141a3d21d07fa36a differ diff --git a/fuzz/corpora/cmp/e78d6f67007aba6174eecc831a0450225f691378 b/fuzz/corpora/cmp/e78d6f67007aba6174eecc831a0450225f691378 new file mode 100644 index 00000000..720262c5 Binary files /dev/null and b/fuzz/corpora/cmp/e78d6f67007aba6174eecc831a0450225f691378 differ diff --git a/fuzz/corpora/cmp/e78e84e1c8a1848646ef25d7a1460d0ee5654d82 b/fuzz/corpora/cmp/e78e84e1c8a1848646ef25d7a1460d0ee5654d82 new file mode 100644 index 00000000..6a77669b Binary files /dev/null and b/fuzz/corpora/cmp/e78e84e1c8a1848646ef25d7a1460d0ee5654d82 differ diff --git a/fuzz/corpora/cmp/e79a9a73e04d1df6d3f656e8b47a4a4118ec401c b/fuzz/corpora/cmp/e79a9a73e04d1df6d3f656e8b47a4a4118ec401c new file mode 100644 index 00000000..1d348831 Binary files /dev/null and b/fuzz/corpora/cmp/e79a9a73e04d1df6d3f656e8b47a4a4118ec401c differ diff --git a/fuzz/corpora/cmp/e7a887d5dfefcc94fd28002d71070e3b0ed93e37 b/fuzz/corpora/cmp/e7a887d5dfefcc94fd28002d71070e3b0ed93e37 new file mode 100644 index 00000000..76583da2 Binary files /dev/null and b/fuzz/corpora/cmp/e7a887d5dfefcc94fd28002d71070e3b0ed93e37 differ diff --git a/fuzz/corpora/cmp/e7b2bde7bc51f9ddb9258f099e3628a6888f4e56 b/fuzz/corpora/cmp/e7b2bde7bc51f9ddb9258f099e3628a6888f4e56 new file mode 100644 index 00000000..a2d1db53 Binary files /dev/null and b/fuzz/corpora/cmp/e7b2bde7bc51f9ddb9258f099e3628a6888f4e56 differ diff --git a/fuzz/corpora/cmp/e7b862c5d9bded5ef6ac057d3a322ff61c25b2e6 b/fuzz/corpora/cmp/e7b862c5d9bded5ef6ac057d3a322ff61c25b2e6 new file mode 100644 index 00000000..ec4f8cae Binary files /dev/null and b/fuzz/corpora/cmp/e7b862c5d9bded5ef6ac057d3a322ff61c25b2e6 differ diff --git a/fuzz/corpora/cmp/e7bb93b66a44b73b98a892d38653c1742fd08744 b/fuzz/corpora/cmp/e7bb93b66a44b73b98a892d38653c1742fd08744 new file mode 100644 index 00000000..a0c2ee8b Binary files /dev/null and b/fuzz/corpora/cmp/e7bb93b66a44b73b98a892d38653c1742fd08744 differ diff --git a/fuzz/corpora/cmp/e7d6aaf99327d3a5aee608c1eba3622dd0d4f8ef b/fuzz/corpora/cmp/e7d6aaf99327d3a5aee608c1eba3622dd0d4f8ef new file mode 100644 index 00000000..473c67cd Binary files /dev/null and b/fuzz/corpora/cmp/e7d6aaf99327d3a5aee608c1eba3622dd0d4f8ef differ diff --git a/fuzz/corpora/cmp/e7d898312de3fc1b6200391be9ca565fb3d47c03 b/fuzz/corpora/cmp/e7d898312de3fc1b6200391be9ca565fb3d47c03 new file mode 100644 index 00000000..b43ca17b Binary files /dev/null and b/fuzz/corpora/cmp/e7d898312de3fc1b6200391be9ca565fb3d47c03 differ diff --git a/fuzz/corpora/cmp/e7e16203e566595d35fdfb2af57e4e2052287142 b/fuzz/corpora/cmp/e7e16203e566595d35fdfb2af57e4e2052287142 new file mode 100644 index 00000000..066b7d47 Binary files /dev/null and b/fuzz/corpora/cmp/e7e16203e566595d35fdfb2af57e4e2052287142 differ diff --git a/fuzz/corpora/cmp/e7f184505723cafb9ebd4eb6292fc4b9a369eaf1 b/fuzz/corpora/cmp/e7f184505723cafb9ebd4eb6292fc4b9a369eaf1 new file mode 100644 index 00000000..7ea848b7 Binary files /dev/null and b/fuzz/corpora/cmp/e7f184505723cafb9ebd4eb6292fc4b9a369eaf1 differ diff --git a/fuzz/corpora/cmp/e813aefd0cac5a6a3f945a98204470b7a4976136 b/fuzz/corpora/cmp/e813aefd0cac5a6a3f945a98204470b7a4976136 new file mode 100644 index 00000000..796c3820 Binary files /dev/null and b/fuzz/corpora/cmp/e813aefd0cac5a6a3f945a98204470b7a4976136 differ diff --git a/fuzz/corpora/cmp/e82150e614c5d6f8e0c0580e8b4024cc1a6161c2 b/fuzz/corpora/cmp/e82150e614c5d6f8e0c0580e8b4024cc1a6161c2 new file mode 100644 index 00000000..7a4ebdaa Binary files /dev/null and b/fuzz/corpora/cmp/e82150e614c5d6f8e0c0580e8b4024cc1a6161c2 differ diff --git a/fuzz/corpora/cmp/e82345e85c17f82fe6daff78412a4d470a0939e5 b/fuzz/corpora/cmp/e82345e85c17f82fe6daff78412a4d470a0939e5 new file mode 100644 index 00000000..9f2663e4 Binary files /dev/null and b/fuzz/corpora/cmp/e82345e85c17f82fe6daff78412a4d470a0939e5 differ diff --git a/fuzz/corpora/cmp/e82f2c85804a1b1a2a5d5cce16470dad976035ff b/fuzz/corpora/cmp/e82f2c85804a1b1a2a5d5cce16470dad976035ff new file mode 100644 index 00000000..fa98ec11 Binary files /dev/null and b/fuzz/corpora/cmp/e82f2c85804a1b1a2a5d5cce16470dad976035ff differ diff --git a/fuzz/corpora/cmp/e847ce538c698cd8b283dc6f2d5c69b50874225e b/fuzz/corpora/cmp/e847ce538c698cd8b283dc6f2d5c69b50874225e new file mode 100644 index 00000000..8276f721 --- /dev/null +++ b/fuzz/corpora/cmp/e847ce538c698cd8b283dc6f2d5c69b50874225e @@ -0,0 +1 @@ +00€¿ÿÿ \ No newline at end of file diff --git a/fuzz/corpora/cmp/e851da1353ad1378685d06299182d926c40d8958 b/fuzz/corpora/cmp/e851da1353ad1378685d06299182d926c40d8958 new file mode 100644 index 00000000..15437c98 Binary files /dev/null and b/fuzz/corpora/cmp/e851da1353ad1378685d06299182d926c40d8958 differ diff --git a/fuzz/corpora/cmp/e87abaa05e21cbda2795d73432765ca874c5be25 b/fuzz/corpora/cmp/e87abaa05e21cbda2795d73432765ca874c5be25 new file mode 100644 index 00000000..400c390e Binary files /dev/null and b/fuzz/corpora/cmp/e87abaa05e21cbda2795d73432765ca874c5be25 differ diff --git a/fuzz/corpora/cmp/e88a9595084bb2561465a51db051f12a2511bf38 b/fuzz/corpora/cmp/e88a9595084bb2561465a51db051f12a2511bf38 new file mode 100644 index 00000000..f5de469c Binary files /dev/null and b/fuzz/corpora/cmp/e88a9595084bb2561465a51db051f12a2511bf38 differ diff --git a/fuzz/corpora/cmp/e8a20356c21ebd50c72430235f165b31c3236869 b/fuzz/corpora/cmp/e8a20356c21ebd50c72430235f165b31c3236869 new file mode 100644 index 00000000..aacd5227 Binary files /dev/null and b/fuzz/corpora/cmp/e8a20356c21ebd50c72430235f165b31c3236869 differ diff --git a/fuzz/corpora/cmp/e8b82dcb5ed3b35dd1910b60d98c99c725b00f4a b/fuzz/corpora/cmp/e8b82dcb5ed3b35dd1910b60d98c99c725b00f4a new file mode 100644 index 00000000..8a47c0b3 Binary files /dev/null and b/fuzz/corpora/cmp/e8b82dcb5ed3b35dd1910b60d98c99c725b00f4a differ diff --git a/fuzz/corpora/cmp/e8c1e20c6a370adcacb7a40da790a3b6215cbf22 b/fuzz/corpora/cmp/e8c1e20c6a370adcacb7a40da790a3b6215cbf22 new file mode 100644 index 00000000..4c8b2bb8 Binary files /dev/null and b/fuzz/corpora/cmp/e8c1e20c6a370adcacb7a40da790a3b6215cbf22 differ diff --git a/fuzz/corpora/cmp/e8d376dce0ea45f8253cb8084877b0738ea11164 b/fuzz/corpora/cmp/e8d376dce0ea45f8253cb8084877b0738ea11164 new file mode 100644 index 00000000..ea977c4e Binary files /dev/null and b/fuzz/corpora/cmp/e8d376dce0ea45f8253cb8084877b0738ea11164 differ diff --git a/fuzz/corpora/cmp/e8d67a442f18ee846909009e8dad5bc74341b324 b/fuzz/corpora/cmp/e8d67a442f18ee846909009e8dad5bc74341b324 new file mode 100644 index 00000000..a4fa7c27 Binary files /dev/null and b/fuzz/corpora/cmp/e8d67a442f18ee846909009e8dad5bc74341b324 differ diff --git a/fuzz/corpora/cmp/e8e4283758a1a0bc453cb30cc31a3b668886a048 b/fuzz/corpora/cmp/e8e4283758a1a0bc453cb30cc31a3b668886a048 new file mode 100644 index 00000000..a357d709 Binary files /dev/null and b/fuzz/corpora/cmp/e8e4283758a1a0bc453cb30cc31a3b668886a048 differ diff --git a/fuzz/corpora/cmp/e8f8a6f1dfb52b2b2fc7a6d2f19a806b87e42c58 b/fuzz/corpora/cmp/e8f8a6f1dfb52b2b2fc7a6d2f19a806b87e42c58 new file mode 100644 index 00000000..dd4e2a55 Binary files /dev/null and b/fuzz/corpora/cmp/e8f8a6f1dfb52b2b2fc7a6d2f19a806b87e42c58 differ diff --git a/fuzz/corpora/cmp/e9043a99af479e179cc52481a7a581e43caf442d b/fuzz/corpora/cmp/e9043a99af479e179cc52481a7a581e43caf442d new file mode 100644 index 00000000..1f8eb668 Binary files /dev/null and b/fuzz/corpora/cmp/e9043a99af479e179cc52481a7a581e43caf442d differ diff --git a/fuzz/corpora/cmp/e910de8b2335e8eba3473dde61145b9e5fe1c819 b/fuzz/corpora/cmp/e910de8b2335e8eba3473dde61145b9e5fe1c819 new file mode 100644 index 00000000..b06a36f0 Binary files /dev/null and b/fuzz/corpora/cmp/e910de8b2335e8eba3473dde61145b9e5fe1c819 differ diff --git a/fuzz/corpora/cmp/e91b0bcd01f4549abd8f1059c5bf6814099ba2fd b/fuzz/corpora/cmp/e91b0bcd01f4549abd8f1059c5bf6814099ba2fd new file mode 100644 index 00000000..208aa3c7 Binary files /dev/null and b/fuzz/corpora/cmp/e91b0bcd01f4549abd8f1059c5bf6814099ba2fd differ diff --git a/fuzz/corpora/cmp/e93fd0a00ca2419f76291f0066ca8db631165c83 b/fuzz/corpora/cmp/e93fd0a00ca2419f76291f0066ca8db631165c83 new file mode 100644 index 00000000..678e76c4 Binary files /dev/null and b/fuzz/corpora/cmp/e93fd0a00ca2419f76291f0066ca8db631165c83 differ diff --git a/fuzz/corpora/cmp/e94bf89e9420cdc026613fc5a0d2c6214f587c98 b/fuzz/corpora/cmp/e94bf89e9420cdc026613fc5a0d2c6214f587c98 new file mode 100644 index 00000000..3e4455dd Binary files /dev/null and b/fuzz/corpora/cmp/e94bf89e9420cdc026613fc5a0d2c6214f587c98 differ diff --git a/fuzz/corpora/cmp/e95d7197e149e2664e14984729e56026db350780 b/fuzz/corpora/cmp/e95d7197e149e2664e14984729e56026db350780 new file mode 100644 index 00000000..7cf56ecb Binary files /dev/null and b/fuzz/corpora/cmp/e95d7197e149e2664e14984729e56026db350780 differ diff --git a/fuzz/corpora/cmp/e960f1f3f0d0c823035c7709af8286632faee461 b/fuzz/corpora/cmp/e960f1f3f0d0c823035c7709af8286632faee461 new file mode 100644 index 00000000..72c1ca3b Binary files /dev/null and b/fuzz/corpora/cmp/e960f1f3f0d0c823035c7709af8286632faee461 differ diff --git a/fuzz/corpora/cmp/e97b552292a963d554a88ae2132d7200e67a67ae b/fuzz/corpora/cmp/e97b552292a963d554a88ae2132d7200e67a67ae new file mode 100644 index 00000000..0bbd3e7d Binary files /dev/null and b/fuzz/corpora/cmp/e97b552292a963d554a88ae2132d7200e67a67ae differ diff --git a/fuzz/corpora/cmp/e988ea33dab463d33ab4aa08ba8313b50cac2a61 b/fuzz/corpora/cmp/e988ea33dab463d33ab4aa08ba8313b50cac2a61 new file mode 100644 index 00000000..d0375f40 Binary files /dev/null and b/fuzz/corpora/cmp/e988ea33dab463d33ab4aa08ba8313b50cac2a61 differ diff --git a/fuzz/corpora/cmp/e98df08246c6d976fae2e16def0e862f744a1104 b/fuzz/corpora/cmp/e98df08246c6d976fae2e16def0e862f744a1104 new file mode 100644 index 00000000..28231404 Binary files /dev/null and b/fuzz/corpora/cmp/e98df08246c6d976fae2e16def0e862f744a1104 differ diff --git a/fuzz/corpora/cmp/e9d9e28724148d929fb0e7cf9317cee848c7c2ae b/fuzz/corpora/cmp/e9d9e28724148d929fb0e7cf9317cee848c7c2ae new file mode 100644 index 00000000..135c42eb Binary files /dev/null and b/fuzz/corpora/cmp/e9d9e28724148d929fb0e7cf9317cee848c7c2ae differ diff --git a/fuzz/corpora/cmp/e9e824a6431d79a3795b1fb8f3aa33bd9efb5503 b/fuzz/corpora/cmp/e9e824a6431d79a3795b1fb8f3aa33bd9efb5503 new file mode 100644 index 00000000..e2da79ba Binary files /dev/null and b/fuzz/corpora/cmp/e9e824a6431d79a3795b1fb8f3aa33bd9efb5503 differ diff --git a/fuzz/corpora/cmp/e9f2634276168317106ae46e0210802e1bb9d155 b/fuzz/corpora/cmp/e9f2634276168317106ae46e0210802e1bb9d155 new file mode 100644 index 00000000..78dac5bc Binary files /dev/null and b/fuzz/corpora/cmp/e9f2634276168317106ae46e0210802e1bb9d155 differ diff --git a/fuzz/corpora/cmp/e9f6e9e7d8122eead9d76ee1dbd44486d5ce4978 b/fuzz/corpora/cmp/e9f6e9e7d8122eead9d76ee1dbd44486d5ce4978 new file mode 100644 index 00000000..9f4013d8 Binary files /dev/null and b/fuzz/corpora/cmp/e9f6e9e7d8122eead9d76ee1dbd44486d5ce4978 differ diff --git a/fuzz/corpora/cmp/e9f9f7b7c62d4e39336b8c7cca69998465004228 b/fuzz/corpora/cmp/e9f9f7b7c62d4e39336b8c7cca69998465004228 new file mode 100644 index 00000000..088cae14 Binary files /dev/null and b/fuzz/corpora/cmp/e9f9f7b7c62d4e39336b8c7cca69998465004228 differ diff --git a/fuzz/corpora/cmp/ea051e4337a8863dc6473cbb0b0daf8f9a54352a b/fuzz/corpora/cmp/ea051e4337a8863dc6473cbb0b0daf8f9a54352a new file mode 100644 index 00000000..a6310e77 Binary files /dev/null and b/fuzz/corpora/cmp/ea051e4337a8863dc6473cbb0b0daf8f9a54352a differ diff --git a/fuzz/corpora/cmp/ea0c8df29f554d2039ad3d8e8e9a7f8723c9d88f b/fuzz/corpora/cmp/ea0c8df29f554d2039ad3d8e8e9a7f8723c9d88f new file mode 100644 index 00000000..6a9e985f Binary files /dev/null and b/fuzz/corpora/cmp/ea0c8df29f554d2039ad3d8e8e9a7f8723c9d88f differ diff --git a/fuzz/corpora/cmp/ea3e3d6c95ee5a5e31b71b169374d385472420dc b/fuzz/corpora/cmp/ea3e3d6c95ee5a5e31b71b169374d385472420dc new file mode 100644 index 00000000..81e860f4 Binary files /dev/null and b/fuzz/corpora/cmp/ea3e3d6c95ee5a5e31b71b169374d385472420dc differ diff --git a/fuzz/corpora/cmp/ea45782aadfefbc7cffc19575dfebc998dcebfca b/fuzz/corpora/cmp/ea45782aadfefbc7cffc19575dfebc998dcebfca new file mode 100644 index 00000000..d47ea5b2 Binary files /dev/null and b/fuzz/corpora/cmp/ea45782aadfefbc7cffc19575dfebc998dcebfca differ diff --git a/fuzz/corpora/cmp/ea513ce27fad045ff3dac20bec2508234f853353 b/fuzz/corpora/cmp/ea513ce27fad045ff3dac20bec2508234f853353 new file mode 100644 index 00000000..4092d740 Binary files /dev/null and b/fuzz/corpora/cmp/ea513ce27fad045ff3dac20bec2508234f853353 differ diff --git a/fuzz/corpora/cmp/ea6a6c1a08fa10a9a10a3b856bf003ab87d03806 b/fuzz/corpora/cmp/ea6a6c1a08fa10a9a10a3b856bf003ab87d03806 new file mode 100644 index 00000000..2a97c206 Binary files /dev/null and b/fuzz/corpora/cmp/ea6a6c1a08fa10a9a10a3b856bf003ab87d03806 differ diff --git a/fuzz/corpora/cmp/ea6ca200c7381152cde15a1d077cc56320470ebf b/fuzz/corpora/cmp/ea6ca200c7381152cde15a1d077cc56320470ebf new file mode 100644 index 00000000..9d98b4b7 Binary files /dev/null and b/fuzz/corpora/cmp/ea6ca200c7381152cde15a1d077cc56320470ebf differ diff --git a/fuzz/corpora/cmp/ea7283aca50e141fb0006a00c294493bb6566fb2 b/fuzz/corpora/cmp/ea7283aca50e141fb0006a00c294493bb6566fb2 new file mode 100644 index 00000000..ab8875bd Binary files /dev/null and b/fuzz/corpora/cmp/ea7283aca50e141fb0006a00c294493bb6566fb2 differ diff --git a/fuzz/corpora/cmp/ea77c6203eb8e578433db1438e4c797abeb0120f b/fuzz/corpora/cmp/ea77c6203eb8e578433db1438e4c797abeb0120f new file mode 100644 index 00000000..a4df9513 Binary files /dev/null and b/fuzz/corpora/cmp/ea77c6203eb8e578433db1438e4c797abeb0120f differ diff --git a/fuzz/corpora/cmp/ea8fea95d6149224187c31e423452b2df52ae09b b/fuzz/corpora/cmp/ea8fea95d6149224187c31e423452b2df52ae09b new file mode 100644 index 00000000..ef45bcff Binary files /dev/null and b/fuzz/corpora/cmp/ea8fea95d6149224187c31e423452b2df52ae09b differ diff --git a/fuzz/corpora/cmp/eaa36c918561c0e89052eaaf838d91cd78ef0c87 b/fuzz/corpora/cmp/eaa36c918561c0e89052eaaf838d91cd78ef0c87 new file mode 100644 index 00000000..30b32656 Binary files /dev/null and b/fuzz/corpora/cmp/eaa36c918561c0e89052eaaf838d91cd78ef0c87 differ diff --git a/fuzz/corpora/cmp/eab9ea9c8e4676a2882c433267aa43d77141b92c b/fuzz/corpora/cmp/eab9ea9c8e4676a2882c433267aa43d77141b92c new file mode 100644 index 00000000..562c5c37 Binary files /dev/null and b/fuzz/corpora/cmp/eab9ea9c8e4676a2882c433267aa43d77141b92c differ diff --git a/fuzz/corpora/cmp/eabce64a9d4ce40a1d765458a08dedbeca9e6df3 b/fuzz/corpora/cmp/eabce64a9d4ce40a1d765458a08dedbeca9e6df3 new file mode 100644 index 00000000..4fdffc46 Binary files /dev/null and b/fuzz/corpora/cmp/eabce64a9d4ce40a1d765458a08dedbeca9e6df3 differ diff --git a/fuzz/corpora/cmp/eac0391ffbc4d66f0cce399aba94ab6065aa43db b/fuzz/corpora/cmp/eac0391ffbc4d66f0cce399aba94ab6065aa43db new file mode 100644 index 00000000..8885f98b Binary files /dev/null and b/fuzz/corpora/cmp/eac0391ffbc4d66f0cce399aba94ab6065aa43db differ diff --git a/fuzz/corpora/cmp/eade8286c9b16d5c9661eedbf50fed374c5c264f b/fuzz/corpora/cmp/eade8286c9b16d5c9661eedbf50fed374c5c264f new file mode 100644 index 00000000..97b8d0af Binary files /dev/null and b/fuzz/corpora/cmp/eade8286c9b16d5c9661eedbf50fed374c5c264f differ diff --git a/fuzz/corpora/cmp/eaf23924bd4235f2f15749d08add6ca39fed01ad b/fuzz/corpora/cmp/eaf23924bd4235f2f15749d08add6ca39fed01ad new file mode 100644 index 00000000..df287d8d Binary files /dev/null and b/fuzz/corpora/cmp/eaf23924bd4235f2f15749d08add6ca39fed01ad differ diff --git a/fuzz/corpora/cmp/eb08d13fb80ef89e86f96a28eb851ba68ab6fb6a b/fuzz/corpora/cmp/eb08d13fb80ef89e86f96a28eb851ba68ab6fb6a new file mode 100644 index 00000000..92040aa9 Binary files /dev/null and b/fuzz/corpora/cmp/eb08d13fb80ef89e86f96a28eb851ba68ab6fb6a differ diff --git a/fuzz/corpora/cmp/eb0dab35d1c73e2e6447bfd175705e2157acb011 b/fuzz/corpora/cmp/eb0dab35d1c73e2e6447bfd175705e2157acb011 new file mode 100644 index 00000000..6c53e8be Binary files /dev/null and b/fuzz/corpora/cmp/eb0dab35d1c73e2e6447bfd175705e2157acb011 differ diff --git a/fuzz/corpora/cmp/eb20681350479d42189566333329fb28ca41ba77 b/fuzz/corpora/cmp/eb20681350479d42189566333329fb28ca41ba77 new file mode 100644 index 00000000..0cece2a7 Binary files /dev/null and b/fuzz/corpora/cmp/eb20681350479d42189566333329fb28ca41ba77 differ diff --git a/fuzz/corpora/cmp/eb2c44f79f2ddbc9b17f67088de120cf10e26cc3 b/fuzz/corpora/cmp/eb2c44f79f2ddbc9b17f67088de120cf10e26cc3 new file mode 100644 index 00000000..aa0ea212 Binary files /dev/null and b/fuzz/corpora/cmp/eb2c44f79f2ddbc9b17f67088de120cf10e26cc3 differ diff --git a/fuzz/corpora/cmp/eb52148e9335ff8d1355666a132d5985d78299ac b/fuzz/corpora/cmp/eb52148e9335ff8d1355666a132d5985d78299ac new file mode 100644 index 00000000..5898d367 Binary files /dev/null and b/fuzz/corpora/cmp/eb52148e9335ff8d1355666a132d5985d78299ac differ diff --git a/fuzz/corpora/cmp/eb7091040808d3efe8c12fd1c2e6b7232f6f6775 b/fuzz/corpora/cmp/eb7091040808d3efe8c12fd1c2e6b7232f6f6775 new file mode 100644 index 00000000..cefe6683 Binary files /dev/null and b/fuzz/corpora/cmp/eb7091040808d3efe8c12fd1c2e6b7232f6f6775 differ diff --git a/fuzz/corpora/cmp/eb8d3fcb036c6bb196e8866a9865ae530471271b b/fuzz/corpora/cmp/eb8d3fcb036c6bb196e8866a9865ae530471271b new file mode 100644 index 00000000..928b85ab Binary files /dev/null and b/fuzz/corpora/cmp/eb8d3fcb036c6bb196e8866a9865ae530471271b differ diff --git a/fuzz/corpora/cmp/eb972fb1df754de831718e09cdfb8f244ce1df32 b/fuzz/corpora/cmp/eb972fb1df754de831718e09cdfb8f244ce1df32 new file mode 100644 index 00000000..cd1a04a5 Binary files /dev/null and b/fuzz/corpora/cmp/eb972fb1df754de831718e09cdfb8f244ce1df32 differ diff --git a/fuzz/corpora/cmp/ebc9be8ccc69e03b8b0cb3de4b25f0404b7c7fa0 b/fuzz/corpora/cmp/ebc9be8ccc69e03b8b0cb3de4b25f0404b7c7fa0 new file mode 100644 index 00000000..631a2e1d Binary files /dev/null and b/fuzz/corpora/cmp/ebc9be8ccc69e03b8b0cb3de4b25f0404b7c7fa0 differ diff --git a/fuzz/corpora/cmp/ebe0f30bda533e1d1c0267b33cc3ef88d1a21435 b/fuzz/corpora/cmp/ebe0f30bda533e1d1c0267b33cc3ef88d1a21435 new file mode 100644 index 00000000..bc170961 Binary files /dev/null and b/fuzz/corpora/cmp/ebe0f30bda533e1d1c0267b33cc3ef88d1a21435 differ diff --git a/fuzz/corpora/cmp/ebe4699e0692dc2d5856b190a336474dea29ebbe b/fuzz/corpora/cmp/ebe4699e0692dc2d5856b190a336474dea29ebbe new file mode 100644 index 00000000..46e40fdd Binary files /dev/null and b/fuzz/corpora/cmp/ebe4699e0692dc2d5856b190a336474dea29ebbe differ diff --git a/fuzz/corpora/cmp/ebe709548ae44c10858168b5d83f229ded80a6ad b/fuzz/corpora/cmp/ebe709548ae44c10858168b5d83f229ded80a6ad new file mode 100644 index 00000000..74e8b0d3 Binary files /dev/null and b/fuzz/corpora/cmp/ebe709548ae44c10858168b5d83f229ded80a6ad differ diff --git a/fuzz/corpora/cmp/ec09c73625bde7eeeb90f809a4e0aa0d464d6918 b/fuzz/corpora/cmp/ec09c73625bde7eeeb90f809a4e0aa0d464d6918 new file mode 100644 index 00000000..0ca7fe6f Binary files /dev/null and b/fuzz/corpora/cmp/ec09c73625bde7eeeb90f809a4e0aa0d464d6918 differ diff --git a/fuzz/corpora/cmp/ec14f2c74741f6132558f09e0f135f6dd848a661 b/fuzz/corpora/cmp/ec14f2c74741f6132558f09e0f135f6dd848a661 new file mode 100644 index 00000000..7a795f44 Binary files /dev/null and b/fuzz/corpora/cmp/ec14f2c74741f6132558f09e0f135f6dd848a661 differ diff --git a/fuzz/corpora/cmp/ec314ce45d0b2da6b976c47d16315da493d9730b b/fuzz/corpora/cmp/ec314ce45d0b2da6b976c47d16315da493d9730b new file mode 100644 index 00000000..862b8a16 Binary files /dev/null and b/fuzz/corpora/cmp/ec314ce45d0b2da6b976c47d16315da493d9730b differ diff --git a/fuzz/corpora/cmp/ec7ea696e5aa929179766771757ad973219e879e b/fuzz/corpora/cmp/ec7ea696e5aa929179766771757ad973219e879e new file mode 100644 index 00000000..a1859ca8 Binary files /dev/null and b/fuzz/corpora/cmp/ec7ea696e5aa929179766771757ad973219e879e differ diff --git a/fuzz/corpora/cmp/ec87e27c1fcba7685f5e28558d7d4bbb5469f5d2 b/fuzz/corpora/cmp/ec87e27c1fcba7685f5e28558d7d4bbb5469f5d2 new file mode 100644 index 00000000..5da63292 Binary files /dev/null and b/fuzz/corpora/cmp/ec87e27c1fcba7685f5e28558d7d4bbb5469f5d2 differ diff --git a/fuzz/corpora/cmp/ec92fd09c07eb58da8b24777e9c91f81b8a0d18d b/fuzz/corpora/cmp/ec92fd09c07eb58da8b24777e9c91f81b8a0d18d new file mode 100644 index 00000000..3e3cf8db Binary files /dev/null and b/fuzz/corpora/cmp/ec92fd09c07eb58da8b24777e9c91f81b8a0d18d differ diff --git a/fuzz/corpora/cmp/ec9c4adf1b2f50def5973d14e07bddd9fffa71cc b/fuzz/corpora/cmp/ec9c4adf1b2f50def5973d14e07bddd9fffa71cc new file mode 100644 index 00000000..92899932 Binary files /dev/null and b/fuzz/corpora/cmp/ec9c4adf1b2f50def5973d14e07bddd9fffa71cc differ diff --git a/fuzz/corpora/cmp/ecae1b4dcbe28306f94d984c9388bc70a2592cf7 b/fuzz/corpora/cmp/ecae1b4dcbe28306f94d984c9388bc70a2592cf7 new file mode 100644 index 00000000..1aacc509 Binary files /dev/null and b/fuzz/corpora/cmp/ecae1b4dcbe28306f94d984c9388bc70a2592cf7 differ diff --git a/fuzz/corpora/cmp/ecbad62fdd27ae235c04ed3e2ec0282408347e74 b/fuzz/corpora/cmp/ecbad62fdd27ae235c04ed3e2ec0282408347e74 new file mode 100644 index 00000000..e618eef3 Binary files /dev/null and b/fuzz/corpora/cmp/ecbad62fdd27ae235c04ed3e2ec0282408347e74 differ diff --git a/fuzz/corpora/cmp/ecc15047f40d037e72f69146bacb613f253a831a b/fuzz/corpora/cmp/ecc15047f40d037e72f69146bacb613f253a831a new file mode 100644 index 00000000..63cd5c1c Binary files /dev/null and b/fuzz/corpora/cmp/ecc15047f40d037e72f69146bacb613f253a831a differ diff --git a/fuzz/corpora/cmp/ecc23eea0be33e803db7b8142cbefd9e6b114f81 b/fuzz/corpora/cmp/ecc23eea0be33e803db7b8142cbefd9e6b114f81 new file mode 100644 index 00000000..cda4e85e Binary files /dev/null and b/fuzz/corpora/cmp/ecc23eea0be33e803db7b8142cbefd9e6b114f81 differ diff --git a/fuzz/corpora/cmp/ecdb4c07636b724405b41658f06085495bc54622 b/fuzz/corpora/cmp/ecdb4c07636b724405b41658f06085495bc54622 new file mode 100644 index 00000000..2dc53ff1 Binary files /dev/null and b/fuzz/corpora/cmp/ecdb4c07636b724405b41658f06085495bc54622 differ diff --git a/fuzz/corpora/cmp/ecf9f2a0d3331fefd0abc4b26c5e7f9f5810d63e b/fuzz/corpora/cmp/ecf9f2a0d3331fefd0abc4b26c5e7f9f5810d63e new file mode 100644 index 00000000..1160dcbf Binary files /dev/null and b/fuzz/corpora/cmp/ecf9f2a0d3331fefd0abc4b26c5e7f9f5810d63e differ diff --git a/fuzz/corpora/cmp/ed1162068e5c3facb1e7da88ee02dbf40a935ab3 b/fuzz/corpora/cmp/ed1162068e5c3facb1e7da88ee02dbf40a935ab3 new file mode 100644 index 00000000..d9da553e Binary files /dev/null and b/fuzz/corpora/cmp/ed1162068e5c3facb1e7da88ee02dbf40a935ab3 differ diff --git a/fuzz/corpora/cmp/ed2f9078678f1dc4e329d0454b79465ee0cf3edf b/fuzz/corpora/cmp/ed2f9078678f1dc4e329d0454b79465ee0cf3edf new file mode 100644 index 00000000..0ff9c788 Binary files /dev/null and b/fuzz/corpora/cmp/ed2f9078678f1dc4e329d0454b79465ee0cf3edf differ diff --git a/fuzz/corpora/cmp/ed3e18135baf0b85640963d45eff2d5113a6719e b/fuzz/corpora/cmp/ed3e18135baf0b85640963d45eff2d5113a6719e new file mode 100644 index 00000000..bd639db8 Binary files /dev/null and b/fuzz/corpora/cmp/ed3e18135baf0b85640963d45eff2d5113a6719e differ diff --git a/fuzz/corpora/cmp/ed3f39fdf9d2b8d063d167b809ca1e3f1d60cbad b/fuzz/corpora/cmp/ed3f39fdf9d2b8d063d167b809ca1e3f1d60cbad new file mode 100644 index 00000000..3abe03f8 Binary files /dev/null and b/fuzz/corpora/cmp/ed3f39fdf9d2b8d063d167b809ca1e3f1d60cbad differ diff --git a/fuzz/corpora/cmp/ed413984f45d706760305b38a7e82f0535c02279 b/fuzz/corpora/cmp/ed413984f45d706760305b38a7e82f0535c02279 new file mode 100644 index 00000000..33c5b424 Binary files /dev/null and b/fuzz/corpora/cmp/ed413984f45d706760305b38a7e82f0535c02279 differ diff --git a/fuzz/corpora/cmp/ed507329d88c3307dec9919a193f46999fefd714 b/fuzz/corpora/cmp/ed507329d88c3307dec9919a193f46999fefd714 new file mode 100644 index 00000000..ee3238da Binary files /dev/null and b/fuzz/corpora/cmp/ed507329d88c3307dec9919a193f46999fefd714 differ diff --git a/fuzz/corpora/cmp/ed56ace4c3e4645c586dc1b6f354b690495206b5 b/fuzz/corpora/cmp/ed56ace4c3e4645c586dc1b6f354b690495206b5 new file mode 100644 index 00000000..4cc5a502 Binary files /dev/null and b/fuzz/corpora/cmp/ed56ace4c3e4645c586dc1b6f354b690495206b5 differ diff --git a/fuzz/corpora/cmp/ed573870bc3373e499811f3a8b2c043b2d73d8c1 b/fuzz/corpora/cmp/ed573870bc3373e499811f3a8b2c043b2d73d8c1 new file mode 100644 index 00000000..f66b1e65 Binary files /dev/null and b/fuzz/corpora/cmp/ed573870bc3373e499811f3a8b2c043b2d73d8c1 differ diff --git a/fuzz/corpora/cmp/ed724da8b5248ecd170fe6fbac362bde694f77e0 b/fuzz/corpora/cmp/ed724da8b5248ecd170fe6fbac362bde694f77e0 new file mode 100644 index 00000000..9dd5de06 Binary files /dev/null and b/fuzz/corpora/cmp/ed724da8b5248ecd170fe6fbac362bde694f77e0 differ diff --git a/fuzz/corpora/cmp/ed77509a0e73aa5141030aed2edd28371c047dbe b/fuzz/corpora/cmp/ed77509a0e73aa5141030aed2edd28371c047dbe new file mode 100644 index 00000000..3401598a Binary files /dev/null and b/fuzz/corpora/cmp/ed77509a0e73aa5141030aed2edd28371c047dbe differ diff --git a/fuzz/corpora/cmp/ed78f55bdb318c0dcd21fc9a38b95e44e7c57797 b/fuzz/corpora/cmp/ed78f55bdb318c0dcd21fc9a38b95e44e7c57797 new file mode 100644 index 00000000..c2be2a6a Binary files /dev/null and b/fuzz/corpora/cmp/ed78f55bdb318c0dcd21fc9a38b95e44e7c57797 differ diff --git a/fuzz/corpora/cmp/ed8d0209a7d25429890d3ae9fcff551017cd4183 b/fuzz/corpora/cmp/ed8d0209a7d25429890d3ae9fcff551017cd4183 new file mode 100644 index 00000000..3fc1fb62 Binary files /dev/null and b/fuzz/corpora/cmp/ed8d0209a7d25429890d3ae9fcff551017cd4183 differ diff --git a/fuzz/corpora/cmp/ed8f794910a428d9d8fc88de7b68cbe81735d54a b/fuzz/corpora/cmp/ed8f794910a428d9d8fc88de7b68cbe81735d54a new file mode 100644 index 00000000..565b34e9 Binary files /dev/null and b/fuzz/corpora/cmp/ed8f794910a428d9d8fc88de7b68cbe81735d54a differ diff --git a/fuzz/corpora/cmp/edb72336e3f1e5937708a92819ab6483d64e90dd b/fuzz/corpora/cmp/edb72336e3f1e5937708a92819ab6483d64e90dd new file mode 100644 index 00000000..52302f8f Binary files /dev/null and b/fuzz/corpora/cmp/edb72336e3f1e5937708a92819ab6483d64e90dd differ diff --git a/fuzz/corpora/cmp/edd733192b8dbd05a57ae6d223104cee8f5741b7 b/fuzz/corpora/cmp/edd733192b8dbd05a57ae6d223104cee8f5741b7 new file mode 100644 index 00000000..ed53d9ee Binary files /dev/null and b/fuzz/corpora/cmp/edd733192b8dbd05a57ae6d223104cee8f5741b7 differ diff --git a/fuzz/corpora/cmp/eddedeceffb758056d265165ca44f372d3ce26d4 b/fuzz/corpora/cmp/eddedeceffb758056d265165ca44f372d3ce26d4 new file mode 100644 index 00000000..93be0d0b Binary files /dev/null and b/fuzz/corpora/cmp/eddedeceffb758056d265165ca44f372d3ce26d4 differ diff --git a/fuzz/corpora/cmp/ee14d8b46aa17cbac59741ccec8c0a1df5dac6b1 b/fuzz/corpora/cmp/ee14d8b46aa17cbac59741ccec8c0a1df5dac6b1 new file mode 100644 index 00000000..dc5b32fd Binary files /dev/null and b/fuzz/corpora/cmp/ee14d8b46aa17cbac59741ccec8c0a1df5dac6b1 differ diff --git a/fuzz/corpora/cmp/ee23f52f4c275cbc1facd6358540faad4a9f7bc0 b/fuzz/corpora/cmp/ee23f52f4c275cbc1facd6358540faad4a9f7bc0 new file mode 100644 index 00000000..6b674f16 Binary files /dev/null and b/fuzz/corpora/cmp/ee23f52f4c275cbc1facd6358540faad4a9f7bc0 differ diff --git a/fuzz/corpora/cmp/ee34fe916b36fde4c9d192c533f2ecace40476b8 b/fuzz/corpora/cmp/ee34fe916b36fde4c9d192c533f2ecace40476b8 new file mode 100644 index 00000000..e218e153 Binary files /dev/null and b/fuzz/corpora/cmp/ee34fe916b36fde4c9d192c533f2ecace40476b8 differ diff --git a/fuzz/corpora/cmp/ee36e846527ce232243779a26d46e6527dbb75af b/fuzz/corpora/cmp/ee36e846527ce232243779a26d46e6527dbb75af new file mode 100644 index 00000000..8995493d Binary files /dev/null and b/fuzz/corpora/cmp/ee36e846527ce232243779a26d46e6527dbb75af differ diff --git a/fuzz/corpora/cmp/ee46a69a60956a0f7d8ac69a9ba7b3f5c748af95 b/fuzz/corpora/cmp/ee46a69a60956a0f7d8ac69a9ba7b3f5c748af95 new file mode 100644 index 00000000..9ea5730c Binary files /dev/null and b/fuzz/corpora/cmp/ee46a69a60956a0f7d8ac69a9ba7b3f5c748af95 differ diff --git a/fuzz/corpora/cmp/ee472c89cf0127c6bbfc0a12dc404e35456ea1b5 b/fuzz/corpora/cmp/ee472c89cf0127c6bbfc0a12dc404e35456ea1b5 new file mode 100644 index 00000000..8308c24c Binary files /dev/null and b/fuzz/corpora/cmp/ee472c89cf0127c6bbfc0a12dc404e35456ea1b5 differ diff --git a/fuzz/corpora/cmp/ee5b87f88936d367d90f8b49bbdb7dfaa779ed87 b/fuzz/corpora/cmp/ee5b87f88936d367d90f8b49bbdb7dfaa779ed87 new file mode 100644 index 00000000..1d237e29 Binary files /dev/null and b/fuzz/corpora/cmp/ee5b87f88936d367d90f8b49bbdb7dfaa779ed87 differ diff --git a/fuzz/corpora/cmp/ee6ee5c71efaaa0170ceb3d2d7f47e56cfc762dc b/fuzz/corpora/cmp/ee6ee5c71efaaa0170ceb3d2d7f47e56cfc762dc new file mode 100644 index 00000000..ff6e833f Binary files /dev/null and b/fuzz/corpora/cmp/ee6ee5c71efaaa0170ceb3d2d7f47e56cfc762dc differ diff --git a/fuzz/corpora/cmp/ee76f54d2bc1e094b99d5ef880d4c78781e24359 b/fuzz/corpora/cmp/ee76f54d2bc1e094b99d5ef880d4c78781e24359 new file mode 100644 index 00000000..39b15d5b Binary files /dev/null and b/fuzz/corpora/cmp/ee76f54d2bc1e094b99d5ef880d4c78781e24359 differ diff --git a/fuzz/corpora/cmp/ee7c489356783de95b30bafdda1103ba920cfda4 b/fuzz/corpora/cmp/ee7c489356783de95b30bafdda1103ba920cfda4 new file mode 100644 index 00000000..d78687e1 Binary files /dev/null and b/fuzz/corpora/cmp/ee7c489356783de95b30bafdda1103ba920cfda4 differ diff --git a/fuzz/corpora/cmp/ee90bd2a83778d8327874892feb0602f35fb2fb5 b/fuzz/corpora/cmp/ee90bd2a83778d8327874892feb0602f35fb2fb5 new file mode 100644 index 00000000..7e7e2c80 Binary files /dev/null and b/fuzz/corpora/cmp/ee90bd2a83778d8327874892feb0602f35fb2fb5 differ diff --git a/fuzz/corpora/cmp/ee91d86e67c9a6eb8df5fd56dd8c4a2d312e443b b/fuzz/corpora/cmp/ee91d86e67c9a6eb8df5fd56dd8c4a2d312e443b new file mode 100644 index 00000000..29fa9977 Binary files /dev/null and b/fuzz/corpora/cmp/ee91d86e67c9a6eb8df5fd56dd8c4a2d312e443b differ diff --git a/fuzz/corpora/cmp/ee9ab825a737d9ff1c6e3dab3e1e990464ac6c00 b/fuzz/corpora/cmp/ee9ab825a737d9ff1c6e3dab3e1e990464ac6c00 new file mode 100644 index 00000000..bb7fea45 Binary files /dev/null and b/fuzz/corpora/cmp/ee9ab825a737d9ff1c6e3dab3e1e990464ac6c00 differ diff --git a/fuzz/corpora/cmp/eea7a1739b32dec6f74b807a469ad3e6e58aa4c4 b/fuzz/corpora/cmp/eea7a1739b32dec6f74b807a469ad3e6e58aa4c4 new file mode 100644 index 00000000..c9967ebb Binary files /dev/null and b/fuzz/corpora/cmp/eea7a1739b32dec6f74b807a469ad3e6e58aa4c4 differ diff --git a/fuzz/corpora/cmp/eeaaf747386d0d0d10ce1719dbe35681f6f61cb5 b/fuzz/corpora/cmp/eeaaf747386d0d0d10ce1719dbe35681f6f61cb5 new file mode 100644 index 00000000..1083b9c2 Binary files /dev/null and b/fuzz/corpora/cmp/eeaaf747386d0d0d10ce1719dbe35681f6f61cb5 differ diff --git a/fuzz/corpora/cmp/eebc1550aa8c8f961397be6c93535ffb51f1c1bf b/fuzz/corpora/cmp/eebc1550aa8c8f961397be6c93535ffb51f1c1bf new file mode 100644 index 00000000..04d25ac1 Binary files /dev/null and b/fuzz/corpora/cmp/eebc1550aa8c8f961397be6c93535ffb51f1c1bf differ diff --git a/fuzz/corpora/cmp/eec4fabdf2d3fb4e1db2a82527e109f6bac08368 b/fuzz/corpora/cmp/eec4fabdf2d3fb4e1db2a82527e109f6bac08368 new file mode 100644 index 00000000..b84f738d Binary files /dev/null and b/fuzz/corpora/cmp/eec4fabdf2d3fb4e1db2a82527e109f6bac08368 differ diff --git a/fuzz/corpora/cmp/eecee53eb21d22d6ece77bb792cc48085251534e b/fuzz/corpora/cmp/eecee53eb21d22d6ece77bb792cc48085251534e new file mode 100644 index 00000000..bd40964d --- /dev/null +++ b/fuzz/corpora/cmp/eecee53eb21d22d6ece77bb792cc48085251534e @@ -0,0 +1 @@ +.ƒ'¶¿ \ No newline at end of file diff --git a/fuzz/corpora/cmp/eedb5ccf62bf4bb32237494b1b2bcaabb25ed78c b/fuzz/corpora/cmp/eedb5ccf62bf4bb32237494b1b2bcaabb25ed78c new file mode 100644 index 00000000..0bafb8f7 Binary files /dev/null and b/fuzz/corpora/cmp/eedb5ccf62bf4bb32237494b1b2bcaabb25ed78c differ diff --git a/fuzz/corpora/cmp/eeddbf448f8513f13d106a2ff2a0545a74a0c756 b/fuzz/corpora/cmp/eeddbf448f8513f13d106a2ff2a0545a74a0c756 new file mode 100644 index 00000000..e133b07a Binary files /dev/null and b/fuzz/corpora/cmp/eeddbf448f8513f13d106a2ff2a0545a74a0c756 differ diff --git a/fuzz/corpora/cmp/ef093679e6c7bc8b420700c9126768484d5c82c9 b/fuzz/corpora/cmp/ef093679e6c7bc8b420700c9126768484d5c82c9 new file mode 100644 index 00000000..0ee33f2d Binary files /dev/null and b/fuzz/corpora/cmp/ef093679e6c7bc8b420700c9126768484d5c82c9 differ diff --git a/fuzz/corpora/cmp/ef11a446dbb97e026fc5b737e0d83aa0cac9aea3 b/fuzz/corpora/cmp/ef11a446dbb97e026fc5b737e0d83aa0cac9aea3 new file mode 100644 index 00000000..df8302ef Binary files /dev/null and b/fuzz/corpora/cmp/ef11a446dbb97e026fc5b737e0d83aa0cac9aea3 differ diff --git a/fuzz/corpora/cmp/ef1b09b1dcba11439e53a3ea381a040abd1ea066 b/fuzz/corpora/cmp/ef1b09b1dcba11439e53a3ea381a040abd1ea066 new file mode 100644 index 00000000..7694835b Binary files /dev/null and b/fuzz/corpora/cmp/ef1b09b1dcba11439e53a3ea381a040abd1ea066 differ diff --git a/fuzz/corpora/cmp/ef1cff3e8e65653b6c81784bfab1c958ad80b6eb b/fuzz/corpora/cmp/ef1cff3e8e65653b6c81784bfab1c958ad80b6eb new file mode 100644 index 00000000..e5674bf8 Binary files /dev/null and b/fuzz/corpora/cmp/ef1cff3e8e65653b6c81784bfab1c958ad80b6eb differ diff --git a/fuzz/corpora/cmp/ef2089b2330fdc8b9ff992334d0684e353c9349c b/fuzz/corpora/cmp/ef2089b2330fdc8b9ff992334d0684e353c9349c new file mode 100644 index 00000000..22bed865 Binary files /dev/null and b/fuzz/corpora/cmp/ef2089b2330fdc8b9ff992334d0684e353c9349c differ diff --git a/fuzz/corpora/cmp/ef269876b249636e9fc1b0c46fe14bbbe0c134c3 b/fuzz/corpora/cmp/ef269876b249636e9fc1b0c46fe14bbbe0c134c3 new file mode 100644 index 00000000..80736179 Binary files /dev/null and b/fuzz/corpora/cmp/ef269876b249636e9fc1b0c46fe14bbbe0c134c3 differ diff --git a/fuzz/corpora/cmp/ef5331a9ff6f69c63a8b5e6f5e28e9c530a9de5a b/fuzz/corpora/cmp/ef5331a9ff6f69c63a8b5e6f5e28e9c530a9de5a new file mode 100644 index 00000000..8e6e3a09 Binary files /dev/null and b/fuzz/corpora/cmp/ef5331a9ff6f69c63a8b5e6f5e28e9c530a9de5a differ diff --git a/fuzz/corpora/cmp/ef563fb799c674702cfeae379cde8b75bd9c7759 b/fuzz/corpora/cmp/ef563fb799c674702cfeae379cde8b75bd9c7759 new file mode 100644 index 00000000..a9305cf9 Binary files /dev/null and b/fuzz/corpora/cmp/ef563fb799c674702cfeae379cde8b75bd9c7759 differ diff --git a/fuzz/corpora/cmp/ef5cd5a756cb0bc4bfb8e0b97c684e30522e4d6e b/fuzz/corpora/cmp/ef5cd5a756cb0bc4bfb8e0b97c684e30522e4d6e new file mode 100644 index 00000000..d838bbc9 Binary files /dev/null and b/fuzz/corpora/cmp/ef5cd5a756cb0bc4bfb8e0b97c684e30522e4d6e differ diff --git a/fuzz/corpora/cmp/ef62d8f59c2c9f854795e74c9f071bfc6097c868 b/fuzz/corpora/cmp/ef62d8f59c2c9f854795e74c9f071bfc6097c868 new file mode 100644 index 00000000..e0de0a0b Binary files /dev/null and b/fuzz/corpora/cmp/ef62d8f59c2c9f854795e74c9f071bfc6097c868 differ diff --git a/fuzz/corpora/cmp/ef7c43077cc18cab8a9ddcb27a5284b01d54438d b/fuzz/corpora/cmp/ef7c43077cc18cab8a9ddcb27a5284b01d54438d new file mode 100644 index 00000000..6fa22c4e Binary files /dev/null and b/fuzz/corpora/cmp/ef7c43077cc18cab8a9ddcb27a5284b01d54438d differ diff --git a/fuzz/corpora/cmp/ef7f401c13056fa1d0b97c08f64fb5a00fdc1cc9 b/fuzz/corpora/cmp/ef7f401c13056fa1d0b97c08f64fb5a00fdc1cc9 new file mode 100644 index 00000000..a6724a07 Binary files /dev/null and b/fuzz/corpora/cmp/ef7f401c13056fa1d0b97c08f64fb5a00fdc1cc9 differ diff --git a/fuzz/corpora/cmp/ef81f2768a3f3486dc4e2a08f5161823fa9b007d b/fuzz/corpora/cmp/ef81f2768a3f3486dc4e2a08f5161823fa9b007d new file mode 100644 index 00000000..8cf220e4 Binary files /dev/null and b/fuzz/corpora/cmp/ef81f2768a3f3486dc4e2a08f5161823fa9b007d differ diff --git a/fuzz/corpora/cmp/ef9752027fecb8067c9b8f2350cfc0575e9a88ac b/fuzz/corpora/cmp/ef9752027fecb8067c9b8f2350cfc0575e9a88ac new file mode 100644 index 00000000..e201e3b7 Binary files /dev/null and b/fuzz/corpora/cmp/ef9752027fecb8067c9b8f2350cfc0575e9a88ac differ diff --git a/fuzz/corpora/cmp/ef9ae32c5802c6c9e5a32c716a75acd36a009005 b/fuzz/corpora/cmp/ef9ae32c5802c6c9e5a32c716a75acd36a009005 new file mode 100644 index 00000000..0972d00e Binary files /dev/null and b/fuzz/corpora/cmp/ef9ae32c5802c6c9e5a32c716a75acd36a009005 differ diff --git a/fuzz/corpora/cmp/efa6e9d7640e34d25dd3d6ee7d4c9fb16c1df834 b/fuzz/corpora/cmp/efa6e9d7640e34d25dd3d6ee7d4c9fb16c1df834 new file mode 100644 index 00000000..cad9f2e5 Binary files /dev/null and b/fuzz/corpora/cmp/efa6e9d7640e34d25dd3d6ee7d4c9fb16c1df834 differ diff --git a/fuzz/corpora/cmp/efaeab7ce8b13bddd7c6d948f69d83b375427074 b/fuzz/corpora/cmp/efaeab7ce8b13bddd7c6d948f69d83b375427074 new file mode 100644 index 00000000..5c0bd3c2 Binary files /dev/null and b/fuzz/corpora/cmp/efaeab7ce8b13bddd7c6d948f69d83b375427074 differ diff --git a/fuzz/corpora/cmp/efb4c01bb12fb8a9be17746509adb22e77a07de5 b/fuzz/corpora/cmp/efb4c01bb12fb8a9be17746509adb22e77a07de5 new file mode 100644 index 00000000..273fc285 Binary files /dev/null and b/fuzz/corpora/cmp/efb4c01bb12fb8a9be17746509adb22e77a07de5 differ diff --git a/fuzz/corpora/cmp/efb5da48764d960f98eeca690a76006f2bdd993c b/fuzz/corpora/cmp/efb5da48764d960f98eeca690a76006f2bdd993c new file mode 100644 index 00000000..72e9d08e Binary files /dev/null and b/fuzz/corpora/cmp/efb5da48764d960f98eeca690a76006f2bdd993c differ diff --git a/fuzz/corpora/cmp/efb7906241b2bc6f9c2f85cd4ce8cb20dba1f48c b/fuzz/corpora/cmp/efb7906241b2bc6f9c2f85cd4ce8cb20dba1f48c new file mode 100644 index 00000000..0546576c Binary files /dev/null and b/fuzz/corpora/cmp/efb7906241b2bc6f9c2f85cd4ce8cb20dba1f48c differ diff --git a/fuzz/corpora/cmp/efbbcb69997b703516f32f4e5f3e87ce82fc7bd0 b/fuzz/corpora/cmp/efbbcb69997b703516f32f4e5f3e87ce82fc7bd0 new file mode 100644 index 00000000..0775a888 Binary files /dev/null and b/fuzz/corpora/cmp/efbbcb69997b703516f32f4e5f3e87ce82fc7bd0 differ diff --git a/fuzz/corpora/cmp/efc4810fef2540f7ccd1571661131ed19c624b6c b/fuzz/corpora/cmp/efc4810fef2540f7ccd1571661131ed19c624b6c new file mode 100644 index 00000000..f95948e6 Binary files /dev/null and b/fuzz/corpora/cmp/efc4810fef2540f7ccd1571661131ed19c624b6c differ diff --git a/fuzz/corpora/cmp/efe235be40519c6698fbbd6c10a9ae6e2c77c8fb b/fuzz/corpora/cmp/efe235be40519c6698fbbd6c10a9ae6e2c77c8fb new file mode 100644 index 00000000..6c122b3f Binary files /dev/null and b/fuzz/corpora/cmp/efe235be40519c6698fbbd6c10a9ae6e2c77c8fb differ diff --git a/fuzz/corpora/cmp/f0393cb9948ae60debd44d59f9fdd67257e08d78 b/fuzz/corpora/cmp/f0393cb9948ae60debd44d59f9fdd67257e08d78 new file mode 100644 index 00000000..3cedc989 Binary files /dev/null and b/fuzz/corpora/cmp/f0393cb9948ae60debd44d59f9fdd67257e08d78 differ diff --git a/fuzz/corpora/cmp/f03d80cfd03c97060db8a8377b39fd1e22b03d0f b/fuzz/corpora/cmp/f03d80cfd03c97060db8a8377b39fd1e22b03d0f new file mode 100644 index 00000000..28151a56 Binary files /dev/null and b/fuzz/corpora/cmp/f03d80cfd03c97060db8a8377b39fd1e22b03d0f differ diff --git a/fuzz/corpora/cmp/f0404a3aca5ff2ca7fa1a38ef8b290ea8b8be3cc b/fuzz/corpora/cmp/f0404a3aca5ff2ca7fa1a38ef8b290ea8b8be3cc new file mode 100644 index 00000000..3cc8891e Binary files /dev/null and b/fuzz/corpora/cmp/f0404a3aca5ff2ca7fa1a38ef8b290ea8b8be3cc differ diff --git a/fuzz/corpora/cmp/f0412bacc33e0bda27e8f2cd0265dfc8c7d945e3 b/fuzz/corpora/cmp/f0412bacc33e0bda27e8f2cd0265dfc8c7d945e3 new file mode 100644 index 00000000..d3ce4ce7 Binary files /dev/null and b/fuzz/corpora/cmp/f0412bacc33e0bda27e8f2cd0265dfc8c7d945e3 differ diff --git a/fuzz/corpora/cmp/f0629c24cf074c8f8f85cdd0401a3f950be4ea87 b/fuzz/corpora/cmp/f0629c24cf074c8f8f85cdd0401a3f950be4ea87 new file mode 100644 index 00000000..4dcb9ec3 Binary files /dev/null and b/fuzz/corpora/cmp/f0629c24cf074c8f8f85cdd0401a3f950be4ea87 differ diff --git a/fuzz/corpora/cmp/f06589aa88b3b1d0c1bc1409a23333ee8b850743 b/fuzz/corpora/cmp/f06589aa88b3b1d0c1bc1409a23333ee8b850743 new file mode 100644 index 00000000..fa4ebda6 Binary files /dev/null and b/fuzz/corpora/cmp/f06589aa88b3b1d0c1bc1409a23333ee8b850743 differ diff --git a/fuzz/corpora/cmp/f0694d0fe4e7efda4b0417762af71e64bbbe293c b/fuzz/corpora/cmp/f0694d0fe4e7efda4b0417762af71e64bbbe293c new file mode 100644 index 00000000..8fce2e3a Binary files /dev/null and b/fuzz/corpora/cmp/f0694d0fe4e7efda4b0417762af71e64bbbe293c differ diff --git a/fuzz/corpora/cmp/f0794b3ea39b991c56cffbcec60d5977a4361015 b/fuzz/corpora/cmp/f0794b3ea39b991c56cffbcec60d5977a4361015 new file mode 100644 index 00000000..fb9b7688 Binary files /dev/null and b/fuzz/corpora/cmp/f0794b3ea39b991c56cffbcec60d5977a4361015 differ diff --git a/fuzz/corpora/cmp/f07a93aaf34ce633aaeaf0587f07f6a59bab8b38 b/fuzz/corpora/cmp/f07a93aaf34ce633aaeaf0587f07f6a59bab8b38 new file mode 100644 index 00000000..dbe66a56 Binary files /dev/null and b/fuzz/corpora/cmp/f07a93aaf34ce633aaeaf0587f07f6a59bab8b38 differ diff --git a/fuzz/corpora/cmp/f0a7c5b7f997308205ee603d01e8848f3b357915 b/fuzz/corpora/cmp/f0a7c5b7f997308205ee603d01e8848f3b357915 new file mode 100644 index 00000000..22cfba81 Binary files /dev/null and b/fuzz/corpora/cmp/f0a7c5b7f997308205ee603d01e8848f3b357915 differ diff --git a/fuzz/corpora/cmp/f0a84b7fc1d4a56650a054e27bdd68e57ab52878 b/fuzz/corpora/cmp/f0a84b7fc1d4a56650a054e27bdd68e57ab52878 new file mode 100644 index 00000000..2380cb31 Binary files /dev/null and b/fuzz/corpora/cmp/f0a84b7fc1d4a56650a054e27bdd68e57ab52878 differ diff --git a/fuzz/corpora/cmp/f0c0a218c2ccab14304bc473d9ff916e5beb7024 b/fuzz/corpora/cmp/f0c0a218c2ccab14304bc473d9ff916e5beb7024 new file mode 100644 index 00000000..58dad734 Binary files /dev/null and b/fuzz/corpora/cmp/f0c0a218c2ccab14304bc473d9ff916e5beb7024 differ diff --git a/fuzz/corpora/cmp/f0cb3384f197c471dbf44e8400d9f8ba20938242 b/fuzz/corpora/cmp/f0cb3384f197c471dbf44e8400d9f8ba20938242 new file mode 100644 index 00000000..8aa80bc2 Binary files /dev/null and b/fuzz/corpora/cmp/f0cb3384f197c471dbf44e8400d9f8ba20938242 differ diff --git a/fuzz/corpora/cmp/f0ccb84ee48ab351b8b499bb90f6624a3c173862 b/fuzz/corpora/cmp/f0ccb84ee48ab351b8b499bb90f6624a3c173862 new file mode 100644 index 00000000..1e763e95 Binary files /dev/null and b/fuzz/corpora/cmp/f0ccb84ee48ab351b8b499bb90f6624a3c173862 differ diff --git a/fuzz/corpora/cmp/f0dd97af86d914eed184c4ba0896e77f8760b8b3 b/fuzz/corpora/cmp/f0dd97af86d914eed184c4ba0896e77f8760b8b3 new file mode 100644 index 00000000..1cb66795 Binary files /dev/null and b/fuzz/corpora/cmp/f0dd97af86d914eed184c4ba0896e77f8760b8b3 differ diff --git a/fuzz/corpora/cmp/f0f0872b4dda8db27da392eb2b446141cf411309 b/fuzz/corpora/cmp/f0f0872b4dda8db27da392eb2b446141cf411309 new file mode 100644 index 00000000..c48a127d Binary files /dev/null and b/fuzz/corpora/cmp/f0f0872b4dda8db27da392eb2b446141cf411309 differ diff --git a/fuzz/corpora/cmp/f0f0b957c45cbd78d3197d2bb3994aa09312222e b/fuzz/corpora/cmp/f0f0b957c45cbd78d3197d2bb3994aa09312222e new file mode 100644 index 00000000..766cd234 Binary files /dev/null and b/fuzz/corpora/cmp/f0f0b957c45cbd78d3197d2bb3994aa09312222e differ diff --git a/fuzz/corpora/cmp/f0f52ca6b3bb17350f99c7568f5778fb6d1e8b77 b/fuzz/corpora/cmp/f0f52ca6b3bb17350f99c7568f5778fb6d1e8b77 new file mode 100644 index 00000000..6c52d26f Binary files /dev/null and b/fuzz/corpora/cmp/f0f52ca6b3bb17350f99c7568f5778fb6d1e8b77 differ diff --git a/fuzz/corpora/cmp/f0fc60add9729f5b66e1ed5ac353d626f0211e57 b/fuzz/corpora/cmp/f0fc60add9729f5b66e1ed5ac353d626f0211e57 new file mode 100644 index 00000000..8693fc20 Binary files /dev/null and b/fuzz/corpora/cmp/f0fc60add9729f5b66e1ed5ac353d626f0211e57 differ diff --git a/fuzz/corpora/cmp/f0fd08f178778c5e9aab12a0f865dda3f90e1c57 b/fuzz/corpora/cmp/f0fd08f178778c5e9aab12a0f865dda3f90e1c57 new file mode 100644 index 00000000..36cbe75a Binary files /dev/null and b/fuzz/corpora/cmp/f0fd08f178778c5e9aab12a0f865dda3f90e1c57 differ diff --git a/fuzz/corpora/cmp/f10789b96e7d216e8eae4c7377a752fee747d574 b/fuzz/corpora/cmp/f10789b96e7d216e8eae4c7377a752fee747d574 new file mode 100644 index 00000000..9771ed13 Binary files /dev/null and b/fuzz/corpora/cmp/f10789b96e7d216e8eae4c7377a752fee747d574 differ diff --git a/fuzz/corpora/cmp/f1101f38c2007cac8257b27d2b3d60a51c408598 b/fuzz/corpora/cmp/f1101f38c2007cac8257b27d2b3d60a51c408598 new file mode 100644 index 00000000..d107b3c1 Binary files /dev/null and b/fuzz/corpora/cmp/f1101f38c2007cac8257b27d2b3d60a51c408598 differ diff --git a/fuzz/corpora/cmp/f11d4b52f012c9bc78a2f69f6d9a1a402c73a181 b/fuzz/corpora/cmp/f11d4b52f012c9bc78a2f69f6d9a1a402c73a181 new file mode 100644 index 00000000..311beb26 Binary files /dev/null and b/fuzz/corpora/cmp/f11d4b52f012c9bc78a2f69f6d9a1a402c73a181 differ diff --git a/fuzz/corpora/cmp/f1660df11c4e44122ef2ffce0f8c7a431fcd9789 b/fuzz/corpora/cmp/f1660df11c4e44122ef2ffce0f8c7a431fcd9789 new file mode 100644 index 00000000..3aecc7b5 Binary files /dev/null and b/fuzz/corpora/cmp/f1660df11c4e44122ef2ffce0f8c7a431fcd9789 differ diff --git a/fuzz/corpora/cmp/f168238416676e5e9c226c738a23dfb7522e9fa6 b/fuzz/corpora/cmp/f168238416676e5e9c226c738a23dfb7522e9fa6 new file mode 100644 index 00000000..eb2ff701 Binary files /dev/null and b/fuzz/corpora/cmp/f168238416676e5e9c226c738a23dfb7522e9fa6 differ diff --git a/fuzz/corpora/cmp/f16bf4f1b12ac6260f2273e23b27a7d1845a61ce b/fuzz/corpora/cmp/f16bf4f1b12ac6260f2273e23b27a7d1845a61ce new file mode 100644 index 00000000..c181c7c6 Binary files /dev/null and b/fuzz/corpora/cmp/f16bf4f1b12ac6260f2273e23b27a7d1845a61ce differ diff --git a/fuzz/corpora/cmp/f16e1f32a824758063c49b2a51fbf025b7730e4b b/fuzz/corpora/cmp/f16e1f32a824758063c49b2a51fbf025b7730e4b new file mode 100644 index 00000000..8254ae63 Binary files /dev/null and b/fuzz/corpora/cmp/f16e1f32a824758063c49b2a51fbf025b7730e4b differ diff --git a/fuzz/corpora/cmp/f16f3cf7f018a41693d28187634736728ad70e7f b/fuzz/corpora/cmp/f16f3cf7f018a41693d28187634736728ad70e7f new file mode 100644 index 00000000..45dbf422 Binary files /dev/null and b/fuzz/corpora/cmp/f16f3cf7f018a41693d28187634736728ad70e7f differ diff --git a/fuzz/corpora/cmp/f186b82ecb490a8e930e0e9a6f966563f1723b09 b/fuzz/corpora/cmp/f186b82ecb490a8e930e0e9a6f966563f1723b09 new file mode 100644 index 00000000..25c315ba Binary files /dev/null and b/fuzz/corpora/cmp/f186b82ecb490a8e930e0e9a6f966563f1723b09 differ diff --git a/fuzz/corpora/cmp/f191975fe92504bff14e83644794f1a31262cdcc b/fuzz/corpora/cmp/f191975fe92504bff14e83644794f1a31262cdcc new file mode 100644 index 00000000..6d75b51a --- /dev/null +++ b/fuzz/corpora/cmp/f191975fe92504bff14e83644794f1a31262cdcc @@ -0,0 +1 @@ +/€í€/€/€í€/€/€/€ \ No newline at end of file diff --git a/fuzz/corpora/cmp/f19353d5a82ae1ed9b7ff36dce954b8b1e743f18 b/fuzz/corpora/cmp/f19353d5a82ae1ed9b7ff36dce954b8b1e743f18 new file mode 100644 index 00000000..3cfbba0d Binary files /dev/null and b/fuzz/corpora/cmp/f19353d5a82ae1ed9b7ff36dce954b8b1e743f18 differ diff --git a/fuzz/corpora/cmp/f1a3d11f22af004047d703bd8d4ec5e01f1580b4 b/fuzz/corpora/cmp/f1a3d11f22af004047d703bd8d4ec5e01f1580b4 new file mode 100644 index 00000000..ee6c1609 Binary files /dev/null and b/fuzz/corpora/cmp/f1a3d11f22af004047d703bd8d4ec5e01f1580b4 differ diff --git a/fuzz/corpora/cmp/f1a64a33aff8771b8b5deb95fbe4c768627d96f2 b/fuzz/corpora/cmp/f1a64a33aff8771b8b5deb95fbe4c768627d96f2 new file mode 100644 index 00000000..315ed15b Binary files /dev/null and b/fuzz/corpora/cmp/f1a64a33aff8771b8b5deb95fbe4c768627d96f2 differ diff --git a/fuzz/corpora/cmp/f1bf7a92d27e1c9b90a7c1e69a41099eee26a7e7 b/fuzz/corpora/cmp/f1bf7a92d27e1c9b90a7c1e69a41099eee26a7e7 new file mode 100644 index 00000000..15162b03 Binary files /dev/null and b/fuzz/corpora/cmp/f1bf7a92d27e1c9b90a7c1e69a41099eee26a7e7 differ diff --git a/fuzz/corpora/cmp/f1c38303620372bb75e8013a58d149c41702ccc5 b/fuzz/corpora/cmp/f1c38303620372bb75e8013a58d149c41702ccc5 new file mode 100644 index 00000000..e915143d Binary files /dev/null and b/fuzz/corpora/cmp/f1c38303620372bb75e8013a58d149c41702ccc5 differ diff --git a/fuzz/corpora/cmp/f1c571f50daf3942790ce51b4ffbaebdfab4935a b/fuzz/corpora/cmp/f1c571f50daf3942790ce51b4ffbaebdfab4935a new file mode 100644 index 00000000..43a11cbf Binary files /dev/null and b/fuzz/corpora/cmp/f1c571f50daf3942790ce51b4ffbaebdfab4935a differ diff --git a/fuzz/corpora/cmp/f1d51359f6662b61322098997a638ab589a0575e b/fuzz/corpora/cmp/f1d51359f6662b61322098997a638ab589a0575e new file mode 100644 index 00000000..d1cdfb10 Binary files /dev/null and b/fuzz/corpora/cmp/f1d51359f6662b61322098997a638ab589a0575e differ diff --git a/fuzz/corpora/cmp/f1ed87b5589f622b10ceb767a7cdfc5c69f22506 b/fuzz/corpora/cmp/f1ed87b5589f622b10ceb767a7cdfc5c69f22506 new file mode 100644 index 00000000..b701a9b7 Binary files /dev/null and b/fuzz/corpora/cmp/f1ed87b5589f622b10ceb767a7cdfc5c69f22506 differ diff --git a/fuzz/corpora/cmp/f1f26cf1c6cd7b954e3297c1e690a9b0ca5b0f14 b/fuzz/corpora/cmp/f1f26cf1c6cd7b954e3297c1e690a9b0ca5b0f14 new file mode 100644 index 00000000..00d3656a Binary files /dev/null and b/fuzz/corpora/cmp/f1f26cf1c6cd7b954e3297c1e690a9b0ca5b0f14 differ diff --git a/fuzz/corpora/cmp/f22b3762dc41c4c78b57844da1d15818013fcc72 b/fuzz/corpora/cmp/f22b3762dc41c4c78b57844da1d15818013fcc72 new file mode 100644 index 00000000..2d515741 Binary files /dev/null and b/fuzz/corpora/cmp/f22b3762dc41c4c78b57844da1d15818013fcc72 differ diff --git a/fuzz/corpora/cmp/f23b1f9d19db0e31178df92cf79ee31553f757fc b/fuzz/corpora/cmp/f23b1f9d19db0e31178df92cf79ee31553f757fc new file mode 100644 index 00000000..11bfd336 Binary files /dev/null and b/fuzz/corpora/cmp/f23b1f9d19db0e31178df92cf79ee31553f757fc differ diff --git a/fuzz/corpora/cmp/f242d0f97d3a63c7941680693b7246bb98b91b03 b/fuzz/corpora/cmp/f242d0f97d3a63c7941680693b7246bb98b91b03 new file mode 100644 index 00000000..3c6a622a Binary files /dev/null and b/fuzz/corpora/cmp/f242d0f97d3a63c7941680693b7246bb98b91b03 differ diff --git a/fuzz/corpora/cmp/f246e3c12d93e04bf29fac3780edcd18341f1a5c b/fuzz/corpora/cmp/f246e3c12d93e04bf29fac3780edcd18341f1a5c new file mode 100644 index 00000000..d616366c Binary files /dev/null and b/fuzz/corpora/cmp/f246e3c12d93e04bf29fac3780edcd18341f1a5c differ diff --git a/fuzz/corpora/cmp/f254d054ab8ab660ebfb2d3c4690dbb158af5bc6 b/fuzz/corpora/cmp/f254d054ab8ab660ebfb2d3c4690dbb158af5bc6 new file mode 100644 index 00000000..e639e5b0 Binary files /dev/null and b/fuzz/corpora/cmp/f254d054ab8ab660ebfb2d3c4690dbb158af5bc6 differ diff --git a/fuzz/corpora/cmp/f25cad0c945bdf72b86a087edd7ca2cf90c47f12 b/fuzz/corpora/cmp/f25cad0c945bdf72b86a087edd7ca2cf90c47f12 new file mode 100644 index 00000000..c861f8b2 Binary files /dev/null and b/fuzz/corpora/cmp/f25cad0c945bdf72b86a087edd7ca2cf90c47f12 differ diff --git a/fuzz/corpora/cmp/f261a860dad2430e9fdb4c9d4044cddb54447e49 b/fuzz/corpora/cmp/f261a860dad2430e9fdb4c9d4044cddb54447e49 new file mode 100644 index 00000000..056f34dc Binary files /dev/null and b/fuzz/corpora/cmp/f261a860dad2430e9fdb4c9d4044cddb54447e49 differ diff --git a/fuzz/corpora/cmp/f264e619f5ee4849e62f14d9d08508b128a6cb22 b/fuzz/corpora/cmp/f264e619f5ee4849e62f14d9d08508b128a6cb22 new file mode 100644 index 00000000..a8e691b1 --- /dev/null +++ b/fuzz/corpora/cmp/f264e619f5ee4849e62f14d9d08508b128a6cb22 @@ -0,0 +1 @@ +ÿÿ¨( \ No newline at end of file diff --git a/fuzz/corpora/cmp/f292854803fa6917ae48695acad2015683838739 b/fuzz/corpora/cmp/f292854803fa6917ae48695acad2015683838739 new file mode 100644 index 00000000..eef11122 Binary files /dev/null and b/fuzz/corpora/cmp/f292854803fa6917ae48695acad2015683838739 differ diff --git a/fuzz/corpora/cmp/f2962f4f8c0ca728ec2da6c65fd4ad6bb82b0cfb b/fuzz/corpora/cmp/f2962f4f8c0ca728ec2da6c65fd4ad6bb82b0cfb new file mode 100644 index 00000000..538b541b Binary files /dev/null and b/fuzz/corpora/cmp/f2962f4f8c0ca728ec2da6c65fd4ad6bb82b0cfb differ diff --git a/fuzz/corpora/cmp/f2abe86045069473a0dd8dd742a8e1cda97a678f b/fuzz/corpora/cmp/f2abe86045069473a0dd8dd742a8e1cda97a678f new file mode 100644 index 00000000..c4745476 Binary files /dev/null and b/fuzz/corpora/cmp/f2abe86045069473a0dd8dd742a8e1cda97a678f differ diff --git a/fuzz/corpora/cmp/f2ac677459207ffce6acc8bf60a4f875d5c11c37 b/fuzz/corpora/cmp/f2ac677459207ffce6acc8bf60a4f875d5c11c37 new file mode 100644 index 00000000..3238f588 Binary files /dev/null and b/fuzz/corpora/cmp/f2ac677459207ffce6acc8bf60a4f875d5c11c37 differ diff --git a/fuzz/corpora/cmp/f2b33c0a09c241ecb8ab9b064ce1c6ad1fc1958c b/fuzz/corpora/cmp/f2b33c0a09c241ecb8ab9b064ce1c6ad1fc1958c new file mode 100644 index 00000000..6f0dff14 Binary files /dev/null and b/fuzz/corpora/cmp/f2b33c0a09c241ecb8ab9b064ce1c6ad1fc1958c differ diff --git a/fuzz/corpora/cmp/f2dabe5803f09d205755ab1447760dda9d46eab0 b/fuzz/corpora/cmp/f2dabe5803f09d205755ab1447760dda9d46eab0 new file mode 100644 index 00000000..91b5d36a Binary files /dev/null and b/fuzz/corpora/cmp/f2dabe5803f09d205755ab1447760dda9d46eab0 differ diff --git a/fuzz/corpora/cmp/f2f744150e7528f02ba1581b09e1d15c58815480 b/fuzz/corpora/cmp/f2f744150e7528f02ba1581b09e1d15c58815480 new file mode 100644 index 00000000..9e0515ca Binary files /dev/null and b/fuzz/corpora/cmp/f2f744150e7528f02ba1581b09e1d15c58815480 differ diff --git a/fuzz/corpora/cmp/f308a34f58c75b7ec21838157c3e10de73064f4e b/fuzz/corpora/cmp/f308a34f58c75b7ec21838157c3e10de73064f4e new file mode 100644 index 00000000..c88a630c Binary files /dev/null and b/fuzz/corpora/cmp/f308a34f58c75b7ec21838157c3e10de73064f4e differ diff --git a/fuzz/corpora/cmp/f327705bf79a851116cc763fb16ada4bc90b9931 b/fuzz/corpora/cmp/f327705bf79a851116cc763fb16ada4bc90b9931 new file mode 100644 index 00000000..626a3568 Binary files /dev/null and b/fuzz/corpora/cmp/f327705bf79a851116cc763fb16ada4bc90b9931 differ diff --git a/fuzz/corpora/cmp/f348e744a5b6030589af50a598ef59ae42da49e3 b/fuzz/corpora/cmp/f348e744a5b6030589af50a598ef59ae42da49e3 new file mode 100644 index 00000000..6bfa4699 Binary files /dev/null and b/fuzz/corpora/cmp/f348e744a5b6030589af50a598ef59ae42da49e3 differ diff --git a/fuzz/corpora/cmp/f37da5e4788062615865065bace125afc36b6d35 b/fuzz/corpora/cmp/f37da5e4788062615865065bace125afc36b6d35 new file mode 100644 index 00000000..982fd281 Binary files /dev/null and b/fuzz/corpora/cmp/f37da5e4788062615865065bace125afc36b6d35 differ diff --git a/fuzz/corpora/cmp/f3987aee930aa9514c969190490aadc632432797 b/fuzz/corpora/cmp/f3987aee930aa9514c969190490aadc632432797 new file mode 100644 index 00000000..7d6cc82f Binary files /dev/null and b/fuzz/corpora/cmp/f3987aee930aa9514c969190490aadc632432797 differ diff --git a/fuzz/corpora/cmp/f39959a80aed05af16e61b719dbd22fee4f0c31f b/fuzz/corpora/cmp/f39959a80aed05af16e61b719dbd22fee4f0c31f new file mode 100644 index 00000000..d3805537 Binary files /dev/null and b/fuzz/corpora/cmp/f39959a80aed05af16e61b719dbd22fee4f0c31f differ diff --git a/fuzz/corpora/cmp/f39f54d34da1c7b32b4c98aac22950bc88ba38d6 b/fuzz/corpora/cmp/f39f54d34da1c7b32b4c98aac22950bc88ba38d6 new file mode 100644 index 00000000..1a342ece Binary files /dev/null and b/fuzz/corpora/cmp/f39f54d34da1c7b32b4c98aac22950bc88ba38d6 differ diff --git a/fuzz/corpora/cmp/f3de864b658f197e7871c4b28f5912ce624e8108 b/fuzz/corpora/cmp/f3de864b658f197e7871c4b28f5912ce624e8108 new file mode 100644 index 00000000..0096a472 Binary files /dev/null and b/fuzz/corpora/cmp/f3de864b658f197e7871c4b28f5912ce624e8108 differ diff --git a/fuzz/corpora/cmp/f3ea8150f489fac263d0631c88ce59069becab53 b/fuzz/corpora/cmp/f3ea8150f489fac263d0631c88ce59069becab53 new file mode 100644 index 00000000..630947f5 Binary files /dev/null and b/fuzz/corpora/cmp/f3ea8150f489fac263d0631c88ce59069becab53 differ diff --git a/fuzz/corpora/cmp/f3f2362f8593625285e10b40ad31c13ffa253bdc b/fuzz/corpora/cmp/f3f2362f8593625285e10b40ad31c13ffa253bdc new file mode 100644 index 00000000..2b75780f Binary files /dev/null and b/fuzz/corpora/cmp/f3f2362f8593625285e10b40ad31c13ffa253bdc differ diff --git a/fuzz/corpora/cmp/f3f936111d846054317a2e106c7abe79122705b9 b/fuzz/corpora/cmp/f3f936111d846054317a2e106c7abe79122705b9 new file mode 100644 index 00000000..eaa98061 Binary files /dev/null and b/fuzz/corpora/cmp/f3f936111d846054317a2e106c7abe79122705b9 differ diff --git a/fuzz/corpora/cmp/f40a757560ac2a6d978f22996efc957f99b7c4f7 b/fuzz/corpora/cmp/f40a757560ac2a6d978f22996efc957f99b7c4f7 new file mode 100644 index 00000000..0d0be0f2 Binary files /dev/null and b/fuzz/corpora/cmp/f40a757560ac2a6d978f22996efc957f99b7c4f7 differ diff --git a/fuzz/corpora/cmp/f40af7b5e8ffdd13647c314110d3f9149e8cfb8a b/fuzz/corpora/cmp/f40af7b5e8ffdd13647c314110d3f9149e8cfb8a new file mode 100644 index 00000000..f99614f7 Binary files /dev/null and b/fuzz/corpora/cmp/f40af7b5e8ffdd13647c314110d3f9149e8cfb8a differ diff --git a/fuzz/corpora/cmp/f427deb313805a6318153382450348196bd337f5 b/fuzz/corpora/cmp/f427deb313805a6318153382450348196bd337f5 new file mode 100644 index 00000000..af24722f Binary files /dev/null and b/fuzz/corpora/cmp/f427deb313805a6318153382450348196bd337f5 differ diff --git a/fuzz/corpora/cmp/f42b53f50b557829563572848827fe28f263b618 b/fuzz/corpora/cmp/f42b53f50b557829563572848827fe28f263b618 new file mode 100644 index 00000000..f0db780e Binary files /dev/null and b/fuzz/corpora/cmp/f42b53f50b557829563572848827fe28f263b618 differ diff --git a/fuzz/corpora/cmp/f43a22a9cc12b20d4e809ee61dbbb26c4d353405 b/fuzz/corpora/cmp/f43a22a9cc12b20d4e809ee61dbbb26c4d353405 new file mode 100644 index 00000000..f7270c41 Binary files /dev/null and b/fuzz/corpora/cmp/f43a22a9cc12b20d4e809ee61dbbb26c4d353405 differ diff --git a/fuzz/corpora/cmp/f44e1edd7733acf9d414b50f47d7b5cc92e82336 b/fuzz/corpora/cmp/f44e1edd7733acf9d414b50f47d7b5cc92e82336 new file mode 100644 index 00000000..6fa31629 Binary files /dev/null and b/fuzz/corpora/cmp/f44e1edd7733acf9d414b50f47d7b5cc92e82336 differ diff --git a/fuzz/corpora/cmp/f470eb5fb9236ce6df2ff23fb1b53308aede2137 b/fuzz/corpora/cmp/f470eb5fb9236ce6df2ff23fb1b53308aede2137 new file mode 100644 index 00000000..664e808a Binary files /dev/null and b/fuzz/corpora/cmp/f470eb5fb9236ce6df2ff23fb1b53308aede2137 differ diff --git a/fuzz/corpora/cmp/f47229cd463c95729d7c0d39ae7005efb8016779 b/fuzz/corpora/cmp/f47229cd463c95729d7c0d39ae7005efb8016779 new file mode 100644 index 00000000..48cdd709 Binary files /dev/null and b/fuzz/corpora/cmp/f47229cd463c95729d7c0d39ae7005efb8016779 differ diff --git a/fuzz/corpora/cmp/f47bdb27a90ced12636d3d5e313420c78e03bfa7 b/fuzz/corpora/cmp/f47bdb27a90ced12636d3d5e313420c78e03bfa7 new file mode 100644 index 00000000..60e803df Binary files /dev/null and b/fuzz/corpora/cmp/f47bdb27a90ced12636d3d5e313420c78e03bfa7 differ diff --git a/fuzz/corpora/cmp/f47be88dda0235279be084166dddc1923d45cf11 b/fuzz/corpora/cmp/f47be88dda0235279be084166dddc1923d45cf11 new file mode 100644 index 00000000..f8da2516 Binary files /dev/null and b/fuzz/corpora/cmp/f47be88dda0235279be084166dddc1923d45cf11 differ diff --git a/fuzz/corpora/cmp/f47e9b47a1113a3e41925ba0928b121e7f09c616 b/fuzz/corpora/cmp/f47e9b47a1113a3e41925ba0928b121e7f09c616 new file mode 100644 index 00000000..f09ce556 Binary files /dev/null and b/fuzz/corpora/cmp/f47e9b47a1113a3e41925ba0928b121e7f09c616 differ diff --git a/fuzz/corpora/cmp/f4994a92701e6ef4715e67da61b9a908dd4b5614 b/fuzz/corpora/cmp/f4994a92701e6ef4715e67da61b9a908dd4b5614 new file mode 100644 index 00000000..fe89ee7c Binary files /dev/null and b/fuzz/corpora/cmp/f4994a92701e6ef4715e67da61b9a908dd4b5614 differ diff --git a/fuzz/corpora/cmp/f4b122f6a732c04f35fc86033dd940bd96d385f6 b/fuzz/corpora/cmp/f4b122f6a732c04f35fc86033dd940bd96d385f6 new file mode 100644 index 00000000..ff6a4584 Binary files /dev/null and b/fuzz/corpora/cmp/f4b122f6a732c04f35fc86033dd940bd96d385f6 differ diff --git a/fuzz/corpora/cmp/f4c1f7b81d1a618ee45e48b917646661f3f955c7 b/fuzz/corpora/cmp/f4c1f7b81d1a618ee45e48b917646661f3f955c7 new file mode 100644 index 00000000..7cbf64e1 Binary files /dev/null and b/fuzz/corpora/cmp/f4c1f7b81d1a618ee45e48b917646661f3f955c7 differ diff --git a/fuzz/corpora/cmp/f4c2d8941437f9b33c09e6662b4d6ebc8cfec685 b/fuzz/corpora/cmp/f4c2d8941437f9b33c09e6662b4d6ebc8cfec685 new file mode 100644 index 00000000..de38bf9f Binary files /dev/null and b/fuzz/corpora/cmp/f4c2d8941437f9b33c09e6662b4d6ebc8cfec685 differ diff --git a/fuzz/corpora/cmp/f4cf53e970793c3c0a654ccabc1f0d755524802f b/fuzz/corpora/cmp/f4cf53e970793c3c0a654ccabc1f0d755524802f new file mode 100644 index 00000000..e86fa0b8 Binary files /dev/null and b/fuzz/corpora/cmp/f4cf53e970793c3c0a654ccabc1f0d755524802f differ diff --git a/fuzz/corpora/cmp/f4ddb5859ba0468d9ea373b89463bc63aa0dd6f5 b/fuzz/corpora/cmp/f4ddb5859ba0468d9ea373b89463bc63aa0dd6f5 new file mode 100644 index 00000000..2b89a48f --- /dev/null +++ b/fuzz/corpora/cmp/f4ddb5859ba0468d9ea373b89463bc63aa0dd6f5 @@ -0,0 +1 @@ +/€ \ No newline at end of file diff --git a/fuzz/corpora/cmp/f4e511fdb470e362a709cf04b95dcd81ae55f9fb b/fuzz/corpora/cmp/f4e511fdb470e362a709cf04b95dcd81ae55f9fb new file mode 100644 index 00000000..1496cf3a Binary files /dev/null and b/fuzz/corpora/cmp/f4e511fdb470e362a709cf04b95dcd81ae55f9fb differ diff --git a/fuzz/corpora/cmp/f4e54c6c7dc98f640970c117fc5b04fbc927c18d b/fuzz/corpora/cmp/f4e54c6c7dc98f640970c117fc5b04fbc927c18d new file mode 100644 index 00000000..1589102e Binary files /dev/null and b/fuzz/corpora/cmp/f4e54c6c7dc98f640970c117fc5b04fbc927c18d differ diff --git a/fuzz/corpora/cmp/f4e57df9d11280c591e657384b4e66684fddc499 b/fuzz/corpora/cmp/f4e57df9d11280c591e657384b4e66684fddc499 new file mode 100644 index 00000000..9a8eb7c2 Binary files /dev/null and b/fuzz/corpora/cmp/f4e57df9d11280c591e657384b4e66684fddc499 differ diff --git a/fuzz/corpora/cmp/f4f45cd3f12d3ac547d5d708b828d2a5cd852003 b/fuzz/corpora/cmp/f4f45cd3f12d3ac547d5d708b828d2a5cd852003 new file mode 100644 index 00000000..a3857a2a Binary files /dev/null and b/fuzz/corpora/cmp/f4f45cd3f12d3ac547d5d708b828d2a5cd852003 differ diff --git a/fuzz/corpora/cmp/f5210cb89be1235e5d2d77f72eda216b738a164b b/fuzz/corpora/cmp/f5210cb89be1235e5d2d77f72eda216b738a164b new file mode 100644 index 00000000..30ca947b Binary files /dev/null and b/fuzz/corpora/cmp/f5210cb89be1235e5d2d77f72eda216b738a164b differ diff --git a/fuzz/corpora/cmp/f5237be73f24d08ae21d9da030e1f5dbfd75aff1 b/fuzz/corpora/cmp/f5237be73f24d08ae21d9da030e1f5dbfd75aff1 new file mode 100644 index 00000000..7299e79f Binary files /dev/null and b/fuzz/corpora/cmp/f5237be73f24d08ae21d9da030e1f5dbfd75aff1 differ diff --git a/fuzz/corpora/cmp/f5273ff59b6cd49c2d5785b493bca49b538d883b b/fuzz/corpora/cmp/f5273ff59b6cd49c2d5785b493bca49b538d883b new file mode 100644 index 00000000..91874795 Binary files /dev/null and b/fuzz/corpora/cmp/f5273ff59b6cd49c2d5785b493bca49b538d883b differ diff --git a/fuzz/corpora/cmp/f530091fd1a97c66167bbe3cecc583c2bc1d850b b/fuzz/corpora/cmp/f530091fd1a97c66167bbe3cecc583c2bc1d850b new file mode 100644 index 00000000..e8e7ee2e Binary files /dev/null and b/fuzz/corpora/cmp/f530091fd1a97c66167bbe3cecc583c2bc1d850b differ diff --git a/fuzz/corpora/cmp/f531892369dd262cfbf82beb675bc7ebf00dae00 b/fuzz/corpora/cmp/f531892369dd262cfbf82beb675bc7ebf00dae00 new file mode 100644 index 00000000..18eb4f26 Binary files /dev/null and b/fuzz/corpora/cmp/f531892369dd262cfbf82beb675bc7ebf00dae00 differ diff --git a/fuzz/corpora/cmp/f53a0bee40f09e4a8ca48e64fe99474d74a95099 b/fuzz/corpora/cmp/f53a0bee40f09e4a8ca48e64fe99474d74a95099 new file mode 100644 index 00000000..7ab290ee Binary files /dev/null and b/fuzz/corpora/cmp/f53a0bee40f09e4a8ca48e64fe99474d74a95099 differ diff --git a/fuzz/corpora/cmp/f53f7037afe40a65d5d89791a0001f9f57205bfe b/fuzz/corpora/cmp/f53f7037afe40a65d5d89791a0001f9f57205bfe new file mode 100644 index 00000000..242520b1 Binary files /dev/null and b/fuzz/corpora/cmp/f53f7037afe40a65d5d89791a0001f9f57205bfe differ diff --git a/fuzz/corpora/cmp/f544f9862bf17fe5fac70a3bd45b85e2e4e628c7 b/fuzz/corpora/cmp/f544f9862bf17fe5fac70a3bd45b85e2e4e628c7 new file mode 100644 index 00000000..f72a6639 Binary files /dev/null and b/fuzz/corpora/cmp/f544f9862bf17fe5fac70a3bd45b85e2e4e628c7 differ diff --git a/fuzz/corpora/cmp/f581d1b009669e2c6c0badd0c843298eda71acd4 b/fuzz/corpora/cmp/f581d1b009669e2c6c0badd0c843298eda71acd4 new file mode 100644 index 00000000..4ee7f30d Binary files /dev/null and b/fuzz/corpora/cmp/f581d1b009669e2c6c0badd0c843298eda71acd4 differ diff --git a/fuzz/corpora/cmp/f58281e6795a9c2e71182fb9421a7302234d4bfc b/fuzz/corpora/cmp/f58281e6795a9c2e71182fb9421a7302234d4bfc new file mode 100644 index 00000000..b823d136 Binary files /dev/null and b/fuzz/corpora/cmp/f58281e6795a9c2e71182fb9421a7302234d4bfc differ diff --git a/fuzz/corpora/cmp/f58d0acfaff3d03f56e4044f515fc098792e69b5 b/fuzz/corpora/cmp/f58d0acfaff3d03f56e4044f515fc098792e69b5 new file mode 100644 index 00000000..9573b58e Binary files /dev/null and b/fuzz/corpora/cmp/f58d0acfaff3d03f56e4044f515fc098792e69b5 differ diff --git a/fuzz/corpora/cmp/f5a90b0e65c7a6b5a6e8afa5fbe53d75610e3dd6 b/fuzz/corpora/cmp/f5a90b0e65c7a6b5a6e8afa5fbe53d75610e3dd6 new file mode 100644 index 00000000..521e30f2 Binary files /dev/null and b/fuzz/corpora/cmp/f5a90b0e65c7a6b5a6e8afa5fbe53d75610e3dd6 differ diff --git a/fuzz/corpora/cmp/f5baa72a27002291ac974b6722ff6269417ee8d7 b/fuzz/corpora/cmp/f5baa72a27002291ac974b6722ff6269417ee8d7 new file mode 100644 index 00000000..0baec194 Binary files /dev/null and b/fuzz/corpora/cmp/f5baa72a27002291ac974b6722ff6269417ee8d7 differ diff --git a/fuzz/corpora/cmp/f5bf442baed7bf8cdebe8e694ead1a5acbd2fa85 b/fuzz/corpora/cmp/f5bf442baed7bf8cdebe8e694ead1a5acbd2fa85 new file mode 100644 index 00000000..a9560f69 Binary files /dev/null and b/fuzz/corpora/cmp/f5bf442baed7bf8cdebe8e694ead1a5acbd2fa85 differ diff --git a/fuzz/corpora/cmp/f5c35a533eca04b1305cd1e7ee6803c1e102dcd5 b/fuzz/corpora/cmp/f5c35a533eca04b1305cd1e7ee6803c1e102dcd5 new file mode 100644 index 00000000..0357d03d Binary files /dev/null and b/fuzz/corpora/cmp/f5c35a533eca04b1305cd1e7ee6803c1e102dcd5 differ diff --git a/fuzz/corpora/cmp/f5cdb473f4c48a4aa97c52fba59d2d6335dfbc7b b/fuzz/corpora/cmp/f5cdb473f4c48a4aa97c52fba59d2d6335dfbc7b new file mode 100644 index 00000000..0d9f24e7 Binary files /dev/null and b/fuzz/corpora/cmp/f5cdb473f4c48a4aa97c52fba59d2d6335dfbc7b differ diff --git a/fuzz/corpora/cmp/f5d487d90833c395fd7c346acf99e1f07f8b2262 b/fuzz/corpora/cmp/f5d487d90833c395fd7c346acf99e1f07f8b2262 new file mode 100644 index 00000000..18126858 Binary files /dev/null and b/fuzz/corpora/cmp/f5d487d90833c395fd7c346acf99e1f07f8b2262 differ diff --git a/fuzz/corpora/cmp/f5dc7870aede6b1ddec28883274442c128ff380f b/fuzz/corpora/cmp/f5dc7870aede6b1ddec28883274442c128ff380f new file mode 100644 index 00000000..e8fe34eb Binary files /dev/null and b/fuzz/corpora/cmp/f5dc7870aede6b1ddec28883274442c128ff380f differ diff --git a/fuzz/corpora/cmp/f5ec13eaeb3ea36ea88f5ccfdb12d17193a390e7 b/fuzz/corpora/cmp/f5ec13eaeb3ea36ea88f5ccfdb12d17193a390e7 new file mode 100644 index 00000000..923e64e4 Binary files /dev/null and b/fuzz/corpora/cmp/f5ec13eaeb3ea36ea88f5ccfdb12d17193a390e7 differ diff --git a/fuzz/corpora/cmp/f5f1d3ce72cb0be90339554ab1000fbb571e346f b/fuzz/corpora/cmp/f5f1d3ce72cb0be90339554ab1000fbb571e346f new file mode 100644 index 00000000..b5f6870d Binary files /dev/null and b/fuzz/corpora/cmp/f5f1d3ce72cb0be90339554ab1000fbb571e346f differ diff --git a/fuzz/corpora/cmp/f5f4fb98263882452e26361f78848b33e2d5881d b/fuzz/corpora/cmp/f5f4fb98263882452e26361f78848b33e2d5881d new file mode 100644 index 00000000..5d11edb1 Binary files /dev/null and b/fuzz/corpora/cmp/f5f4fb98263882452e26361f78848b33e2d5881d differ diff --git a/fuzz/corpora/cmp/f6048352f1b9b4ef98b3e7215f0ed1b0e973edca b/fuzz/corpora/cmp/f6048352f1b9b4ef98b3e7215f0ed1b0e973edca new file mode 100644 index 00000000..06e6cf74 Binary files /dev/null and b/fuzz/corpora/cmp/f6048352f1b9b4ef98b3e7215f0ed1b0e973edca differ diff --git a/fuzz/corpora/cmp/f6284a6dd2d9d6c962e705c64e9956d7a245dd89 b/fuzz/corpora/cmp/f6284a6dd2d9d6c962e705c64e9956d7a245dd89 new file mode 100644 index 00000000..e2b4fd0e Binary files /dev/null and b/fuzz/corpora/cmp/f6284a6dd2d9d6c962e705c64e9956d7a245dd89 differ diff --git a/fuzz/corpora/cmp/f6591434264304b1b587dab3919a0bc73b168169 b/fuzz/corpora/cmp/f6591434264304b1b587dab3919a0bc73b168169 new file mode 100644 index 00000000..0751ffea Binary files /dev/null and b/fuzz/corpora/cmp/f6591434264304b1b587dab3919a0bc73b168169 differ diff --git a/fuzz/corpora/cmp/f677ddc5396f33f9b8a164acfe15f385f69695c0 b/fuzz/corpora/cmp/f677ddc5396f33f9b8a164acfe15f385f69695c0 new file mode 100644 index 00000000..b47398b6 Binary files /dev/null and b/fuzz/corpora/cmp/f677ddc5396f33f9b8a164acfe15f385f69695c0 differ diff --git a/fuzz/corpora/cmp/f678b034bdd462ec7f58f4e3441f6e81240212e4 b/fuzz/corpora/cmp/f678b034bdd462ec7f58f4e3441f6e81240212e4 new file mode 100644 index 00000000..35e4124e Binary files /dev/null and b/fuzz/corpora/cmp/f678b034bdd462ec7f58f4e3441f6e81240212e4 differ diff --git a/fuzz/corpora/cmp/f6836b13e2c6eb3d8416b64327930ebe703c3e69 b/fuzz/corpora/cmp/f6836b13e2c6eb3d8416b64327930ebe703c3e69 new file mode 100644 index 00000000..0c817d9d Binary files /dev/null and b/fuzz/corpora/cmp/f6836b13e2c6eb3d8416b64327930ebe703c3e69 differ diff --git a/fuzz/corpora/cmp/f684845c8dd245961203680fc57b37adc238e64f b/fuzz/corpora/cmp/f684845c8dd245961203680fc57b37adc238e64f new file mode 100644 index 00000000..8833a72c Binary files /dev/null and b/fuzz/corpora/cmp/f684845c8dd245961203680fc57b37adc238e64f differ diff --git a/fuzz/corpora/cmp/f68b263be77366ea56b5110fca51ee4ab829a51a b/fuzz/corpora/cmp/f68b263be77366ea56b5110fca51ee4ab829a51a new file mode 100644 index 00000000..251e8d95 Binary files /dev/null and b/fuzz/corpora/cmp/f68b263be77366ea56b5110fca51ee4ab829a51a differ diff --git a/fuzz/corpora/cmp/f695e1ffa8eac4acc7a1e43077e92a1c6ed7c350 b/fuzz/corpora/cmp/f695e1ffa8eac4acc7a1e43077e92a1c6ed7c350 new file mode 100644 index 00000000..ea00065a Binary files /dev/null and b/fuzz/corpora/cmp/f695e1ffa8eac4acc7a1e43077e92a1c6ed7c350 differ diff --git a/fuzz/corpora/cmp/f698fa74261cc6585f0c1c4c7d9110b2dacd566f b/fuzz/corpora/cmp/f698fa74261cc6585f0c1c4c7d9110b2dacd566f new file mode 100644 index 00000000..54178ce8 Binary files /dev/null and b/fuzz/corpora/cmp/f698fa74261cc6585f0c1c4c7d9110b2dacd566f differ diff --git a/fuzz/corpora/cmp/f6a3277d854a7dab19116e862fba3263927f82b4 b/fuzz/corpora/cmp/f6a3277d854a7dab19116e862fba3263927f82b4 new file mode 100644 index 00000000..59318c16 Binary files /dev/null and b/fuzz/corpora/cmp/f6a3277d854a7dab19116e862fba3263927f82b4 differ diff --git a/fuzz/corpora/cmp/f6b515a1040c8d1df423b428288be287d40baf5b b/fuzz/corpora/cmp/f6b515a1040c8d1df423b428288be287d40baf5b new file mode 100644 index 00000000..15161b4c Binary files /dev/null and b/fuzz/corpora/cmp/f6b515a1040c8d1df423b428288be287d40baf5b differ diff --git a/fuzz/corpora/cmp/f6c92494aa27412d0097e2a4d2539df2012557f4 b/fuzz/corpora/cmp/f6c92494aa27412d0097e2a4d2539df2012557f4 new file mode 100644 index 00000000..d7c5557d Binary files /dev/null and b/fuzz/corpora/cmp/f6c92494aa27412d0097e2a4d2539df2012557f4 differ diff --git a/fuzz/corpora/cmp/f6ca1b0af8e4113c591c0bd78ee0e3214305f66a b/fuzz/corpora/cmp/f6ca1b0af8e4113c591c0bd78ee0e3214305f66a new file mode 100644 index 00000000..a9846982 Binary files /dev/null and b/fuzz/corpora/cmp/f6ca1b0af8e4113c591c0bd78ee0e3214305f66a differ diff --git a/fuzz/corpora/cmp/f6f459b5f6135a8b4a18952e3791894e1b0aefc5 b/fuzz/corpora/cmp/f6f459b5f6135a8b4a18952e3791894e1b0aefc5 new file mode 100644 index 00000000..75a5540e Binary files /dev/null and b/fuzz/corpora/cmp/f6f459b5f6135a8b4a18952e3791894e1b0aefc5 differ diff --git a/fuzz/corpora/cmp/f71c8b1b52b53e372c54e1f613ae09d27fe7974a b/fuzz/corpora/cmp/f71c8b1b52b53e372c54e1f613ae09d27fe7974a new file mode 100644 index 00000000..3ddf6d92 Binary files /dev/null and b/fuzz/corpora/cmp/f71c8b1b52b53e372c54e1f613ae09d27fe7974a differ diff --git a/fuzz/corpora/cmp/f73efd68acc151f26500e72ec5776133e6db6c10 b/fuzz/corpora/cmp/f73efd68acc151f26500e72ec5776133e6db6c10 new file mode 100644 index 00000000..ecdcb4e5 Binary files /dev/null and b/fuzz/corpora/cmp/f73efd68acc151f26500e72ec5776133e6db6c10 differ diff --git a/fuzz/corpora/cmp/f752d8869931facc1aa4cf1e25444b821ed06571 b/fuzz/corpora/cmp/f752d8869931facc1aa4cf1e25444b821ed06571 new file mode 100644 index 00000000..0934de67 Binary files /dev/null and b/fuzz/corpora/cmp/f752d8869931facc1aa4cf1e25444b821ed06571 differ diff --git a/fuzz/corpora/cmp/f76d3894e8a3a028b1087921e325a3ceed63b785 b/fuzz/corpora/cmp/f76d3894e8a3a028b1087921e325a3ceed63b785 new file mode 100644 index 00000000..49f5c791 Binary files /dev/null and b/fuzz/corpora/cmp/f76d3894e8a3a028b1087921e325a3ceed63b785 differ diff --git a/fuzz/corpora/cmp/f7814a6358c6434160c08a34029e5b7f055ed28f b/fuzz/corpora/cmp/f7814a6358c6434160c08a34029e5b7f055ed28f new file mode 100644 index 00000000..c3c5453f Binary files /dev/null and b/fuzz/corpora/cmp/f7814a6358c6434160c08a34029e5b7f055ed28f differ diff --git a/fuzz/corpora/cmp/f7928f3db8c9bd27c7bafd0d3a2970116947e565 b/fuzz/corpora/cmp/f7928f3db8c9bd27c7bafd0d3a2970116947e565 new file mode 100644 index 00000000..6e353651 Binary files /dev/null and b/fuzz/corpora/cmp/f7928f3db8c9bd27c7bafd0d3a2970116947e565 differ diff --git a/fuzz/corpora/cmp/f79ba7c87b06d0699c5bcbb6fb28dfb4db6a2e69 b/fuzz/corpora/cmp/f79ba7c87b06d0699c5bcbb6fb28dfb4db6a2e69 new file mode 100644 index 00000000..209048c7 Binary files /dev/null and b/fuzz/corpora/cmp/f79ba7c87b06d0699c5bcbb6fb28dfb4db6a2e69 differ diff --git a/fuzz/corpora/cmp/f7aad2e9a684bb9b0e58b38dc4ede1f7ee92351f b/fuzz/corpora/cmp/f7aad2e9a684bb9b0e58b38dc4ede1f7ee92351f new file mode 100644 index 00000000..619911cc Binary files /dev/null and b/fuzz/corpora/cmp/f7aad2e9a684bb9b0e58b38dc4ede1f7ee92351f differ diff --git a/fuzz/corpora/cmp/f7acd4994cb3cf6ec857e3aaf46fdd9af645c072 b/fuzz/corpora/cmp/f7acd4994cb3cf6ec857e3aaf46fdd9af645c072 new file mode 100644 index 00000000..2ef8963d Binary files /dev/null and b/fuzz/corpora/cmp/f7acd4994cb3cf6ec857e3aaf46fdd9af645c072 differ diff --git a/fuzz/corpora/cmp/f7b8345d15667ac2a019ee6866aa4ff464cb3603 b/fuzz/corpora/cmp/f7b8345d15667ac2a019ee6866aa4ff464cb3603 new file mode 100644 index 00000000..07167fab Binary files /dev/null and b/fuzz/corpora/cmp/f7b8345d15667ac2a019ee6866aa4ff464cb3603 differ diff --git a/fuzz/corpora/cmp/f7bad4dca349d9ccd57410e2970855f238c906fb b/fuzz/corpora/cmp/f7bad4dca349d9ccd57410e2970855f238c906fb new file mode 100644 index 00000000..128ff9db Binary files /dev/null and b/fuzz/corpora/cmp/f7bad4dca349d9ccd57410e2970855f238c906fb differ diff --git a/fuzz/corpora/cmp/f7bfd5f19375da58536bef5ea8a97e4b920408a7 b/fuzz/corpora/cmp/f7bfd5f19375da58536bef5ea8a97e4b920408a7 new file mode 100644 index 00000000..c6c34bf8 Binary files /dev/null and b/fuzz/corpora/cmp/f7bfd5f19375da58536bef5ea8a97e4b920408a7 differ diff --git a/fuzz/corpora/cmp/f7c12c8494a406ab6aaaa844f939656ad17de0a7 b/fuzz/corpora/cmp/f7c12c8494a406ab6aaaa844f939656ad17de0a7 new file mode 100644 index 00000000..b3cbbcd1 Binary files /dev/null and b/fuzz/corpora/cmp/f7c12c8494a406ab6aaaa844f939656ad17de0a7 differ diff --git a/fuzz/corpora/cmp/f7ce2d9f46e7a271bb126e17e5b0064b98b41c67 b/fuzz/corpora/cmp/f7ce2d9f46e7a271bb126e17e5b0064b98b41c67 new file mode 100644 index 00000000..405f7125 Binary files /dev/null and b/fuzz/corpora/cmp/f7ce2d9f46e7a271bb126e17e5b0064b98b41c67 differ diff --git a/fuzz/corpora/cmp/f7cf60c670b00db2506363e4ebfda500a24bef29 b/fuzz/corpora/cmp/f7cf60c670b00db2506363e4ebfda500a24bef29 new file mode 100644 index 00000000..109c5a21 Binary files /dev/null and b/fuzz/corpora/cmp/f7cf60c670b00db2506363e4ebfda500a24bef29 differ diff --git a/fuzz/corpora/cmp/f7dae2f0d6927ea078af42181533c9cef41ea5b5 b/fuzz/corpora/cmp/f7dae2f0d6927ea078af42181533c9cef41ea5b5 new file mode 100644 index 00000000..1afe683c Binary files /dev/null and b/fuzz/corpora/cmp/f7dae2f0d6927ea078af42181533c9cef41ea5b5 differ diff --git a/fuzz/corpora/cmp/f7dc7c462f675ea990df13204ba291a47e1ed9db b/fuzz/corpora/cmp/f7dc7c462f675ea990df13204ba291a47e1ed9db new file mode 100644 index 00000000..8c5f5955 Binary files /dev/null and b/fuzz/corpora/cmp/f7dc7c462f675ea990df13204ba291a47e1ed9db differ diff --git a/fuzz/corpora/cmp/f7ddf59b44ddf9253b657c54053522cf694d3fbe b/fuzz/corpora/cmp/f7ddf59b44ddf9253b657c54053522cf694d3fbe new file mode 100644 index 00000000..5b574651 Binary files /dev/null and b/fuzz/corpora/cmp/f7ddf59b44ddf9253b657c54053522cf694d3fbe differ diff --git a/fuzz/corpora/cmp/f7ec310b97322ea496ef4d86c5a3a2680a54c083 b/fuzz/corpora/cmp/f7ec310b97322ea496ef4d86c5a3a2680a54c083 new file mode 100644 index 00000000..abc5c9a1 Binary files /dev/null and b/fuzz/corpora/cmp/f7ec310b97322ea496ef4d86c5a3a2680a54c083 differ diff --git a/fuzz/corpora/cmp/f7efb983b62c40f30c721462d309f35bd974da5f b/fuzz/corpora/cmp/f7efb983b62c40f30c721462d309f35bd974da5f new file mode 100644 index 00000000..db9448ed Binary files /dev/null and b/fuzz/corpora/cmp/f7efb983b62c40f30c721462d309f35bd974da5f differ diff --git a/fuzz/corpora/cmp/f7f912597d12f8265bdfc4c4ad128d70b38db9d9 b/fuzz/corpora/cmp/f7f912597d12f8265bdfc4c4ad128d70b38db9d9 new file mode 100644 index 00000000..73908bff Binary files /dev/null and b/fuzz/corpora/cmp/f7f912597d12f8265bdfc4c4ad128d70b38db9d9 differ diff --git a/fuzz/corpora/cmp/f7fcfcd4434536d17472d870792519b3481582e7 b/fuzz/corpora/cmp/f7fcfcd4434536d17472d870792519b3481582e7 new file mode 100644 index 00000000..27035ffa Binary files /dev/null and b/fuzz/corpora/cmp/f7fcfcd4434536d17472d870792519b3481582e7 differ diff --git a/fuzz/corpora/cmp/f834068852f24c7e62bd9a048c608ce1947a3d3f b/fuzz/corpora/cmp/f834068852f24c7e62bd9a048c608ce1947a3d3f new file mode 100644 index 00000000..eab83c82 Binary files /dev/null and b/fuzz/corpora/cmp/f834068852f24c7e62bd9a048c608ce1947a3d3f differ diff --git a/fuzz/corpora/cmp/f8378884de8d54a74f1f1801d9cf940e921935a5 b/fuzz/corpora/cmp/f8378884de8d54a74f1f1801d9cf940e921935a5 new file mode 100644 index 00000000..2fb68fb0 Binary files /dev/null and b/fuzz/corpora/cmp/f8378884de8d54a74f1f1801d9cf940e921935a5 differ diff --git a/fuzz/corpora/cmp/f83b9bf1ea0535f55ebb0e552ed8b24038d9598c b/fuzz/corpora/cmp/f83b9bf1ea0535f55ebb0e552ed8b24038d9598c new file mode 100644 index 00000000..04ac73fc Binary files /dev/null and b/fuzz/corpora/cmp/f83b9bf1ea0535f55ebb0e552ed8b24038d9598c differ diff --git a/fuzz/corpora/cmp/f8434333eafedb4e8e100f6a198a3bcd1241092d b/fuzz/corpora/cmp/f8434333eafedb4e8e100f6a198a3bcd1241092d new file mode 100644 index 00000000..ac87aa3f Binary files /dev/null and b/fuzz/corpora/cmp/f8434333eafedb4e8e100f6a198a3bcd1241092d differ diff --git a/fuzz/corpora/cmp/f8497a9dd36a709e9862b2cb9137aa77243249ce b/fuzz/corpora/cmp/f8497a9dd36a709e9862b2cb9137aa77243249ce new file mode 100644 index 00000000..1d81d4f4 Binary files /dev/null and b/fuzz/corpora/cmp/f8497a9dd36a709e9862b2cb9137aa77243249ce differ diff --git a/fuzz/corpora/cmp/f869a8845fa5324f36a9f4a2a00768a9f83f9f7f b/fuzz/corpora/cmp/f869a8845fa5324f36a9f4a2a00768a9f83f9f7f new file mode 100644 index 00000000..af83bd7a Binary files /dev/null and b/fuzz/corpora/cmp/f869a8845fa5324f36a9f4a2a00768a9f83f9f7f differ diff --git a/fuzz/corpora/cmp/f87054f6b0150980be9c4409a7349ce85660841a b/fuzz/corpora/cmp/f87054f6b0150980be9c4409a7349ce85660841a new file mode 100644 index 00000000..68d4a469 Binary files /dev/null and b/fuzz/corpora/cmp/f87054f6b0150980be9c4409a7349ce85660841a differ diff --git a/fuzz/corpora/cmp/f870ad1881183c3d1a528fab68e77f6080044919 b/fuzz/corpora/cmp/f870ad1881183c3d1a528fab68e77f6080044919 new file mode 100644 index 00000000..5197a4a1 Binary files /dev/null and b/fuzz/corpora/cmp/f870ad1881183c3d1a528fab68e77f6080044919 differ diff --git a/fuzz/corpora/cmp/f87237f3d55baecd9c17f3c9b276d53fa1a92a7b b/fuzz/corpora/cmp/f87237f3d55baecd9c17f3c9b276d53fa1a92a7b new file mode 100644 index 00000000..cc76eed6 Binary files /dev/null and b/fuzz/corpora/cmp/f87237f3d55baecd9c17f3c9b276d53fa1a92a7b differ diff --git a/fuzz/corpora/cmp/f892d0cccdd6f0323cfe74c801ad0bd520f0d511 b/fuzz/corpora/cmp/f892d0cccdd6f0323cfe74c801ad0bd520f0d511 new file mode 100644 index 00000000..90653c4e Binary files /dev/null and b/fuzz/corpora/cmp/f892d0cccdd6f0323cfe74c801ad0bd520f0d511 differ diff --git a/fuzz/corpora/cmp/f894b0e833ea283b38924705496a470d18130f39 b/fuzz/corpora/cmp/f894b0e833ea283b38924705496a470d18130f39 new file mode 100644 index 00000000..5c1f4fa9 Binary files /dev/null and b/fuzz/corpora/cmp/f894b0e833ea283b38924705496a470d18130f39 differ diff --git a/fuzz/corpora/cmp/f895395ac7d440fc2b2c9c917e40fa2954bdb52b b/fuzz/corpora/cmp/f895395ac7d440fc2b2c9c917e40fa2954bdb52b new file mode 100644 index 00000000..dbb4a30c Binary files /dev/null and b/fuzz/corpora/cmp/f895395ac7d440fc2b2c9c917e40fa2954bdb52b differ diff --git a/fuzz/corpora/cmp/f8a47ea674fde835d271f4da74ef710c3761af58 b/fuzz/corpora/cmp/f8a47ea674fde835d271f4da74ef710c3761af58 new file mode 100644 index 00000000..c8f4e180 Binary files /dev/null and b/fuzz/corpora/cmp/f8a47ea674fde835d271f4da74ef710c3761af58 differ diff --git a/fuzz/corpora/cmp/f8b75af3443b77051595a105cf21b87763b76561 b/fuzz/corpora/cmp/f8b75af3443b77051595a105cf21b87763b76561 new file mode 100644 index 00000000..b5164a08 Binary files /dev/null and b/fuzz/corpora/cmp/f8b75af3443b77051595a105cf21b87763b76561 differ diff --git a/fuzz/corpora/cmp/f8d2246cf0796eb07887ea3ac00c927f8a2d3d64 b/fuzz/corpora/cmp/f8d2246cf0796eb07887ea3ac00c927f8a2d3d64 new file mode 100644 index 00000000..e961b080 Binary files /dev/null and b/fuzz/corpora/cmp/f8d2246cf0796eb07887ea3ac00c927f8a2d3d64 differ diff --git a/fuzz/corpora/cmp/f8d410ee18661ce134ff56520bcd74157df48d23 b/fuzz/corpora/cmp/f8d410ee18661ce134ff56520bcd74157df48d23 new file mode 100644 index 00000000..ef8de316 Binary files /dev/null and b/fuzz/corpora/cmp/f8d410ee18661ce134ff56520bcd74157df48d23 differ diff --git a/fuzz/corpora/cmp/f8dd54a6bbe147195d6716cc617c44373f59aa89 b/fuzz/corpora/cmp/f8dd54a6bbe147195d6716cc617c44373f59aa89 new file mode 100644 index 00000000..cc5c8cf6 Binary files /dev/null and b/fuzz/corpora/cmp/f8dd54a6bbe147195d6716cc617c44373f59aa89 differ diff --git a/fuzz/corpora/cmp/f8df0667e6975457f2b235a0ffcfcd2b8b519fb8 b/fuzz/corpora/cmp/f8df0667e6975457f2b235a0ffcfcd2b8b519fb8 new file mode 100644 index 00000000..f9c40830 Binary files /dev/null and b/fuzz/corpora/cmp/f8df0667e6975457f2b235a0ffcfcd2b8b519fb8 differ diff --git a/fuzz/corpora/cmp/f8e1a7dcbc209c219d86dda74d10907201b05a7d b/fuzz/corpora/cmp/f8e1a7dcbc209c219d86dda74d10907201b05a7d new file mode 100644 index 00000000..926a9143 Binary files /dev/null and b/fuzz/corpora/cmp/f8e1a7dcbc209c219d86dda74d10907201b05a7d differ diff --git a/fuzz/corpora/cmp/f8e43417b7777d0b08d7e5e712075f11e83a5a80 b/fuzz/corpora/cmp/f8e43417b7777d0b08d7e5e712075f11e83a5a80 new file mode 100644 index 00000000..b3de6372 Binary files /dev/null and b/fuzz/corpora/cmp/f8e43417b7777d0b08d7e5e712075f11e83a5a80 differ diff --git a/fuzz/corpora/cmp/f8e5821cc8b0e4b64d80cdcfb57b782d9f68ff7f b/fuzz/corpora/cmp/f8e5821cc8b0e4b64d80cdcfb57b782d9f68ff7f new file mode 100644 index 00000000..7aa4f92c Binary files /dev/null and b/fuzz/corpora/cmp/f8e5821cc8b0e4b64d80cdcfb57b782d9f68ff7f differ diff --git a/fuzz/corpora/cmp/f8f2d570d81ed028f3b61ed3b401ce9aa01c256a b/fuzz/corpora/cmp/f8f2d570d81ed028f3b61ed3b401ce9aa01c256a new file mode 100644 index 00000000..c9a8f60a Binary files /dev/null and b/fuzz/corpora/cmp/f8f2d570d81ed028f3b61ed3b401ce9aa01c256a differ diff --git a/fuzz/corpora/cmp/f900cc774ee0830b297a9713feec2b2e64a36510 b/fuzz/corpora/cmp/f900cc774ee0830b297a9713feec2b2e64a36510 new file mode 100644 index 00000000..63ffc201 Binary files /dev/null and b/fuzz/corpora/cmp/f900cc774ee0830b297a9713feec2b2e64a36510 differ diff --git a/fuzz/corpora/cmp/f944dcd635f9801f7ac90a407fbc479964dec024 b/fuzz/corpora/cmp/f944dcd635f9801f7ac90a407fbc479964dec024 new file mode 100644 index 00000000..def7fcb5 Binary files /dev/null and b/fuzz/corpora/cmp/f944dcd635f9801f7ac90a407fbc479964dec024 differ diff --git a/fuzz/corpora/cmp/f96d33d371a3b27d9547410da586f1ccdb0c202f b/fuzz/corpora/cmp/f96d33d371a3b27d9547410da586f1ccdb0c202f new file mode 100644 index 00000000..938dabbd Binary files /dev/null and b/fuzz/corpora/cmp/f96d33d371a3b27d9547410da586f1ccdb0c202f differ diff --git a/fuzz/corpora/cmp/f98a1a4b27bde4efe40250072af72b7945635ff5 b/fuzz/corpora/cmp/f98a1a4b27bde4efe40250072af72b7945635ff5 new file mode 100644 index 00000000..3d02943a Binary files /dev/null and b/fuzz/corpora/cmp/f98a1a4b27bde4efe40250072af72b7945635ff5 differ diff --git a/fuzz/corpora/cmp/f9994e477434817ab954462715c6d47e12bfac97 b/fuzz/corpora/cmp/f9994e477434817ab954462715c6d47e12bfac97 new file mode 100644 index 00000000..e7462447 Binary files /dev/null and b/fuzz/corpora/cmp/f9994e477434817ab954462715c6d47e12bfac97 differ diff --git a/fuzz/corpora/cmp/f99f89252983cd22fd1abf4a8d06be8ed1be56f4 b/fuzz/corpora/cmp/f99f89252983cd22fd1abf4a8d06be8ed1be56f4 new file mode 100644 index 00000000..a255f5f8 Binary files /dev/null and b/fuzz/corpora/cmp/f99f89252983cd22fd1abf4a8d06be8ed1be56f4 differ diff --git a/fuzz/corpora/cmp/f9b0f9fe801012140f53e0ab3236bddbea4eb08f b/fuzz/corpora/cmp/f9b0f9fe801012140f53e0ab3236bddbea4eb08f new file mode 100644 index 00000000..b84bc2c7 Binary files /dev/null and b/fuzz/corpora/cmp/f9b0f9fe801012140f53e0ab3236bddbea4eb08f differ diff --git a/fuzz/corpora/cmp/f9c0fd1d7c29068763e761697794d61ca73648f6 b/fuzz/corpora/cmp/f9c0fd1d7c29068763e761697794d61ca73648f6 new file mode 100644 index 00000000..4a649627 Binary files /dev/null and b/fuzz/corpora/cmp/f9c0fd1d7c29068763e761697794d61ca73648f6 differ diff --git a/fuzz/corpora/cmp/f9ee506e86758d3de1c3d905ad775830f147909c b/fuzz/corpora/cmp/f9ee506e86758d3de1c3d905ad775830f147909c new file mode 100644 index 00000000..c109f383 Binary files /dev/null and b/fuzz/corpora/cmp/f9ee506e86758d3de1c3d905ad775830f147909c differ diff --git a/fuzz/corpora/cmp/f9f452c32506473a8fdee1ad7f9007f47f59a330 b/fuzz/corpora/cmp/f9f452c32506473a8fdee1ad7f9007f47f59a330 new file mode 100644 index 00000000..771820b1 Binary files /dev/null and b/fuzz/corpora/cmp/f9f452c32506473a8fdee1ad7f9007f47f59a330 differ diff --git a/fuzz/corpora/cmp/f9f8c87fed457b1ca7682be64b8711a97d731cf9 b/fuzz/corpora/cmp/f9f8c87fed457b1ca7682be64b8711a97d731cf9 new file mode 100644 index 00000000..bc926cf8 Binary files /dev/null and b/fuzz/corpora/cmp/f9f8c87fed457b1ca7682be64b8711a97d731cf9 differ diff --git a/fuzz/corpora/cmp/fa0288b5c818431360b67e1d6b77da83b6e22ce5 b/fuzz/corpora/cmp/fa0288b5c818431360b67e1d6b77da83b6e22ce5 new file mode 100644 index 00000000..b908aac6 Binary files /dev/null and b/fuzz/corpora/cmp/fa0288b5c818431360b67e1d6b77da83b6e22ce5 differ diff --git a/fuzz/corpora/cmp/fa37826f58e66ec26394239324c30cc900afb39f b/fuzz/corpora/cmp/fa37826f58e66ec26394239324c30cc900afb39f new file mode 100644 index 00000000..c977566d Binary files /dev/null and b/fuzz/corpora/cmp/fa37826f58e66ec26394239324c30cc900afb39f differ diff --git a/fuzz/corpora/cmp/fa38602ae7c5eada6394fd155425c410ef1abc03 b/fuzz/corpora/cmp/fa38602ae7c5eada6394fd155425c410ef1abc03 new file mode 100644 index 00000000..80b1074f Binary files /dev/null and b/fuzz/corpora/cmp/fa38602ae7c5eada6394fd155425c410ef1abc03 differ diff --git a/fuzz/corpora/cmp/fa4f6970288171db8ad9148694b5e889293bdab3 b/fuzz/corpora/cmp/fa4f6970288171db8ad9148694b5e889293bdab3 new file mode 100644 index 00000000..4e1f7cef Binary files /dev/null and b/fuzz/corpora/cmp/fa4f6970288171db8ad9148694b5e889293bdab3 differ diff --git a/fuzz/corpora/cmp/fa67700d44c96bb64349655c8c4f4f125232b48d b/fuzz/corpora/cmp/fa67700d44c96bb64349655c8c4f4f125232b48d new file mode 100644 index 00000000..58018468 Binary files /dev/null and b/fuzz/corpora/cmp/fa67700d44c96bb64349655c8c4f4f125232b48d differ diff --git a/fuzz/corpora/cmp/fa7a50f39ef276ed8e5429a88c443822d395c010 b/fuzz/corpora/cmp/fa7a50f39ef276ed8e5429a88c443822d395c010 new file mode 100644 index 00000000..e2068ec9 Binary files /dev/null and b/fuzz/corpora/cmp/fa7a50f39ef276ed8e5429a88c443822d395c010 differ diff --git a/fuzz/corpora/cmp/fa7f3eac3d0217fe5cbc5d0a762f2b79da61f66d b/fuzz/corpora/cmp/fa7f3eac3d0217fe5cbc5d0a762f2b79da61f66d new file mode 100644 index 00000000..d5c85060 Binary files /dev/null and b/fuzz/corpora/cmp/fa7f3eac3d0217fe5cbc5d0a762f2b79da61f66d differ diff --git a/fuzz/corpora/cmp/fa92ceac025acb42ad5d6f04fb2ba6eaec1e010b b/fuzz/corpora/cmp/fa92ceac025acb42ad5d6f04fb2ba6eaec1e010b new file mode 100644 index 00000000..b8ab4ae4 Binary files /dev/null and b/fuzz/corpora/cmp/fa92ceac025acb42ad5d6f04fb2ba6eaec1e010b differ diff --git a/fuzz/corpora/cmp/fa96ba194acbce4f770f3de5369401ff462d6561 b/fuzz/corpora/cmp/fa96ba194acbce4f770f3de5369401ff462d6561 new file mode 100644 index 00000000..eb0a33e9 Binary files /dev/null and b/fuzz/corpora/cmp/fa96ba194acbce4f770f3de5369401ff462d6561 differ diff --git a/fuzz/corpora/cmp/faae9e51aa94c5d6c99a5980f0241e07300dec18 b/fuzz/corpora/cmp/faae9e51aa94c5d6c99a5980f0241e07300dec18 new file mode 100644 index 00000000..0982e145 Binary files /dev/null and b/fuzz/corpora/cmp/faae9e51aa94c5d6c99a5980f0241e07300dec18 differ diff --git a/fuzz/corpora/cmp/faafe1781d9af10f6374983364541d721b7f4137 b/fuzz/corpora/cmp/faafe1781d9af10f6374983364541d721b7f4137 new file mode 100644 index 00000000..74a186e4 Binary files /dev/null and b/fuzz/corpora/cmp/faafe1781d9af10f6374983364541d721b7f4137 differ diff --git a/fuzz/corpora/cmp/fac860ba60e3733150b96b932e0e48eba20e8834 b/fuzz/corpora/cmp/fac860ba60e3733150b96b932e0e48eba20e8834 new file mode 100644 index 00000000..299f0587 Binary files /dev/null and b/fuzz/corpora/cmp/fac860ba60e3733150b96b932e0e48eba20e8834 differ diff --git a/fuzz/corpora/cmp/facc43f63fbad474f37c670e69e43c6cf8e54d11 b/fuzz/corpora/cmp/facc43f63fbad474f37c670e69e43c6cf8e54d11 new file mode 100644 index 00000000..21ce190f Binary files /dev/null and b/fuzz/corpora/cmp/facc43f63fbad474f37c670e69e43c6cf8e54d11 differ diff --git a/fuzz/corpora/cmp/facc91d06137340723d4e85d02aa198e5b887e70 b/fuzz/corpora/cmp/facc91d06137340723d4e85d02aa198e5b887e70 new file mode 100644 index 00000000..90aa6542 Binary files /dev/null and b/fuzz/corpora/cmp/facc91d06137340723d4e85d02aa198e5b887e70 differ diff --git a/fuzz/corpora/cmp/faf4bbff770ab1fcac891e7fbad50b2fe6c09993 b/fuzz/corpora/cmp/faf4bbff770ab1fcac891e7fbad50b2fe6c09993 new file mode 100644 index 00000000..a2c89b9e Binary files /dev/null and b/fuzz/corpora/cmp/faf4bbff770ab1fcac891e7fbad50b2fe6c09993 differ diff --git a/fuzz/corpora/cmp/fafcf7c3cf970a5ed8338bfd7e23b35ac05425a3 b/fuzz/corpora/cmp/fafcf7c3cf970a5ed8338bfd7e23b35ac05425a3 new file mode 100644 index 00000000..01102053 Binary files /dev/null and b/fuzz/corpora/cmp/fafcf7c3cf970a5ed8338bfd7e23b35ac05425a3 differ diff --git a/fuzz/corpora/cmp/fb0886321516fec4c03aa81a0250b3c912e27a53 b/fuzz/corpora/cmp/fb0886321516fec4c03aa81a0250b3c912e27a53 new file mode 100644 index 00000000..87efa3b2 Binary files /dev/null and b/fuzz/corpora/cmp/fb0886321516fec4c03aa81a0250b3c912e27a53 differ diff --git a/fuzz/corpora/cmp/fb092326919103d82dd179904ad466c11663a5c6 b/fuzz/corpora/cmp/fb092326919103d82dd179904ad466c11663a5c6 new file mode 100644 index 00000000..7efc57ef Binary files /dev/null and b/fuzz/corpora/cmp/fb092326919103d82dd179904ad466c11663a5c6 differ diff --git a/fuzz/corpora/cmp/fb19ce95e00d198219203f11ff88295c05d061ee b/fuzz/corpora/cmp/fb19ce95e00d198219203f11ff88295c05d061ee new file mode 100644 index 00000000..e16382aa Binary files /dev/null and b/fuzz/corpora/cmp/fb19ce95e00d198219203f11ff88295c05d061ee differ diff --git a/fuzz/corpora/cmp/fb2c1dac6e127a663d016c4dde813e5012decefa b/fuzz/corpora/cmp/fb2c1dac6e127a663d016c4dde813e5012decefa new file mode 100644 index 00000000..5812d0bd Binary files /dev/null and b/fuzz/corpora/cmp/fb2c1dac6e127a663d016c4dde813e5012decefa differ diff --git a/fuzz/corpora/cmp/fb31d94af6f186c43dcc5c9317e12bbf35db042a b/fuzz/corpora/cmp/fb31d94af6f186c43dcc5c9317e12bbf35db042a new file mode 100644 index 00000000..b4b51192 Binary files /dev/null and b/fuzz/corpora/cmp/fb31d94af6f186c43dcc5c9317e12bbf35db042a differ diff --git a/fuzz/corpora/cmp/fb64a877f0eebc4e7a1c6cf9a11dfd33aaf09b19 b/fuzz/corpora/cmp/fb64a877f0eebc4e7a1c6cf9a11dfd33aaf09b19 new file mode 100644 index 00000000..7abfd176 Binary files /dev/null and b/fuzz/corpora/cmp/fb64a877f0eebc4e7a1c6cf9a11dfd33aaf09b19 differ diff --git a/fuzz/corpora/cmp/fb67b8d76421eea7702e6603f1d0885713e5c812 b/fuzz/corpora/cmp/fb67b8d76421eea7702e6603f1d0885713e5c812 new file mode 100644 index 00000000..efee4a72 Binary files /dev/null and b/fuzz/corpora/cmp/fb67b8d76421eea7702e6603f1d0885713e5c812 differ diff --git a/fuzz/corpora/cmp/fb6925af5ef4a2fcfe0542a18368ea824d7a7f78 b/fuzz/corpora/cmp/fb6925af5ef4a2fcfe0542a18368ea824d7a7f78 new file mode 100644 index 00000000..3ab37921 Binary files /dev/null and b/fuzz/corpora/cmp/fb6925af5ef4a2fcfe0542a18368ea824d7a7f78 differ diff --git a/fuzz/corpora/cmp/fb7f9af91d8e55f32f7e21d864da1ad8d02a15b8 b/fuzz/corpora/cmp/fb7f9af91d8e55f32f7e21d864da1ad8d02a15b8 new file mode 100644 index 00000000..c058d859 Binary files /dev/null and b/fuzz/corpora/cmp/fb7f9af91d8e55f32f7e21d864da1ad8d02a15b8 differ diff --git a/fuzz/corpora/cmp/fb82b490f53b093b22b8da5aba92c996f875a09b b/fuzz/corpora/cmp/fb82b490f53b093b22b8da5aba92c996f875a09b new file mode 100644 index 00000000..d2d39106 Binary files /dev/null and b/fuzz/corpora/cmp/fb82b490f53b093b22b8da5aba92c996f875a09b differ diff --git a/fuzz/corpora/cmp/fb8c1494631b7f38022ea6f026f5f0ca1667d1fc b/fuzz/corpora/cmp/fb8c1494631b7f38022ea6f026f5f0ca1667d1fc new file mode 100644 index 00000000..186a9c5a Binary files /dev/null and b/fuzz/corpora/cmp/fb8c1494631b7f38022ea6f026f5f0ca1667d1fc differ diff --git a/fuzz/corpora/cmp/fb942f169bfc1ad8f6cb413ed296fe39ffb83555 b/fuzz/corpora/cmp/fb942f169bfc1ad8f6cb413ed296fe39ffb83555 new file mode 100644 index 00000000..7483ee6e Binary files /dev/null and b/fuzz/corpora/cmp/fb942f169bfc1ad8f6cb413ed296fe39ffb83555 differ diff --git a/fuzz/corpora/cmp/fbb3c11e787328f7803d10d60cf44f164aa497f5 b/fuzz/corpora/cmp/fbb3c11e787328f7803d10d60cf44f164aa497f5 new file mode 100644 index 00000000..0a130d50 Binary files /dev/null and b/fuzz/corpora/cmp/fbb3c11e787328f7803d10d60cf44f164aa497f5 differ diff --git a/fuzz/corpora/cmp/fbb5db28e448dbc89262d8df1f8d4aa7b26b3f0a b/fuzz/corpora/cmp/fbb5db28e448dbc89262d8df1f8d4aa7b26b3f0a new file mode 100644 index 00000000..cf39f065 Binary files /dev/null and b/fuzz/corpora/cmp/fbb5db28e448dbc89262d8df1f8d4aa7b26b3f0a differ diff --git a/fuzz/corpora/cmp/fbd27cfbfbf82bbd803dfd08b11b7006a37a4144 b/fuzz/corpora/cmp/fbd27cfbfbf82bbd803dfd08b11b7006a37a4144 new file mode 100644 index 00000000..6538a45a Binary files /dev/null and b/fuzz/corpora/cmp/fbd27cfbfbf82bbd803dfd08b11b7006a37a4144 differ diff --git a/fuzz/corpora/cmp/fbdcc7c901734e433a8b379778b451cacd608ad9 b/fuzz/corpora/cmp/fbdcc7c901734e433a8b379778b451cacd608ad9 new file mode 100644 index 00000000..ded4c3ee Binary files /dev/null and b/fuzz/corpora/cmp/fbdcc7c901734e433a8b379778b451cacd608ad9 differ diff --git a/fuzz/corpora/cmp/fc037ff79137434ae4d8ae6317d424470aa3506b b/fuzz/corpora/cmp/fc037ff79137434ae4d8ae6317d424470aa3506b new file mode 100644 index 00000000..0c72e9c5 Binary files /dev/null and b/fuzz/corpora/cmp/fc037ff79137434ae4d8ae6317d424470aa3506b differ diff --git a/fuzz/corpora/cmp/fc0418a8839ab31ce0ed1dd69c6da6d7c04b99fa b/fuzz/corpora/cmp/fc0418a8839ab31ce0ed1dd69c6da6d7c04b99fa new file mode 100644 index 00000000..513d2b4b Binary files /dev/null and b/fuzz/corpora/cmp/fc0418a8839ab31ce0ed1dd69c6da6d7c04b99fa differ diff --git a/fuzz/corpora/cmp/fc0e314025cb2fc4a250ae8d21b18fb8fab6b743 b/fuzz/corpora/cmp/fc0e314025cb2fc4a250ae8d21b18fb8fab6b743 new file mode 100644 index 00000000..ed5566f1 Binary files /dev/null and b/fuzz/corpora/cmp/fc0e314025cb2fc4a250ae8d21b18fb8fab6b743 differ diff --git a/fuzz/corpora/cmp/fc1034baf122fd76c36161ac5a2870826a871118 b/fuzz/corpora/cmp/fc1034baf122fd76c36161ac5a2870826a871118 new file mode 100644 index 00000000..5ff0900a Binary files /dev/null and b/fuzz/corpora/cmp/fc1034baf122fd76c36161ac5a2870826a871118 differ diff --git a/fuzz/corpora/cmp/fc557300717db83612b00fa66a3a7884bc814060 b/fuzz/corpora/cmp/fc557300717db83612b00fa66a3a7884bc814060 new file mode 100644 index 00000000..26db6d88 Binary files /dev/null and b/fuzz/corpora/cmp/fc557300717db83612b00fa66a3a7884bc814060 differ diff --git a/fuzz/corpora/cmp/fc6404ec77845390e9815be48424e79c59760a31 b/fuzz/corpora/cmp/fc6404ec77845390e9815be48424e79c59760a31 new file mode 100644 index 00000000..84b9fb60 Binary files /dev/null and b/fuzz/corpora/cmp/fc6404ec77845390e9815be48424e79c59760a31 differ diff --git a/fuzz/corpora/cmp/fc6b1e6b64cefea0073469949f846e33d3904cd8 b/fuzz/corpora/cmp/fc6b1e6b64cefea0073469949f846e33d3904cd8 new file mode 100644 index 00000000..92ef59ad Binary files /dev/null and b/fuzz/corpora/cmp/fc6b1e6b64cefea0073469949f846e33d3904cd8 differ diff --git a/fuzz/corpora/cmp/fc6b5768834be8c8fa354955504601df74a4c847 b/fuzz/corpora/cmp/fc6b5768834be8c8fa354955504601df74a4c847 new file mode 100644 index 00000000..f378093d Binary files /dev/null and b/fuzz/corpora/cmp/fc6b5768834be8c8fa354955504601df74a4c847 differ diff --git a/fuzz/corpora/cmp/fc8123c4a1f31f023bdaf7e78d047e5e8d67bc6d b/fuzz/corpora/cmp/fc8123c4a1f31f023bdaf7e78d047e5e8d67bc6d new file mode 100644 index 00000000..bec9b990 Binary files /dev/null and b/fuzz/corpora/cmp/fc8123c4a1f31f023bdaf7e78d047e5e8d67bc6d differ diff --git a/fuzz/corpora/cmp/fc89f47002f1322ea8ffb18de516e5da3765974a b/fuzz/corpora/cmp/fc89f47002f1322ea8ffb18de516e5da3765974a new file mode 100644 index 00000000..9dbdd95c --- /dev/null +++ b/fuzz/corpora/cmp/fc89f47002f1322ea8ffb18de516e5da3765974a @@ -0,0 +1 @@ +ÿ# \ No newline at end of file diff --git a/fuzz/corpora/cmp/fca1318f8ef57c9ba22fbec4b8f39dc0f013becf b/fuzz/corpora/cmp/fca1318f8ef57c9ba22fbec4b8f39dc0f013becf new file mode 100644 index 00000000..4dac3e8b Binary files /dev/null and b/fuzz/corpora/cmp/fca1318f8ef57c9ba22fbec4b8f39dc0f013becf differ diff --git a/fuzz/corpora/cmp/fca47ce08b7b246bcc6d9335e7b3cec287698ce2 b/fuzz/corpora/cmp/fca47ce08b7b246bcc6d9335e7b3cec287698ce2 new file mode 100644 index 00000000..eb4d88ed Binary files /dev/null and b/fuzz/corpora/cmp/fca47ce08b7b246bcc6d9335e7b3cec287698ce2 differ diff --git a/fuzz/corpora/cmp/fcac70fcad4fed0af38e898c8365454add30ed43 b/fuzz/corpora/cmp/fcac70fcad4fed0af38e898c8365454add30ed43 new file mode 100644 index 00000000..9cc60fb1 Binary files /dev/null and b/fuzz/corpora/cmp/fcac70fcad4fed0af38e898c8365454add30ed43 differ diff --git a/fuzz/corpora/cmp/fcae9fe2253d1a4891af799b71674a24ee009d31 b/fuzz/corpora/cmp/fcae9fe2253d1a4891af799b71674a24ee009d31 new file mode 100644 index 00000000..433401ca Binary files /dev/null and b/fuzz/corpora/cmp/fcae9fe2253d1a4891af799b71674a24ee009d31 differ diff --git a/fuzz/corpora/cmp/fcc41a1a729063ceec4a7e974a1fcc1aba908c4c b/fuzz/corpora/cmp/fcc41a1a729063ceec4a7e974a1fcc1aba908c4c new file mode 100644 index 00000000..5b173468 Binary files /dev/null and b/fuzz/corpora/cmp/fcc41a1a729063ceec4a7e974a1fcc1aba908c4c differ diff --git a/fuzz/corpora/cmp/fce23cf2b9c8fe3986156cf4e00b5349ea608d2b b/fuzz/corpora/cmp/fce23cf2b9c8fe3986156cf4e00b5349ea608d2b new file mode 100644 index 00000000..fd3b2ca7 Binary files /dev/null and b/fuzz/corpora/cmp/fce23cf2b9c8fe3986156cf4e00b5349ea608d2b differ diff --git a/fuzz/corpora/cmp/fd045c14090ac9d725cfd25ecc62fae111a20766 b/fuzz/corpora/cmp/fd045c14090ac9d725cfd25ecc62fae111a20766 new file mode 100644 index 00000000..545f42f8 Binary files /dev/null and b/fuzz/corpora/cmp/fd045c14090ac9d725cfd25ecc62fae111a20766 differ diff --git a/fuzz/corpora/cmp/fd12f6a358e7e2980e36a67653f31297595c1df0 b/fuzz/corpora/cmp/fd12f6a358e7e2980e36a67653f31297595c1df0 new file mode 100644 index 00000000..88f92d99 Binary files /dev/null and b/fuzz/corpora/cmp/fd12f6a358e7e2980e36a67653f31297595c1df0 differ diff --git a/fuzz/corpora/cmp/fd23caad21dfff59eebd4ceacc6fa3caa4f3e5ce b/fuzz/corpora/cmp/fd23caad21dfff59eebd4ceacc6fa3caa4f3e5ce new file mode 100644 index 00000000..0eb496dc Binary files /dev/null and b/fuzz/corpora/cmp/fd23caad21dfff59eebd4ceacc6fa3caa4f3e5ce differ diff --git a/fuzz/corpora/cmp/fd2f1be7c6650730e06bb1b8b227fde835e0fd1f b/fuzz/corpora/cmp/fd2f1be7c6650730e06bb1b8b227fde835e0fd1f new file mode 100644 index 00000000..f663cacd Binary files /dev/null and b/fuzz/corpora/cmp/fd2f1be7c6650730e06bb1b8b227fde835e0fd1f differ diff --git a/fuzz/corpora/cmp/fd36818805712a0d4b6547504ecf2a31569dbb91 b/fuzz/corpora/cmp/fd36818805712a0d4b6547504ecf2a31569dbb91 new file mode 100644 index 00000000..e7a6b130 Binary files /dev/null and b/fuzz/corpora/cmp/fd36818805712a0d4b6547504ecf2a31569dbb91 differ diff --git a/fuzz/corpora/cmp/fd4ad0a5f4209c4c171b474ec36c419a2ec26c25 b/fuzz/corpora/cmp/fd4ad0a5f4209c4c171b474ec36c419a2ec26c25 new file mode 100644 index 00000000..16b202bf Binary files /dev/null and b/fuzz/corpora/cmp/fd4ad0a5f4209c4c171b474ec36c419a2ec26c25 differ diff --git a/fuzz/corpora/cmp/fd80b14c23a490292d8502c949a6f43d3cfa533f b/fuzz/corpora/cmp/fd80b14c23a490292d8502c949a6f43d3cfa533f new file mode 100644 index 00000000..5ab979de Binary files /dev/null and b/fuzz/corpora/cmp/fd80b14c23a490292d8502c949a6f43d3cfa533f differ diff --git a/fuzz/corpora/cmp/fda4e081e2d3445653d644f0f1ba86866c3af6fb b/fuzz/corpora/cmp/fda4e081e2d3445653d644f0f1ba86866c3af6fb new file mode 100644 index 00000000..b648b363 Binary files /dev/null and b/fuzz/corpora/cmp/fda4e081e2d3445653d644f0f1ba86866c3af6fb differ diff --git a/fuzz/corpora/cmp/fdac8d1d1d1e5a68c03312e8160f7aec30e9d2d6 b/fuzz/corpora/cmp/fdac8d1d1d1e5a68c03312e8160f7aec30e9d2d6 new file mode 100644 index 00000000..fb0c81c5 Binary files /dev/null and b/fuzz/corpora/cmp/fdac8d1d1d1e5a68c03312e8160f7aec30e9d2d6 differ diff --git a/fuzz/corpora/cmp/fdb69e4caf04f67b8d6137a7edfed21fa91944f4 b/fuzz/corpora/cmp/fdb69e4caf04f67b8d6137a7edfed21fa91944f4 new file mode 100644 index 00000000..0b78b902 Binary files /dev/null and b/fuzz/corpora/cmp/fdb69e4caf04f67b8d6137a7edfed21fa91944f4 differ diff --git a/fuzz/corpora/cmp/fdbc78a6eeb9c7c3a13d074467dd19d20f627aca b/fuzz/corpora/cmp/fdbc78a6eeb9c7c3a13d074467dd19d20f627aca new file mode 100644 index 00000000..a1304a84 Binary files /dev/null and b/fuzz/corpora/cmp/fdbc78a6eeb9c7c3a13d074467dd19d20f627aca differ diff --git a/fuzz/corpora/cmp/fdbcecb412f83a5917b6730592909936f625cf8d b/fuzz/corpora/cmp/fdbcecb412f83a5917b6730592909936f625cf8d new file mode 100644 index 00000000..1012a577 Binary files /dev/null and b/fuzz/corpora/cmp/fdbcecb412f83a5917b6730592909936f625cf8d differ diff --git a/fuzz/corpora/cmp/fdcfec78b993809a1a3a69fe5f06fa9734f821f0 b/fuzz/corpora/cmp/fdcfec78b993809a1a3a69fe5f06fa9734f821f0 new file mode 100644 index 00000000..3a7fd55c Binary files /dev/null and b/fuzz/corpora/cmp/fdcfec78b993809a1a3a69fe5f06fa9734f821f0 differ diff --git a/fuzz/corpora/cmp/fdd1256170488f98859cf325ba037b6da65ce852 b/fuzz/corpora/cmp/fdd1256170488f98859cf325ba037b6da65ce852 new file mode 100644 index 00000000..3282fa25 Binary files /dev/null and b/fuzz/corpora/cmp/fdd1256170488f98859cf325ba037b6da65ce852 differ diff --git a/fuzz/corpora/cmp/fdd341c902a6b9852302239f1df84b5f6645723b b/fuzz/corpora/cmp/fdd341c902a6b9852302239f1df84b5f6645723b new file mode 100644 index 00000000..09e663a0 Binary files /dev/null and b/fuzz/corpora/cmp/fdd341c902a6b9852302239f1df84b5f6645723b differ diff --git a/fuzz/corpora/cmp/fdd3aab08bfbe223a3f693a8f85a7900ad268f8f b/fuzz/corpora/cmp/fdd3aab08bfbe223a3f693a8f85a7900ad268f8f new file mode 100644 index 00000000..3aa6fab0 Binary files /dev/null and b/fuzz/corpora/cmp/fdd3aab08bfbe223a3f693a8f85a7900ad268f8f differ diff --git a/fuzz/corpora/cmp/fddd4c14b9015b1bde9b34214a0503227cfb9ecf b/fuzz/corpora/cmp/fddd4c14b9015b1bde9b34214a0503227cfb9ecf new file mode 100644 index 00000000..03438f38 Binary files /dev/null and b/fuzz/corpora/cmp/fddd4c14b9015b1bde9b34214a0503227cfb9ecf differ diff --git a/fuzz/corpora/cmp/fdf7a4aacd2a83f017401f3e41da413c04971d97 b/fuzz/corpora/cmp/fdf7a4aacd2a83f017401f3e41da413c04971d97 new file mode 100644 index 00000000..0dd6d16a Binary files /dev/null and b/fuzz/corpora/cmp/fdf7a4aacd2a83f017401f3e41da413c04971d97 differ diff --git a/fuzz/corpora/cmp/fdfe9c85d28d6129fad50a958a2d07c5e56cf3b4 b/fuzz/corpora/cmp/fdfe9c85d28d6129fad50a958a2d07c5e56cf3b4 new file mode 100644 index 00000000..62532905 Binary files /dev/null and b/fuzz/corpora/cmp/fdfe9c85d28d6129fad50a958a2d07c5e56cf3b4 differ diff --git a/fuzz/corpora/cmp/fe11cfc8bf79bc907e91e5e310b0c98e7a1d820b b/fuzz/corpora/cmp/fe11cfc8bf79bc907e91e5e310b0c98e7a1d820b new file mode 100644 index 00000000..fcc826a6 Binary files /dev/null and b/fuzz/corpora/cmp/fe11cfc8bf79bc907e91e5e310b0c98e7a1d820b differ diff --git a/fuzz/corpora/cmp/fe192f800fda2d9af65d8e89b408256178defd2a b/fuzz/corpora/cmp/fe192f800fda2d9af65d8e89b408256178defd2a new file mode 100644 index 00000000..88b42683 Binary files /dev/null and b/fuzz/corpora/cmp/fe192f800fda2d9af65d8e89b408256178defd2a differ diff --git a/fuzz/corpora/cmp/fe2ac731e5adfbf997dbf9cfb6456b87c7e52934 b/fuzz/corpora/cmp/fe2ac731e5adfbf997dbf9cfb6456b87c7e52934 new file mode 100644 index 00000000..56aef94f Binary files /dev/null and b/fuzz/corpora/cmp/fe2ac731e5adfbf997dbf9cfb6456b87c7e52934 differ diff --git a/fuzz/corpora/cmp/fe2fab2ca8baf8e8aa7dec652f39ab6847ed9ca9 b/fuzz/corpora/cmp/fe2fab2ca8baf8e8aa7dec652f39ab6847ed9ca9 new file mode 100644 index 00000000..bb266aef Binary files /dev/null and b/fuzz/corpora/cmp/fe2fab2ca8baf8e8aa7dec652f39ab6847ed9ca9 differ diff --git a/fuzz/corpora/cmp/fe315094ae34b4ff2cc6640d41b35e16f94e17b4 b/fuzz/corpora/cmp/fe315094ae34b4ff2cc6640d41b35e16f94e17b4 new file mode 100644 index 00000000..25e6086e Binary files /dev/null and b/fuzz/corpora/cmp/fe315094ae34b4ff2cc6640d41b35e16f94e17b4 differ diff --git a/fuzz/corpora/cmp/fe36c59397ada52330ae7cc02abbdafbdbbb52d9 b/fuzz/corpora/cmp/fe36c59397ada52330ae7cc02abbdafbdbbb52d9 new file mode 100644 index 00000000..37abac79 Binary files /dev/null and b/fuzz/corpora/cmp/fe36c59397ada52330ae7cc02abbdafbdbbb52d9 differ diff --git a/fuzz/corpora/cmp/fe47156ad38faaf9b1efd33de21735cb2a7f0904 b/fuzz/corpora/cmp/fe47156ad38faaf9b1efd33de21735cb2a7f0904 new file mode 100644 index 00000000..6e1239b1 Binary files /dev/null and b/fuzz/corpora/cmp/fe47156ad38faaf9b1efd33de21735cb2a7f0904 differ diff --git a/fuzz/corpora/cmp/fe70fb4c9f3e696913a1f033c0387653f3c9b8f9 b/fuzz/corpora/cmp/fe70fb4c9f3e696913a1f033c0387653f3c9b8f9 new file mode 100644 index 00000000..3314485a Binary files /dev/null and b/fuzz/corpora/cmp/fe70fb4c9f3e696913a1f033c0387653f3c9b8f9 differ diff --git a/fuzz/corpora/cmp/fe7eb99839c6da7017b57f91b92c0a8c037fb03e b/fuzz/corpora/cmp/fe7eb99839c6da7017b57f91b92c0a8c037fb03e new file mode 100644 index 00000000..866b9b61 Binary files /dev/null and b/fuzz/corpora/cmp/fe7eb99839c6da7017b57f91b92c0a8c037fb03e differ diff --git a/fuzz/corpora/cmp/fe8f8126a7abbb1a964d55848aff16f23e266ef7 b/fuzz/corpora/cmp/fe8f8126a7abbb1a964d55848aff16f23e266ef7 new file mode 100644 index 00000000..b6b2b4f2 --- /dev/null +++ b/fuzz/corpora/cmp/fe8f8126a7abbb1a964d55848aff16f23e266ef7 @@ -0,0 +1,2 @@ +0 +0€M \ No newline at end of file diff --git a/fuzz/corpora/cmp/fea55e26bee04ff56117b372f355aeefc866b4b0 b/fuzz/corpora/cmp/fea55e26bee04ff56117b372f355aeefc866b4b0 new file mode 100644 index 00000000..241a46f5 Binary files /dev/null and b/fuzz/corpora/cmp/fea55e26bee04ff56117b372f355aeefc866b4b0 differ diff --git a/fuzz/corpora/cmp/fedf92e9a1c656e0bf7ca48fdfb5c3a97865a6a9 b/fuzz/corpora/cmp/fedf92e9a1c656e0bf7ca48fdfb5c3a97865a6a9 new file mode 100644 index 00000000..51df100a Binary files /dev/null and b/fuzz/corpora/cmp/fedf92e9a1c656e0bf7ca48fdfb5c3a97865a6a9 differ diff --git a/fuzz/corpora/cmp/feedb28bfd159301e79e2750a2980fef32436fc2 b/fuzz/corpora/cmp/feedb28bfd159301e79e2750a2980fef32436fc2 new file mode 100644 index 00000000..71b8bc8a Binary files /dev/null and b/fuzz/corpora/cmp/feedb28bfd159301e79e2750a2980fef32436fc2 differ diff --git a/fuzz/corpora/cmp/fef930134ee7d911aca25dfdb8fa2ae3da11c58b b/fuzz/corpora/cmp/fef930134ee7d911aca25dfdb8fa2ae3da11c58b new file mode 100644 index 00000000..11aa7029 Binary files /dev/null and b/fuzz/corpora/cmp/fef930134ee7d911aca25dfdb8fa2ae3da11c58b differ diff --git a/fuzz/corpora/cmp/ff01b134a2e20855a3a580c8a20e1f92b920e824 b/fuzz/corpora/cmp/ff01b134a2e20855a3a580c8a20e1f92b920e824 new file mode 100644 index 00000000..3cde2f6b Binary files /dev/null and b/fuzz/corpora/cmp/ff01b134a2e20855a3a580c8a20e1f92b920e824 differ diff --git a/fuzz/corpora/cmp/ff30159b8c9a8636931d7ec5e31e448d2c6af8a4 b/fuzz/corpora/cmp/ff30159b8c9a8636931d7ec5e31e448d2c6af8a4 new file mode 100644 index 00000000..4468c454 Binary files /dev/null and b/fuzz/corpora/cmp/ff30159b8c9a8636931d7ec5e31e448d2c6af8a4 differ diff --git a/fuzz/corpora/cmp/ff53f58667fc70f23e3b8d9988631120332acd7b b/fuzz/corpora/cmp/ff53f58667fc70f23e3b8d9988631120332acd7b new file mode 100644 index 00000000..5a887cbe Binary files /dev/null and b/fuzz/corpora/cmp/ff53f58667fc70f23e3b8d9988631120332acd7b differ diff --git a/fuzz/corpora/cmp/ff662f4d2e81048402bfc7e525274a1cfbd8f7d8 b/fuzz/corpora/cmp/ff662f4d2e81048402bfc7e525274a1cfbd8f7d8 new file mode 100644 index 00000000..4abd05bd Binary files /dev/null and b/fuzz/corpora/cmp/ff662f4d2e81048402bfc7e525274a1cfbd8f7d8 differ diff --git a/fuzz/corpora/cmp/ff7b3017a849b338295cb68e311293c15c9dd637 b/fuzz/corpora/cmp/ff7b3017a849b338295cb68e311293c15c9dd637 new file mode 100644 index 00000000..afffb824 Binary files /dev/null and b/fuzz/corpora/cmp/ff7b3017a849b338295cb68e311293c15c9dd637 differ diff --git a/fuzz/corpora/cmp/ff7cde8ac79f6b77295256d05e00e104c2dcd9a4 b/fuzz/corpora/cmp/ff7cde8ac79f6b77295256d05e00e104c2dcd9a4 new file mode 100644 index 00000000..00794502 Binary files /dev/null and b/fuzz/corpora/cmp/ff7cde8ac79f6b77295256d05e00e104c2dcd9a4 differ diff --git a/fuzz/corpora/cmp/ff9358885239be51bcb2457e76c4f3ab755ff30b b/fuzz/corpora/cmp/ff9358885239be51bcb2457e76c4f3ab755ff30b new file mode 100644 index 00000000..3f0b461d Binary files /dev/null and b/fuzz/corpora/cmp/ff9358885239be51bcb2457e76c4f3ab755ff30b differ diff --git a/fuzz/corpora/cmp/ffb08a2847cab5bad596e73ed6a9d3487f2274d2 b/fuzz/corpora/cmp/ffb08a2847cab5bad596e73ed6a9d3487f2274d2 new file mode 100644 index 00000000..e7eaa4b0 Binary files /dev/null and b/fuzz/corpora/cmp/ffb08a2847cab5bad596e73ed6a9d3487f2274d2 differ diff --git a/fuzz/corpora/cmp/ffb5d1bcc0395721c337ffa86f671b28c23abda3 b/fuzz/corpora/cmp/ffb5d1bcc0395721c337ffa86f671b28c23abda3 new file mode 100644 index 00000000..8b1883d6 Binary files /dev/null and b/fuzz/corpora/cmp/ffb5d1bcc0395721c337ffa86f671b28c23abda3 differ diff --git a/fuzz/corpora/cmp/ffd2291d74afc322554887334d962e8c1629c34b b/fuzz/corpora/cmp/ffd2291d74afc322554887334d962e8c1629c34b new file mode 100644 index 00000000..bd67ed11 Binary files /dev/null and b/fuzz/corpora/cmp/ffd2291d74afc322554887334d962e8c1629c34b differ diff --git a/fuzz/corpora/cmp/ffd6be39c8f10e70cc6504468e9b3b3359cff995 b/fuzz/corpora/cmp/ffd6be39c8f10e70cc6504468e9b3b3359cff995 new file mode 100644 index 00000000..a218788a Binary files /dev/null and b/fuzz/corpora/cmp/ffd6be39c8f10e70cc6504468e9b3b3359cff995 differ diff --git a/fuzz/corpora/cmp/fff4e450f19ced07686229574ab88a9e68d809c9 b/fuzz/corpora/cmp/fff4e450f19ced07686229574ab88a9e68d809c9 new file mode 100644 index 00000000..c6f89d64 Binary files /dev/null and b/fuzz/corpora/cmp/fff4e450f19ced07686229574ab88a9e68d809c9 differ diff --git a/fuzz/corpora/cmp/fffd6721e030997cba7155cbf1e3674d4ae71988 b/fuzz/corpora/cmp/fffd6721e030997cba7155cbf1e3674d4ae71988 new file mode 100644 index 00000000..d51c4e65 Binary files /dev/null and b/fuzz/corpora/cmp/fffd6721e030997cba7155cbf1e3674d4ae71988 differ diff --git a/fuzz/corpora/cmp/pkcs10.der b/fuzz/corpora/cmp/pkcs10.der new file mode 100644 index 00000000..510a4fc5 Binary files /dev/null and b/fuzz/corpora/cmp/pkcs10.der differ diff --git a/fuzz/mkfuzzoids.pl b/fuzz/mkfuzzoids.pl index 050b5b70..8fff764b 100755 --- a/fuzz/mkfuzzoids.pl +++ b/fuzz/mkfuzzoids.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1995-2020 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 diff --git a/fuzz/oids.txt b/fuzz/oids.txt index cfc33926..ddd50880 100644 --- a/fuzz/oids.txt +++ b/fuzz/oids.txt @@ -1048,16 +1048,16 @@ OBJ_ieee="\x2B\x6F" OBJ_ieee_siswg="\x2B\x6F\x02\x8C\x53" OBJ_sm2="\x2A\x81\x1C\xCF\x55\x01\x82\x2D" OBJ_id_tc26_cipher_gostr3412_2015_magma="\x2A\x85\x03\x07\x01\x01\x05\x01" -OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm="\x2A\x85\x03\x07\x01\x01\x05\x01\x01" -OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac="\x2A\x85\x03\x07\x01\x01\x05\x01\x02" +OBJ_magma_ctr_acpkm="\x2A\x85\x03\x07\x01\x01\x05\x01\x01" +OBJ_magma_ctr_acpkm_omac="\x2A\x85\x03\x07\x01\x01\x05\x01\x02" OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik="\x2A\x85\x03\x07\x01\x01\x05\x02" -OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm="\x2A\x85\x03\x07\x01\x01\x05\x02\x01" -OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac="\x2A\x85\x03\x07\x01\x01\x05\x02\x02" +OBJ_kuznyechik_ctr_acpkm="\x2A\x85\x03\x07\x01\x01\x05\x02\x01" +OBJ_kuznyechik_ctr_acpkm_omac="\x2A\x85\x03\x07\x01\x01\x05\x02\x02" OBJ_id_tc26_wrap="\x2A\x85\x03\x07\x01\x01\x07" OBJ_id_tc26_wrap_gostr3412_2015_magma="\x2A\x85\x03\x07\x01\x01\x07\x01" -OBJ_id_tc26_wrap_gostr3412_2015_magma_kexp15="\x2A\x85\x03\x07\x01\x01\x07\x01\x01" +OBJ_magma_kexp15="\x2A\x85\x03\x07\x01\x01\x07\x01\x01" OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik="\x2A\x85\x03\x07\x01\x01\x07\x02" -OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15="\x2A\x85\x03\x07\x01\x01\x07\x02\x01" +OBJ_kuznyechik_kexp15="\x2A\x85\x03\x07\x01\x01\x07\x02\x01" OBJ_id_tc26_gost_3410_2012_256_paramSetB="\x2A\x85\x03\x07\x01\x02\x01\x01\x02" OBJ_id_tc26_gost_3410_2012_256_paramSetC="\x2A\x85\x03\x07\x01\x02\x01\x01\x03" OBJ_id_tc26_gost_3410_2012_256_paramSetD="\x2A\x85\x03\x07\x01\x02\x01\x01\x04" diff --git a/fuzz/server.c b/fuzz/server.c index 335f1f16..fe4fa5c7 100644 --- a/fuzz/server.c +++ b/fuzz/server.c @@ -24,6 +24,8 @@ #include "rand.inc" +DEFINE_STACK_OF(SSL_COMP) + static const uint8_t kCertificateDER[] = { 0x30, 0x82, 0x02, 0xff, 0x30, 0x82, 0x01, 0xe7, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x11, 0x00, 0xb1, 0x84, 0xee, 0x34, 0x99, 0x98, 0x76, 0xfb, diff --git a/include/crypto/aes_platform.h b/include/crypto/aes_platform.h index b478520c..18f71d88 100644 --- a/include/crypto/aes_platform.h +++ b/include/crypto/aes_platform.h @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/include/crypto/asn1.h b/include/crypto/asn1.h index 84e6e7f5..aaf091f8 100644 --- a/include/crypto/asn1.h +++ b/include/crypto/asn1.h @@ -1,5 +1,5 @@ /* - * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 @@ -76,6 +76,11 @@ struct evp_pkey_asn1_method_st { EVP_KEYMGMT *to_keymgmt, OPENSSL_CTX *libctx, const char *propq); OSSL_CALLBACK *import_from; + + int (*priv_decode_with_libctx) (EVP_PKEY *pk, + const PKCS8_PRIV_KEY_INFO *p8inf, + OPENSSL_CTX *libctx, + const char *propq); } /* EVP_PKEY_ASN1_METHOD */ ; DEFINE_STACK_OF_CONST(EVP_PKEY_ASN1_METHOD) diff --git a/include/crypto/bn_dh.h b/include/crypto/bn_dh.h index 2864fb33..b900c366 100644 --- a/include/crypto/bn_dh.h +++ b/include/crypto/bn_dh.h @@ -9,19 +9,25 @@ #define declare_dh_bn(x) \ extern const BIGNUM _bignum_dh##x##_p; \ + extern const BIGNUM _bignum_dh##x##_q; \ extern const BIGNUM _bignum_dh##x##_g; \ - extern const BIGNUM _bignum_dh##x##_q; declare_dh_bn(1024_160) declare_dh_bn(2048_224) declare_dh_bn(2048_256) +extern const BIGNUM _bignum_const_2; + extern const BIGNUM _bignum_ffdhe2048_p; extern const BIGNUM _bignum_ffdhe3072_p; extern const BIGNUM _bignum_ffdhe4096_p; extern const BIGNUM _bignum_ffdhe6144_p; extern const BIGNUM _bignum_ffdhe8192_p; -extern const BIGNUM _bignum_const_2; +extern const BIGNUM _bignum_ffdhe2048_q; +extern const BIGNUM _bignum_ffdhe3072_q; +extern const BIGNUM _bignum_ffdhe4096_q; +extern const BIGNUM _bignum_ffdhe6144_q; +extern const BIGNUM _bignum_ffdhe8192_q; extern const BIGNUM _bignum_modp_1536_p; extern const BIGNUM _bignum_modp_2048_p; @@ -29,3 +35,9 @@ extern const BIGNUM _bignum_modp_3072_p; extern const BIGNUM _bignum_modp_4096_p; extern const BIGNUM _bignum_modp_6144_p; extern const BIGNUM _bignum_modp_8192_p; +extern const BIGNUM _bignum_modp_1536_q; +extern const BIGNUM _bignum_modp_2048_q; +extern const BIGNUM _bignum_modp_3072_q; +extern const BIGNUM _bignum_modp_4096_q; +extern const BIGNUM _bignum_modp_6144_q; +extern const BIGNUM _bignum_modp_8192_q; diff --git a/include/crypto/dh.h b/include/crypto/dh.h index 5d5470f1..1ae2c2f0 100644 --- a/include/crypto/dh.h +++ b/include/crypto/dh.h @@ -11,15 +11,20 @@ #include #include "internal/ffc.h" -DH *dh_new_with_ctx(OPENSSL_CTX *libctx); +DH *dh_new_by_nid_with_libctx(OPENSSL_CTX *libctx, int nid); +DH *dh_new_with_libctx(OPENSSL_CTX *libctx); -int dh_generate_ffc_parameters(DH *dh, int bits, - int qbits, int gindex, BN_GENCB *cb); +int dh_generate_ffc_parameters(DH *dh, int type, int pbits, + int qbits, EVP_MD *md, BN_GENCB *cb); int dh_generate_public_key(BN_CTX *ctx, DH *dh, const BIGNUM *priv_key, BIGNUM *pub_key); +int dh_get_named_group_uid_from_size(int pbits); +const char *dh_gen_type_id2name(int id); +void dh_cache_named_group(DH *dh); FFC_PARAMS *dh_get0_params(DH *dh); int dh_get0_nid(const DH *dh); +int dh_ffc_params_fromdata(DH *dh, const OSSL_PARAM params[]); int dh_key_fromdata(DH *dh, const OSSL_PARAM params[]); int dh_check_pub_key_partial(const DH *dh, const BIGNUM *pub_key, int *ret); diff --git a/include/crypto/dsa.h b/include/crypto/dsa.h index 0afec99a..1a278fec 100644 --- a/include/crypto/dsa.h +++ b/include/crypto/dsa.h @@ -11,20 +11,20 @@ #include #include "internal/ffc.h" +#define DSA_PARAMGEN_TYPE_FIPS_186_4 0 /* Use FIPS186-4 standard */ #define DSA_PARAMGEN_TYPE_FIPS_186_2 1 /* Use legacy FIPS186-2 standard */ -#define DSA_PARAMGEN_TYPE_FIPS_186_4 2 /* Use FIPS186-4 standard */ DSA *dsa_new_with_ctx(OPENSSL_CTX *libctx); int dsa_generate_ffc_parameters(DSA *dsa, int type, - int pbits, int qbits, int gindex, - BN_GENCB *cb); + int pbits, int qbits, EVP_MD *md, BN_GENCB *cb); int dsa_sign_int(int type, const unsigned char *dgst, int dlen, unsigned char *sig, unsigned int *siglen, DSA *dsa); const unsigned char *dsa_algorithmidentifier_encoding(int md_nid, size_t *len); FFC_PARAMS *dsa_get0_params(DSA *dsa); +int dsa_ffc_params_fromdata(DSA *dsa, const OSSL_PARAM params[]); int dsa_key_fromdata(DSA *dsa, const OSSL_PARAM params[]); int dsa_generate_public_key(BN_CTX *ctx, const DSA *dsa, const BIGNUM *priv_key, diff --git a/include/crypto/ec.h b/include/crypto/ec.h index 91fd9eba..b4dd2f18 100644 --- a/include/crypto/ec.h +++ b/include/crypto/ec.h @@ -1,5 +1,5 @@ /* - * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2018-2020 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 diff --git a/include/crypto/ecx.h b/include/crypto/ecx.h index 0c6655ca..5ee6b8ce 100644 --- a/include/crypto/ecx.h +++ b/include/crypto/ecx.h @@ -72,6 +72,7 @@ struct ecx_key_st { typedef struct ecx_key_st ECX_KEY; +size_t ecx_key_length(ECX_KEY_TYPE type); ECX_KEY *ecx_key_new(ECX_KEY_TYPE type, int haspubkey); unsigned char *ecx_key_allocate_privkey(ECX_KEY *key); void ecx_key_free(ECX_KEY *key); @@ -82,6 +83,8 @@ int X25519(uint8_t out_shared_key[32], const uint8_t private_key[32], void X25519_public_from_private(uint8_t out_public_value[32], const uint8_t private_key[32]); +int ED25519_public_from_private(OPENSSL_CTX *ctx, uint8_t out_public_key[32], + const uint8_t private_key[32]); int ED25519_sign(uint8_t *out_sig, const uint8_t *message, size_t message_len, const uint8_t public_key[32], const uint8_t private_key[32], OPENSSL_CTX *libctx, const char *propq); @@ -89,6 +92,8 @@ int ED25519_verify(const uint8_t *message, size_t message_len, const uint8_t signature[64], const uint8_t public_key[32], OPENSSL_CTX *libctx, const char *propq); +int ED448_public_from_private(OPENSSL_CTX *ctx, uint8_t out_public_key[57], + const uint8_t private_key[57]); int ED448_sign(OPENSSL_CTX *ctx, uint8_t *out_sig, const uint8_t *message, size_t message_len, const uint8_t public_key[57], const uint8_t private_key[57], const uint8_t *context, @@ -103,13 +108,6 @@ int X448(uint8_t out_shared_key[56], const uint8_t private_key[56], void X448_public_from_private(uint8_t out_public_value[56], const uint8_t private_key[56]); -int s390x_x25519_mul(unsigned char u_dst[32], - const unsigned char u_src[32], - const unsigned char d_src[32]); -int s390x_x448_mul(unsigned char u_dst[56], - const unsigned char u_src[56], - const unsigned char d_src[56]); - /* Backend support */ int ecx_key_fromdata(ECX_KEY *ecx, const OSSL_PARAM params[], int include_private); diff --git a/include/crypto/evp.h b/include/crypto/evp.h index 38adbd0c..4528af95 100644 --- a/include/crypto/evp.h +++ b/include/crypto/evp.h @@ -1,5 +1,5 @@ /* - * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 @@ -655,7 +655,9 @@ int evp_keymgmt_util_match(EVP_PKEY *pk1, EVP_PKEY *pk2, int selection); int evp_keymgmt_util_copy(EVP_PKEY *to, EVP_PKEY *from, int selection); void *evp_keymgmt_util_gen(EVP_PKEY *target, EVP_KEYMGMT *keymgmt, void *genctx, OSSL_CALLBACK *cb, void *cbarg); - +int evp_keymgmt_util_get_deflt_digest_name(EVP_KEYMGMT *keymgmt, + void *keydata, + char *mdname, size_t mdname_sz); /* * KEYMGMT provider interface functions @@ -736,4 +738,7 @@ const EVP_MD *evp_get_digestbyname_ex(OPENSSL_CTX *libctx, const char *name); */ int evp_pkey_ctx_set_params_strict(EVP_PKEY_CTX *ctx, OSSL_PARAM *params); int evp_pkey_ctx_get_params_strict(EVP_PKEY_CTX *ctx, OSSL_PARAM *params); + +EVP_PKEY *evp_pkcs82pkey_int(const PKCS8_PRIV_KEY_INFO *p8, OPENSSL_CTX *libctx, + const char *propq); #endif /* !defined(FIPS_MODE) */ diff --git a/include/crypto/modes.h b/include/crypto/modes.h index edcdab95..f5397fca 100644 --- a/include/crypto/modes.h +++ b/include/crypto/modes.h @@ -1,5 +1,5 @@ /* - * Copyright 2010-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2010-2020 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 diff --git a/include/crypto/rand.h b/include/crypto/rand.h index 16fa7375..1e559ad6 100644 --- a/include/crypto/rand.h +++ b/include/crypto/rand.h @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/include/crypto/rsa.h b/include/crypto/rsa.h index 3a85510b..7ce1fdb3 100644 --- a/include/crypto/rsa.h +++ b/include/crypto/rsa.h @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/include/crypto/store.h b/include/crypto/store.h index 8f4757d9..c47581a5 100644 --- a/include/crypto/store.h +++ b/include/crypto/store.h @@ -1,5 +1,5 @@ /* - * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 @@ -20,7 +20,8 @@ * as usual with OSSLSTORE_load() and OSSLSTORE_eof(). */ OSSL_STORE_CTX *ossl_store_attach_pem_bio(BIO *bp, const UI_METHOD *ui_method, - void *ui_data); + void *ui_data, OPENSSL_CTX *libctx, + const char *propq); int ossl_store_detach_pem_bio(OSSL_STORE_CTX *ctx); void ossl_store_cleanup_int(void); diff --git a/include/crypto/x509.h b/include/crypto/x509.h index 560f3abb..611713f2 100644 --- a/include/crypto/x509.h +++ b/include/crypto/x509.h @@ -1,5 +1,5 @@ /* - * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 @@ -297,3 +297,7 @@ int x509_set1_time(ASN1_TIME **ptm, const ASN1_TIME *tm); int x509_print_ex_brief(BIO *bio, X509 *cert, unsigned long neg_cflags); void x509_init_sig_info(X509 *x); + + +int x509_check_issued_int(X509 *issuer, X509 *subject, OPENSSL_CTX *libctx, + const char *propq); diff --git a/include/internal/cryptlib.h b/include/internal/cryptlib.h index 9a60f413..615cd21a 100644 --- a/include/internal/cryptlib.h +++ b/include/internal/cryptlib.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/internal/deprecated.h b/include/internal/deprecated.h index a4bde883..16b07512 100644 --- a/include/internal/deprecated.h +++ b/include/internal/deprecated.h @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/include/internal/ffc.h b/include/internal/ffc.h index fd100763..8a948066 100644 --- a/include/internal/ffc.h +++ b/include/internal/ffc.h @@ -14,6 +14,8 @@ # include # include # include /* Uses Error codes from DH */ +# include +# include /* Default value for gindex when canonical generation of g is not used */ # define FFC_UNVERIFIABLE_GINDEX -1 @@ -100,6 +102,12 @@ void ffc_params_set0_pqg(FFC_PARAMS *params, BIGNUM *p, BIGNUM *q, BIGNUM *g); void ffc_params_get0_pqg(const FFC_PARAMS *params, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g); void ffc_params_set0_j(FFC_PARAMS *d, BIGNUM *j); +int ffc_params_set_seed(FFC_PARAMS *params, + const unsigned char *seed, size_t seedlen); +void ffc_params_set_gindex(FFC_PARAMS *params, int index); +void ffc_params_set_pcounter(FFC_PARAMS *params, int index); +void ffc_params_set_h(FFC_PARAMS *params, int index); + int ffc_params_set_validate_params(FFC_PARAMS *params, const unsigned char *seed, size_t seedlen, int counter); @@ -141,8 +149,6 @@ int ffc_params_FIPS186_2_validate(const FFC_PARAMS *params, int type, int ffc_generate_private_key(BN_CTX *ctx, const FFC_PARAMS *params, int N, int s, BIGNUM *priv); -int ffc_generate_private_key_fips(BN_CTX *ctx, const FFC_PARAMS *params, - int N, int s, BIGNUM *priv); int ffc_params_validate_unverifiable_g(BN_CTX *ctx, BN_MONT_CTX *mont, const BIGNUM *p, const BIGNUM *q, @@ -155,6 +161,12 @@ int ffc_validate_public_key_partial(const FFC_PARAMS *params, int ffc_validate_private_key(const BIGNUM *upper, const BIGNUM *priv_key, int *ret); -int ffc_fromdata(FFC_PARAMS *ffc, const OSSL_PARAM params[]); +int ffc_params_todata(const FFC_PARAMS *ffc, OSSL_PARAM_BLD *tmpl, + OSSL_PARAM params[]); +int ffc_params_fromdata(FFC_PARAMS *ffc, const OSSL_PARAM params[]); +int ffc_set_group_pqg(FFC_PARAMS *ffc, const char *group_name); +int ffc_named_group_to_uid(const char *name); +const char *ffc_named_group_from_uid(int nid); +int ffc_set_group_pqg(FFC_PARAMS *ffc, const char *group_name); #endif /* OSSL_INTERNAL_FFC_H */ diff --git a/include/internal/packet.h b/include/internal/packet.h index 1620ff83..95aeb1c4 100644 --- a/include/internal/packet.h +++ b/include/internal/packet.h @@ -1,5 +1,5 @@ /* - * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 diff --git a/include/internal/property.h b/include/internal/property.h index b84e1802..5e23daba 100644 --- a/include/internal/property.h +++ b/include/internal/property.h @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/include/internal/provider.h b/include/internal/provider.h index 8856d2fd..e39a5eae 100644 --- a/include/internal/provider.h +++ b/include/internal/provider.h @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/include/internal/sockets.h b/include/internal/sockets.h index 97ae2f6d..e7708516 100644 --- a/include/internal/sockets.h +++ b/include/internal/sockets.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/__DECC_INCLUDE_EPILOGUE.H b/include/openssl/__DECC_INCLUDE_EPILOGUE.H index b051919e..d251d0a0 100644 --- a/include/openssl/__DECC_INCLUDE_EPILOGUE.H +++ b/include/openssl/__DECC_INCLUDE_EPILOGUE.H @@ -1,5 +1,5 @@ /* - * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/include/openssl/__DECC_INCLUDE_PROLOGUE.H b/include/openssl/__DECC_INCLUDE_PROLOGUE.H index d8f6dc4b..91ac6b33 100644 --- a/include/openssl/__DECC_INCLUDE_PROLOGUE.H +++ b/include/openssl/__DECC_INCLUDE_PROLOGUE.H @@ -1,5 +1,5 @@ /* - * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/include/openssl/aes.h b/include/openssl/aes.h index f6e74db9..c4320cf2 100644 --- a/include/openssl/aes.h +++ b/include/openssl/aes.h @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 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 diff --git a/include/openssl/asn1.h b/include/openssl/asn1.h index 5863fef1..a5b14152 100644 --- a/include/openssl/asn1.h +++ b/include/openssl/asn1.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -119,8 +119,14 @@ extern "C" { # define SMIME_OLDMIME 0x400 # define SMIME_CRLFEOL 0x800 # define SMIME_STREAM 0x1000 - struct X509_algor_st; -DEFINE_STACK_OF(X509_ALGOR) + +DEFINE_OR_DECLARE_STACK_OF(ASN1_GENERALSTRING) +DEFINE_OR_DECLARE_STACK_OF(ASN1_INTEGER) +DEFINE_OR_DECLARE_STACK_OF(ASN1_OBJECT) +DEFINE_OR_DECLARE_STACK_OF(ASN1_STRING_TABLE) +DEFINE_OR_DECLARE_STACK_OF(ASN1_UTF8STRING) +DEFINE_OR_DECLARE_STACK_OF(X509_ALGOR) +DEFINE_OR_DECLARE_STACK_OF(ASN1_TYPE) # define ASN1_STRING_FLAG_BITS_LEFT 0x08/* Set if 0x07 has bits left value */ /* @@ -187,15 +193,14 @@ typedef struct ASN1_ENCODING_st { (B_ASN1_PRINTABLESTRING|B_ASN1_T61STRING|B_ASN1_BMPSTRING|B_ASN1_UTF8STRING) # define PKCS9STRING_TYPE (DIRSTRING_TYPE|B_ASN1_IA5STRING) -typedef struct asn1_string_table_st { +struct asn1_string_table_st { int nid; long minsize; long maxsize; unsigned long mask; unsigned long flags; -} ASN1_STRING_TABLE; +}; -DEFINE_STACK_OF(ASN1_STRING_TABLE) /* size limits: this stuff is taken straight from RFC2459 */ @@ -419,13 +424,8 @@ typedef const ASN1_ITEM *ASN1_ITEM_EXP (void); ASN1_STRFLGS_DUMP_UNKNOWN | \ ASN1_STRFLGS_DUMP_DER) -DEFINE_STACK_OF(ASN1_INTEGER) -DEFINE_STACK_OF(ASN1_GENERALSTRING) - -DEFINE_STACK_OF(ASN1_UTF8STRING) - -typedef struct asn1_type_st { +struct asn1_type_st { int type; union { char *ptr; @@ -454,9 +454,8 @@ typedef struct asn1_type_st { ASN1_STRING *sequence; ASN1_VALUE *asn1_value; } value; -} ASN1_TYPE; +}; -DEFINE_STACK_OF(ASN1_TYPE) typedef STACK_OF(ASN1_TYPE) ASN1_SEQUENCE_ANY; @@ -511,7 +510,6 @@ ASN1_TYPE *ASN1_TYPE_pack_sequence(const ASN1_ITEM *it, void *s, ASN1_TYPE **t); void *ASN1_TYPE_unpack_sequence(const ASN1_ITEM *it, const ASN1_TYPE *t); DECLARE_ASN1_FUNCTIONS(ASN1_OBJECT) -DEFINE_STACK_OF(ASN1_OBJECT) ASN1_STRING *ASN1_STRING_new(void); void ASN1_STRING_free(ASN1_STRING *a); diff --git a/include/openssl/asn1err.h b/include/openssl/asn1err.h index a9bfc016..3247e0f4 100644 --- a/include/openssl/asn1err.h +++ b/include/openssl/asn1err.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/asn1t.h b/include/openssl/asn1t.h index 934b10c2..286db9e2 100644 --- a/include/openssl/asn1t.h +++ b/include/openssl/asn1t.h @@ -1,5 +1,5 @@ /* - * Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2020 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 @@ -880,7 +880,7 @@ DECLARE_ASN1_ITEM(LONG) DECLARE_ASN1_ITEM(ZLONG) # endif -DEFINE_STACK_OF(ASN1_VALUE) +DEFINE_OR_DECLARE_STACK_OF(ASN1_VALUE) /* Functions used internally by the ASN1 code */ diff --git a/include/openssl/asyncerr.h b/include/openssl/asyncerr.h index 66cfc32d..4dcd5495 100644 --- a/include/openssl/asyncerr.h +++ b/include/openssl/asyncerr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/bio.h b/include/openssl/bio.h index baf61f25..b4047d55 100644 --- a/include/openssl/bio.h +++ b/include/openssl/bio.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -286,7 +286,7 @@ int BIO_method_type(const BIO *b); typedef int BIO_info_cb(BIO *, int, int); typedef BIO_info_cb bio_info_cb; /* backward compatibility */ -DEFINE_STACK_OF(BIO) +DEFINE_OR_DECLARE_STACK_OF(BIO) /* Prefix and suffix callback in ASN1 BIO */ typedef int asn1_ps_func (BIO *b, unsigned char **pbuf, int *plen, diff --git a/include/openssl/bioerr.h b/include/openssl/bioerr.h index fe7d36eb..7c51cceb 100644 --- a/include/openssl/bioerr.h +++ b/include/openssl/bioerr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/blowfish.h b/include/openssl/blowfish.h index c83a2084..0c00993c 100644 --- a/include/openssl/blowfish.h +++ b/include/openssl/blowfish.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/bn.h b/include/openssl/bn.h index 69cd1276..94d87102 100644 --- a/include/openssl/bn.h +++ b/include/openssl/bn.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/include/openssl/bnerr.h b/include/openssl/bnerr.h index 8e03cf85..8304cef4 100644 --- a/include/openssl/bnerr.h +++ b/include/openssl/bnerr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/buffererr.h b/include/openssl/buffererr.h index e7674fd8..09364b53 100644 --- a/include/openssl/buffererr.h +++ b/include/openssl/buffererr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/camellia.h b/include/openssl/camellia.h index dc95dee7..897dd864 100644 --- a/include/openssl/camellia.h +++ b/include/openssl/camellia.h @@ -1,5 +1,5 @@ /* - * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2020 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 diff --git a/include/openssl/cast.h b/include/openssl/cast.h index f338d411..89c5e90b 100644 --- a/include/openssl/cast.h +++ b/include/openssl/cast.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/cmac.h b/include/openssl/cmac.h index 2f43eced..732b1775 100644 --- a/include/openssl/cmac.h +++ b/include/openssl/cmac.h @@ -1,5 +1,5 @@ /* - * Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2010-2020 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 diff --git a/include/openssl/cmp.h b/include/openssl/cmp.h index b5942965..76ba0e3b 100644 --- a/include/openssl/cmp.h +++ b/include/openssl/cmp.h @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * @@ -202,6 +202,12 @@ DECLARE_ASN1_ITEM(OSSL_CMP_PKISTATUS) # define OSSL_CMP_CERTORENCCERT_CERTIFICATE 0 # define OSSL_CMP_CERTORENCCERT_ENCRYPTEDCERT 1 +DEFINE_OR_DECLARE_STACK_OF(OSSL_CMP_CERTSTATUS) +DEFINE_OR_DECLARE_STACK_OF(OSSL_CMP_ITAV) +DEFINE_OR_DECLARE_STACK_OF(OSSL_CMP_PKISI) +DEFINE_OR_DECLARE_STACK_OF(OSSL_CMP_CERTREPMESSAGE) +DEFINE_OR_DECLARE_STACK_OF(OSSL_CMP_CERTRESPONSE) + /* data type declarations */ typedef struct ossl_cmp_ctx_st OSSL_CMP_CTX; typedef struct ossl_cmp_pkiheader_st OSSL_CMP_PKIHEADER; @@ -210,21 +216,16 @@ typedef struct ossl_cmp_msg_st OSSL_CMP_MSG; DECLARE_ASN1_DUP_FUNCTION(OSSL_CMP_MSG) DECLARE_ASN1_ENCODE_FUNCTIONS(OSSL_CMP_MSG, OSSL_CMP_MSG, OSSL_CMP_MSG) typedef struct ossl_cmp_certstatus_st OSSL_CMP_CERTSTATUS; -DEFINE_STACK_OF(OSSL_CMP_CERTSTATUS) typedef struct ossl_cmp_itav_st OSSL_CMP_ITAV; DECLARE_ASN1_DUP_FUNCTION(OSSL_CMP_ITAV) -DEFINE_STACK_OF(OSSL_CMP_ITAV) typedef struct ossl_cmp_revrepcontent_st OSSL_CMP_REVREPCONTENT; typedef struct ossl_cmp_pkisi_st OSSL_CMP_PKISI; DECLARE_ASN1_FUNCTIONS(OSSL_CMP_PKISI) DECLARE_ASN1_DUP_FUNCTION(OSSL_CMP_PKISI) -DEFINE_STACK_OF(OSSL_CMP_PKISI) typedef struct ossl_cmp_certrepmessage_st OSSL_CMP_CERTREPMESSAGE; -DEFINE_STACK_OF(OSSL_CMP_CERTREPMESSAGE) typedef struct ossl_cmp_pollrep_st OSSL_CMP_POLLREP; typedef STACK_OF(OSSL_CMP_POLLREP) OSSL_CMP_POLLREPCONTENT; typedef struct ossl_cmp_certresponse_st OSSL_CMP_CERTRESPONSE; -DEFINE_STACK_OF(OSSL_CMP_CERTRESPONSE) typedef STACK_OF(ASN1_UTF8STRING) OSSL_CMP_PKIFREETEXT; /* diff --git a/include/openssl/cmp_util.h b/include/openssl/cmp_util.h index 2bfe2ec2..a243d7e7 100644 --- a/include/openssl/cmp_util.h +++ b/include/openssl/cmp_util.h @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * diff --git a/include/openssl/cmperr.h b/include/openssl/cmperr.h index 312fa529..31fa43cd 100644 --- a/include/openssl/cmperr.h +++ b/include/openssl/cmperr.h @@ -76,6 +76,7 @@ int ERR_load_CMP_strings(void); # define CMP_R_MISSING_KEY_USAGE_DIGITALSIGNATURE 142 # define CMP_R_MISSING_PRIVATE_KEY 131 # define CMP_R_MISSING_PROTECTION 143 +# define CMP_R_MISSING_REFERENCE_CERT 168 # define CMP_R_MISSING_SENDER_IDENTIFICATION 111 # define CMP_R_MISSING_TRUST_STORE 144 # define CMP_R_MULTIPLE_REQUESTS_NOT_SUPPORTED 161 diff --git a/include/openssl/cms.h b/include/openssl/cms.h index 5f66e6df..a0f4b6a0 100644 --- a/include/openssl/cms.h +++ b/include/openssl/cms.h @@ -1,5 +1,5 @@ /* - * Copyright 2008-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2008-2020 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 @@ -36,10 +36,11 @@ typedef struct CMS_Receipt_st CMS_Receipt; typedef struct CMS_RecipientEncryptedKey_st CMS_RecipientEncryptedKey; typedef struct CMS_OtherKeyAttribute_st CMS_OtherKeyAttribute; -DEFINE_STACK_OF(CMS_SignerInfo) -DEFINE_STACK_OF(CMS_RecipientEncryptedKey) -DEFINE_STACK_OF(CMS_RecipientInfo) -DEFINE_STACK_OF(CMS_RevocationInfoChoice) +DEFINE_OR_DECLARE_STACK_OF(CMS_SignerInfo) +DEFINE_OR_DECLARE_STACK_OF(CMS_RecipientEncryptedKey) +DEFINE_OR_DECLARE_STACK_OF(CMS_RecipientInfo) +DEFINE_OR_DECLARE_STACK_OF(CMS_RevocationInfoChoice) + DECLARE_ASN1_FUNCTIONS(CMS_ContentInfo) DECLARE_ASN1_FUNCTIONS(CMS_ReceiptRequest) DECLARE_ASN1_PRINT_FUNCTION(CMS_ContentInfo) diff --git a/include/openssl/comperr.h b/include/openssl/comperr.h index 03176b4f..58845745 100644 --- a/include/openssl/comperr.h +++ b/include/openssl/comperr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/conf.h b/include/openssl/conf.h index 8fbb768f..6a36a85b 100644 --- a/include/openssl/conf.h +++ b/include/openssl/conf.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -33,7 +33,9 @@ typedef struct { char *value; } CONF_VALUE; -DEFINE_STACK_OF(CONF_VALUE) +DEFINE_OR_DECLARE_STACK_OF(CONF_VALUE) +DEFINE_OR_DECLARE_STACK_OF(CONF_MODULE) + DEFINE_LHASH_OF(CONF_VALUE); struct conf_st; @@ -58,8 +60,7 @@ struct conf_method_st { typedef struct conf_imodule_st CONF_IMODULE; typedef struct conf_module_st CONF_MODULE; -DEFINE_STACK_OF(CONF_MODULE) -DEFINE_STACK_OF(CONF_IMODULE) +STACK_OF(CONF_IMODULE); /* DSO module function typedefs */ typedef int conf_init_func (CONF_IMODULE *md, const CONF *cnf); diff --git a/include/openssl/conferr.h b/include/openssl/conferr.h index f66f2e8a..1afa12bd 100644 --- a/include/openssl/conferr.h +++ b/include/openssl/conferr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/core.h b/include/openssl/core.h index e5a4b926..2d653dd6 100644 --- a/include/openssl/core.h +++ b/include/openssl/core.h @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/include/openssl/core_names.h b/include/openssl/core_names.h index c8a88285..4bc151c1 100644 --- a/include/openssl/core_names.h +++ b/include/openssl/core_names.h @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 @@ -191,6 +191,23 @@ extern "C" { #define OSSL_PKEY_PARAM_FFC_P "p" #define OSSL_PKEY_PARAM_FFC_G "g" #define OSSL_PKEY_PARAM_FFC_Q "q" +#define OSSL_PKEY_PARAM_FFC_GINDEX "gindex" +#define OSSL_PKEY_PARAM_FFC_PCOUNTER "pcounter" +#define OSSL_PKEY_PARAM_FFC_SEED "seed" +#define OSSL_PKEY_PARAM_FFC_COFACTOR "j" +#define OSSL_PKEY_PARAM_FFC_H "hindex" +#define OSSL_PKEY_PARAM_FFC_GROUP "group" + +#define OSSL_PKEY_PARAM_FFC_GINDEX "gindex" +#define OSSL_PKEY_PARAM_FFC_PCOUNTER "pcounter" +#define OSSL_PKEY_PARAM_FFC_SEED "seed" +#define OSSL_PKEY_PARAM_FFC_COFACTOR "j" +#define OSSL_PKEY_PARAM_FFC_H "hindex" + +/* Diffie-Hellman params */ +#define OSSL_PKEY_PARAM_FFC_GROUP "group" +#define OSSL_PKEY_PARAM_FFC_GENERATOR "safeprime-generator" +#define OSSL_PKEY_PARAM_DH_PRIV_LEN "priv_len" /* Elliptic Curve Domain Parameters */ #define OSSL_PKEY_PARAM_EC_NAME "curve-name" @@ -255,6 +272,13 @@ extern "C" { #define OSSL_PKEY_PARAM_RSA_BITS OSSL_PKEY_PARAM_BITS #define OSSL_PKEY_PARAM_RSA_PRIMES "primes" +/* Key generation parameters */ +#define OSSL_PKEY_PARAM_FFC_TYPE "type" +#define OSSL_PKEY_PARAM_FFC_PBITS "pbits" +#define OSSL_PKEY_PARAM_FFC_QBITS "qbits" +#define OSSL_PKEY_PARAM_FFC_DIGEST OSSL_PKEY_PARAM_DIGEST +#define OSSL_PKEY_PARAM_FFC_DIGEST_PROPS OSSL_PKEY_PARAM_PROPERTIES + /* Key Exchange parameters */ #define OSSL_EXCHANGE_PARAM_PAD "pad" /* uint */ diff --git a/include/openssl/core_numbers.h b/include/openssl/core_numbers.h index e3b89fd2..aaf281b1 100644 --- a/include/openssl/core_numbers.h +++ b/include/openssl/core_numbers.h @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/include/openssl/crmf.h b/include/openssl/crmf.h index ac310c8f..4908ebd5 100644 --- a/include/openssl/crmf.h +++ b/include/openssl/crmf.h @@ -1,5 +1,5 @@ /*- - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * @@ -30,6 +30,9 @@ extern "C" { # endif +DEFINE_OR_DECLARE_STACK_OF(OSSL_CRMF_MSG) +DEFINE_OR_DECLARE_STACK_OF(OSSL_CRMF_CERTID) + # define OSSL_CRMF_POPOPRIVKEY_THISMESSAGE 0 # define OSSL_CRMF_POPOPRIVKEY_SUBSEQUENTMESSAGE 1 # define OSSL_CRMF_POPOPRIVKEY_DHMAC 2 @@ -43,7 +46,6 @@ typedef struct ossl_crmf_encryptedvalue_st OSSL_CRMF_ENCRYPTEDVALUE; DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_ENCRYPTEDVALUE) typedef struct ossl_crmf_msg_st OSSL_CRMF_MSG; DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_MSG) -DEFINE_STACK_OF(OSSL_CRMF_MSG) typedef struct ossl_crmf_attributetypeandvalue_st OSSL_CRMF_ATTRIBUTETYPEANDVALUE; typedef struct ossl_crmf_pbmparameter_st OSSL_CRMF_PBMPARAMETER; DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_PBMPARAMETER) @@ -51,7 +53,6 @@ typedef struct ossl_crmf_poposigningkey_st OSSL_CRMF_POPOSIGNINGKEY; typedef struct ossl_crmf_certrequest_st OSSL_CRMF_CERTREQUEST; typedef struct ossl_crmf_certid_st OSSL_CRMF_CERTID; DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_CERTID) -DEFINE_STACK_OF(OSSL_CRMF_CERTID) typedef struct ossl_crmf_pkipublicationinfo_st OSSL_CRMF_PKIPUBLICATIONINFO; DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_PKIPUBLICATIONINFO) diff --git a/include/openssl/crypto.h b/include/openssl/crypto.h index c184d847..0b3a20df 100644 --- a/include/openssl/crypto.h +++ b/include/openssl/crypto.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -169,7 +169,8 @@ struct crypto_ex_data_st { OPENSSL_CTX *ctx; STACK_OF(void) *sk; }; -DEFINE_STACK_OF(void) + +DEFINE_OR_DECLARE_STACK_OF(void) /* * Per class, we have a STACK of function pointers. diff --git a/include/openssl/cryptoerr.h b/include/openssl/cryptoerr.h index 631a930d..5ccddd02 100644 --- a/include/openssl/cryptoerr.h +++ b/include/openssl/cryptoerr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/ct.h b/include/openssl/ct.h index 489f1ad4..280f7cee 100644 --- a/include/openssl/ct.h +++ b/include/openssl/ct.h @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 @@ -34,6 +34,9 @@ extern "C" { /* All hashes are SHA256 in v1 of Certificate Transparency */ # define CT_V1_HASHLEN SHA256_DIGEST_LENGTH +DEFINE_OR_DECLARE_STACK_OF(SCT) +DEFINE_OR_DECLARE_STACK_OF(CTLOG) + typedef enum { CT_LOG_ENTRY_TYPE_NOT_SET = -1, CT_LOG_ENTRY_TYPE_X509 = 0, @@ -61,9 +64,6 @@ typedef enum { SCT_VALIDATION_STATUS_UNKNOWN_VERSION } sct_validation_status_t; -DEFINE_STACK_OF(SCT) -DEFINE_STACK_OF(CTLOG) - /****************************************** * CT policy evaluation context functions * ******************************************/ diff --git a/include/openssl/cterr.h b/include/openssl/cterr.h index 0d50c0bf..ae02edf1 100644 --- a/include/openssl/cterr.h +++ b/include/openssl/cterr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/des.h b/include/openssl/des.h index bd5d5b44..c8f503d5 100644 --- a/include/openssl/des.h +++ b/include/openssl/des.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/dh.h b/include/openssl/dh.h index 8af0670e..437d3032 100644 --- a/include/openssl/dh.h +++ b/include/openssl/dh.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -104,11 +104,10 @@ DECLARE_ASN1_ITEM(DHparams) # define DH_CHECK_P_NOT_STRONG_PRIME DH_CHECK_P_NOT_SAFE_PRIME /* DH parameter generation types used by EVP_PKEY_CTX_set_dh_paramgen_type() */ -# define DH_PARAMGEN_TYPE_GENERATOR 0 /* Use a generator g */ -# define DH_PARAMGEN_TYPE_FIPS_186_2 1 /* Use legacy FIPS186-2 standard */ +# define DH_PARAMGEN_TYPE_GENERATOR 0 /* Use a safe prime generator */ +# define DH_PARAMGEN_TYPE_FIPS_186_2 1 /* Use FIPS186-2 standard */ # define DH_PARAMGEN_TYPE_FIPS_186_4 2 /* Use FIPS186-4 standard */ - -# define DH_CHECK_P_NOT_STRONG_PRIME DH_CHECK_P_NOT_SAFE_PRIME +# define DH_PARAMGEN_TYPE_GROUP 3 /* Use a named safe prime group */ # define d2i_DHparams_fp(fp, x) \ (DH *)ASN1_d2i_fp((char *(*)())DH_new, \ @@ -197,7 +196,7 @@ DH *DH_get_2048_256(void); /* Named parameters, currently RFC7919 and RFC3526 */ /* TODO(3.0): deprecate DH_new_by_nid() after converting ssl/s3_lib.c */ DH *DH_new_by_nid(int nid); -DEPRECATEDIN_3_0(int DH_get_nid(DH *dh)) +DEPRECATEDIN_3_0(int DH_get_nid(const DH *dh)) # ifndef OPENSSL_NO_CMS /* RFC2631 KDF */ @@ -223,8 +222,8 @@ void DH_clear_flags(DH *dh, int flags); int DH_test_flags(const DH *dh, int flags); void DH_set_flags(DH *dh, int flags); DEPRECATEDIN_3_0(ENGINE *DH_get0_engine(DH *d)) -DEPRECATEDIN_3_0(long DH_get_length(const DH *dh)) -DEPRECATEDIN_3_0(int DH_set_length(DH *dh, long length)) +long DH_get_length(const DH *dh); +int DH_set_length(DH *dh, long length); DEPRECATEDIN_3_0(DH_METHOD *DH_meth_new(const char *name, int flags)) DEPRECATEDIN_3_0(void DH_meth_free(DH_METHOD *dhm)) @@ -270,35 +269,17 @@ DEPRECATEDIN_3_0(int DH_meth_set_generate_params(DH_METHOD *dhm, (DH *, int, int, BN_GENCB *))) -# define EVP_PKEY_CTX_set_dh_paramgen_prime_len(ctx, len) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN, len, NULL) - -# define EVP_PKEY_CTX_set_dh_paramgen_subprime_len(ctx, len) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN, len, NULL) - -# define EVP_PKEY_CTX_set_dh_paramgen_type(ctx, typ) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_PARAMGEN_TYPE, typ, NULL) - -# define EVP_PKEY_CTX_set_dh_paramgen_generator(ctx, gen) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR, gen, NULL) - -# define EVP_PKEY_CTX_set_dh_rfc5114(ctx, gen) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_RFC5114, gen, NULL) - -# define EVP_PKEY_CTX_set_dhx_rfc5114(ctx, gen) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_RFC5114, gen, NULL) - -# define EVP_PKEY_CTX_set_dh_nid(ctx, nid) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, \ - EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN, \ - EVP_PKEY_CTRL_DH_NID, nid, NULL) - +int EVP_PKEY_CTX_set_dh_paramgen_type(EVP_PKEY_CTX *ctx, int typ); +int EVP_PKEY_CTX_set_dh_paramgen_gindex(EVP_PKEY_CTX *ctx, int gindex); +int EVP_PKEY_CTX_set_dh_paramgen_seed(EVP_PKEY_CTX *ctx, + const unsigned char *seed, + size_t seedlen); +int EVP_PKEY_CTX_set_dh_paramgen_prime_len(EVP_PKEY_CTX *ctx, int pbits); +int EVP_PKEY_CTX_set_dh_paramgen_subprime_len(EVP_PKEY_CTX *ctx, int qlen); +int EVP_PKEY_CTX_set_dh_paramgen_generator(EVP_PKEY_CTX *ctx, int gen); +int EVP_PKEY_CTX_set_dh_nid(EVP_PKEY_CTX *ctx, int nid); +int EVP_PKEY_CTX_set_dh_rfc5114(EVP_PKEY_CTX *ctx, int gen); +int EVP_PKEY_CTX_set_dhx_rfc5114(EVP_PKEY_CTX *ctx, int gen); int EVP_PKEY_CTX_set_dh_pad(EVP_PKEY_CTX *ctx, int pad); # define EVP_PKEY_CTX_set_dh_kdf_type(ctx, kdf) \ diff --git a/include/openssl/dherr.h b/include/openssl/dherr.h index 4410ff33..0ebe5605 100644 --- a/include/openssl/dherr.h +++ b/include/openssl/dherr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/dsa.h b/include/openssl/dsa.h index c704d5d5..92be4760 100644 --- a/include/openssl/dsa.h +++ b/include/openssl/dsa.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -182,15 +182,17 @@ DEPRECATEDIN_3_0(int DSA_print_fp(FILE *bp, const DSA *x, int off)) DEPRECATEDIN_3_0(DH *DSA_dup_DH(const DSA *r)) # endif -# define EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx, nbits) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DSA_PARAMGEN_BITS, nbits, NULL) -# define EVP_PKEY_CTX_set_dsa_paramgen_q_bits(ctx, qbits) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS, qbits, NULL) -# define EVP_PKEY_CTX_set_dsa_paramgen_md(ctx, md) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DSA_PARAMGEN_MD, 0, (void *)(md)) +int EVP_PKEY_CTX_set_dsa_paramgen_bits(EVP_PKEY_CTX *ctx, int nbits); +int EVP_PKEY_CTX_set_dsa_paramgen_q_bits(EVP_PKEY_CTX *ctx, int qbits); +int EVP_PKEY_CTX_set_dsa_paramgen_md_props(EVP_PKEY_CTX *ctx, + const char *md_name, + const char *md_properties); +int EVP_PKEY_CTX_set_dsa_paramgen_gindex(EVP_PKEY_CTX *ctx, int gindex); +int EVP_PKEY_CTX_set_dsa_paramgen_type(EVP_PKEY_CTX *ctx, const char *name); +int EVP_PKEY_CTX_set_dsa_paramgen_seed(EVP_PKEY_CTX *ctx, + const unsigned char *seed, + size_t seedlen); +int EVP_PKEY_CTX_set_dsa_paramgen_md(EVP_PKEY_CTX *ctx, const EVP_MD *md); # define EVP_PKEY_CTRL_DSA_PARAMGEN_BITS (EVP_PKEY_ALG_CTRL + 1) # define EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS (EVP_PKEY_ALG_CTRL + 2) diff --git a/include/openssl/dsaerr.h b/include/openssl/dsaerr.h index 0d70b96a..e2cf3098 100644 --- a/include/openssl/dsaerr.h +++ b/include/openssl/dsaerr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/ec.h b/include/openssl/ec.h index de3698a0..09c3e291 100644 --- a/include/openssl/ec.h +++ b/include/openssl/ec.h @@ -1,5 +1,5 @@ /* - * Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -511,10 +511,10 @@ int EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point); * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred */ -int EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *group, +DEPRECATEDIN_3_0(int EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, const BIGNUM *y, const BIGNUM *z, - BN_CTX *ctx); + BN_CTX *ctx)) /** Gets the jacobian projective coordinates of a EC_POINT over GFp * \param group underlying EC_GROUP object @@ -525,10 +525,10 @@ int EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *group, * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred */ -int EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group, +DEPRECATEDIN_3_0(int EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group, const EC_POINT *p, BIGNUM *x, BIGNUM *y, BIGNUM *z, - BN_CTX *ctx); + BN_CTX *ctx)) /** Sets the affine coordinates of an EC_POINT * \param group underlying EC_GROUP object diff --git a/include/openssl/ecerr.h b/include/openssl/ecerr.h index 41d592b0..cf845fbb 100644 --- a/include/openssl/ecerr.h +++ b/include/openssl/ecerr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -237,6 +237,7 @@ int ERR_load_EC_strings(void); # define EC_R_DECODE_ERROR 142 # define EC_R_DISCRIMINANT_IS_ZERO 118 # define EC_R_EC_GROUP_NEW_BY_NAME_FAILURE 119 +# define EC_R_FAILED_MAKING_PUBLIC_KEY 166 # define EC_R_FIELD_TOO_LARGE 143 # define EC_R_GF2M_NOT_SUPPORTED 147 # define EC_R_GROUP2PKPARAMETERS_FAILURE 120 diff --git a/include/openssl/engineerr.h b/include/openssl/engineerr.h index b103a0cf..d60f321c 100644 --- a/include/openssl/engineerr.h +++ b/include/openssl/engineerr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/err.h b/include/openssl/err.h index ef8e895c..aa8ffa97 100644 --- a/include/openssl/err.h +++ b/include/openssl/err.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/ess.h b/include/openssl/ess.h index c20bf820..5a31f678 100644 --- a/include/openssl/ess.h +++ b/include/openssl/ess.h @@ -19,16 +19,16 @@ extern "C" { # include # include +DEFINE_OR_DECLARE_STACK_OF(ESS_CERT_ID) +DEFINE_OR_DECLARE_STACK_OF(ESS_CERT_ID_V2) + typedef struct ESS_issuer_serial ESS_ISSUER_SERIAL; typedef struct ESS_cert_id ESS_CERT_ID; typedef struct ESS_signing_cert ESS_SIGNING_CERT; -DEFINE_STACK_OF(ESS_CERT_ID) - typedef struct ESS_signing_cert_v2_st ESS_SIGNING_CERT_V2; typedef struct ESS_cert_id_v2_st ESS_CERT_ID_V2; -DEFINE_STACK_OF(ESS_CERT_ID_V2) DECLARE_ASN1_ALLOC_FUNCTIONS(ESS_ISSUER_SERIAL) DECLARE_ASN1_ENCODE_FUNCTIONS_only(ESS_ISSUER_SERIAL, ESS_ISSUER_SERIAL) diff --git a/include/openssl/evp.h b/include/openssl/evp.h index ed785f17..f534b1e7 100644 --- a/include/openssl/evp.h +++ b/include/openssl/evp.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -1164,8 +1164,14 @@ EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, long length); int i2d_PublicKey(const EVP_PKEY *a, unsigned char **pp); + +EVP_PKEY *d2i_PrivateKey_ex(int type, EVP_PKEY **a, const unsigned char **pp, + long length, OPENSSL_CTX *libctx, const char *propq); EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, long length); +EVP_PKEY *d2i_AutoPrivateKey_ex(EVP_PKEY **a, const unsigned char **pp, + long length, OPENSSL_CTX *libctx, + const char *propq); EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, long length); int i2d_PrivateKey(const EVP_PKEY *a, unsigned char **pp); diff --git a/include/openssl/hmac.h b/include/openssl/hmac.h index d05cdde1..0f196f9d 100644 --- a/include/openssl/hmac.h +++ b/include/openssl/hmac.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/idea.h b/include/openssl/idea.h index a651ee2e..ce46743a 100644 --- a/include/openssl/idea.h +++ b/include/openssl/idea.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/kdferr.h b/include/openssl/kdferr.h index 3d6a7ffd..0daec1c2 100644 --- a/include/openssl/kdferr.h +++ b/include/openssl/kdferr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/lhash.h b/include/openssl/lhash.h index 2be4cf42..d3f064a8 100644 --- a/include/openssl/lhash.h +++ b/include/openssl/lhash.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/macros.h b/include/openssl/macros.h index 28e3a306..2ed8fcf0 100644 --- a/include/openssl/macros.h +++ b/include/openssl/macros.h @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/include/openssl/md2.h b/include/openssl/md2.h index 21e24c33..a088d5b6 100644 --- a/include/openssl/md2.h +++ b/include/openssl/md2.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/md4.h b/include/openssl/md4.h index 4166e41f..1686f0ae 100644 --- a/include/openssl/md4.h +++ b/include/openssl/md4.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/mdc2.h b/include/openssl/mdc2.h index 06ab411c..c8ebe0d9 100644 --- a/include/openssl/mdc2.h +++ b/include/openssl/mdc2.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/obj_mac.h b/include/openssl/obj_mac.h index 3a074d62..27ea08d8 100644 --- a/include/openssl/obj_mac.h +++ b/include/openssl/obj_mac.h @@ -4280,25 +4280,25 @@ #define NID_id_tc26_cipher_gostr3412_2015_magma 1173 #define OBJ_id_tc26_cipher_gostr3412_2015_magma OBJ_id_tc26_cipher,1L -#define SN_id_tc26_cipher_gostr3412_2015_magma_ctracpkm "id-tc26-cipher-gostr3412-2015-magma-ctracpkm" -#define NID_id_tc26_cipher_gostr3412_2015_magma_ctracpkm 1174 -#define OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm OBJ_id_tc26_cipher_gostr3412_2015_magma,1L +#define SN_magma_ctr_acpkm "magma-ctr-acpkm" +#define NID_magma_ctr_acpkm 1174 +#define OBJ_magma_ctr_acpkm OBJ_id_tc26_cipher_gostr3412_2015_magma,1L -#define SN_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac "id-tc26-cipher-gostr3412-2015-magma-ctracpkm-omac" -#define NID_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac 1175 -#define OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac OBJ_id_tc26_cipher_gostr3412_2015_magma,2L +#define SN_magma_ctr_acpkm_omac "magma-ctr-acpkm-omac" +#define NID_magma_ctr_acpkm_omac 1175 +#define OBJ_magma_ctr_acpkm_omac OBJ_id_tc26_cipher_gostr3412_2015_magma,2L #define SN_id_tc26_cipher_gostr3412_2015_kuznyechik "id-tc26-cipher-gostr3412-2015-kuznyechik" #define NID_id_tc26_cipher_gostr3412_2015_kuznyechik 1176 #define OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik OBJ_id_tc26_cipher,2L -#define SN_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm "id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm" -#define NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm 1177 -#define OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik,1L +#define SN_kuznyechik_ctr_acpkm "kuznyechik-ctr-acpkm" +#define NID_kuznyechik_ctr_acpkm 1177 +#define OBJ_kuznyechik_ctr_acpkm OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik,1L -#define SN_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac "id-tc26-cipher-gostr3412-2015-kuznyechik-ctracpkm-omac" -#define NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac 1178 -#define OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik,2L +#define SN_kuznyechik_ctr_acpkm_omac "kuznyechik-ctr-acpkm-omac" +#define NID_kuznyechik_ctr_acpkm_omac 1178 +#define OBJ_kuznyechik_ctr_acpkm_omac OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik,2L #define SN_id_tc26_agreement "id-tc26-agreement" #define NID_id_tc26_agreement 991 @@ -4320,17 +4320,17 @@ #define NID_id_tc26_wrap_gostr3412_2015_magma 1180 #define OBJ_id_tc26_wrap_gostr3412_2015_magma OBJ_id_tc26_wrap,1L -#define SN_id_tc26_wrap_gostr3412_2015_magma_kexp15 "id-tc26-wrap-gostr3412-2015-magma-kexp15" -#define NID_id_tc26_wrap_gostr3412_2015_magma_kexp15 1181 -#define OBJ_id_tc26_wrap_gostr3412_2015_magma_kexp15 OBJ_id_tc26_wrap_gostr3412_2015_magma,1L +#define SN_magma_kexp15 "magma-kexp15" +#define NID_magma_kexp15 1181 +#define OBJ_magma_kexp15 OBJ_id_tc26_wrap_gostr3412_2015_magma,1L #define SN_id_tc26_wrap_gostr3412_2015_kuznyechik "id-tc26-wrap-gostr3412-2015-kuznyechik" #define NID_id_tc26_wrap_gostr3412_2015_kuznyechik 1182 #define OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik OBJ_id_tc26_wrap,2L -#define SN_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 "id-tc26-wrap-gostr3412-2015-kuznyechik-kexp15" -#define NID_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 1183 -#define OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik,1L +#define SN_kuznyechik_kexp15 "kuznyechik-kexp15" +#define NID_kuznyechik_kexp15 1183 +#define OBJ_kuznyechik_kexp15 OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik,1L #define SN_id_tc26_constants "id-tc26-constants" #define NID_id_tc26_constants 994 @@ -4430,23 +4430,23 @@ #define NID_issuerSignTool 1008 #define OBJ_issuerSignTool OBJ_member_body,643L,100L,112L -#define SN_grasshopper_ecb "grasshopper-ecb" -#define NID_grasshopper_ecb 1012 +#define SN_kuznyechik_ecb "kuznyechik-ecb" +#define NID_kuznyechik_ecb 1012 -#define SN_grasshopper_ctr "grasshopper-ctr" -#define NID_grasshopper_ctr 1013 +#define SN_kuznyechik_ctr "kuznyechik-ctr" +#define NID_kuznyechik_ctr 1013 -#define SN_grasshopper_ofb "grasshopper-ofb" -#define NID_grasshopper_ofb 1014 +#define SN_kuznyechik_ofb "kuznyechik-ofb" +#define NID_kuznyechik_ofb 1014 -#define SN_grasshopper_cbc "grasshopper-cbc" -#define NID_grasshopper_cbc 1015 +#define SN_kuznyechik_cbc "kuznyechik-cbc" +#define NID_kuznyechik_cbc 1015 -#define SN_grasshopper_cfb "grasshopper-cfb" -#define NID_grasshopper_cfb 1016 +#define SN_kuznyechik_cfb "kuznyechik-cfb" +#define NID_kuznyechik_cfb 1016 -#define SN_grasshopper_mac "grasshopper-mac" -#define NID_grasshopper_mac 1017 +#define SN_kuznyechik_mac "kuznyechik-mac" +#define NID_kuznyechik_mac 1017 #define SN_magma_ecb "magma-ecb" #define NID_magma_ecb 1187 @@ -5296,3 +5296,49 @@ #define SN_aes_256_siv "AES-256-SIV" #define LN_aes_256_siv "aes-256-siv" #define NID_aes_256_siv 1200 + +#ifndef OPENSSL_NO_DEPRECATED_3_0 + +#define SN_id_tc26_cipher_gostr3412_2015_magma_ctracpkm SN_magma_ctr_acpkm +#define NID_id_tc26_cipher_gostr3412_2015_magma_ctracpkm NID_magma_ctr_acpkm +#define OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm OBJ_magma_ctr_acpkm + +#define SN_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac SN_magma_ctr_acpkm_omac +#define NID_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac NID_magma_ctr_acpkm_omac +#define OBJ_id_tc26_cipher_gostr3412_2015_magma_ctracpkm_omac OBJ_magma_ctr_acpkm_omac + +#define SN_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm SN_kuznyechik_ctr_acpkm +#define NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm NID_kuznyechik_ctr_acpkm +#define OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm OBJ_kuznyechik_ctr_acpkm + +#define SN_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac SN_kuznyechik_ctr_acpkm_omac +#define NID_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac NID_kuznyechik_ctr_acpkm_omac +#define OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik_ctracpkm_omac OBJ_kuznyechik_ctr_acpkm_omac + +#define SN_id_tc26_wrap_gostr3412_2015_magma_kexp15 SN_magma_kexp15 +#define NID_id_tc26_wrap_gostr3412_2015_magma_kexp15 NID_magma_kexp15 +#define OBJ_id_tc26_wrap_gostr3412_2015_magma_kexp15 OBJ_magma_kexp15 + +#define SN_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 SN_kuznyechik_kexp15 +#define NID_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 NID_kuznyechik_kexp15 +#define OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik_kexp15 OBJ_kuznyechik_kexp15 + +#define SN_grasshopper_ecb SN_kuznyechik_ecb +#define NID_grasshopper_ecb NID_kuznyechik_ecb + +#define SN_grasshopper_ctr SN_kuznyechik_ctr +#define NID_grasshopper_ctr NID_kuznyechik_ctr + +#define SN_grasshopper_ofb SN_kuznyechik_ofb +#define NID_grasshopper_ofb NID_kuznyechik_ofb + +#define SN_grasshopper_cbc SN_kuznyechik_cbc +#define NID_grasshopper_cbc NID_kuznyechik_cbc + +#define SN_grasshopper_cfb SN_kuznyechik_cfb +#define NID_grasshopper_cfb NID_kuznyechik_cfb + +#define SN_grasshopper_mac SN_kuznyechik_mac +#define NID_grasshopper_mac NID_kuznyechik_mac + +#endif diff --git a/include/openssl/objectserr.h b/include/openssl/objectserr.h index 0e489e47..3cac9a73 100644 --- a/include/openssl/objectserr.h +++ b/include/openssl/objectserr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/ocsp.h b/include/openssl/ocsp.h index b9f55c01..d40e843e 100644 --- a/include/openssl/ocsp.h +++ b/include/openssl/ocsp.h @@ -102,14 +102,13 @@ extern "C" { # define OCSP_RESPID_KEY 0x400 # define OCSP_NOTIME 0x800 +DEFINE_OR_DECLARE_STACK_OF(OCSP_CERTID) +DEFINE_OR_DECLARE_STACK_OF(OCSP_ONEREQ) +DEFINE_OR_DECLARE_STACK_OF(OCSP_RESPID) +DEFINE_OR_DECLARE_STACK_OF(OCSP_SINGLERESP) + typedef struct ocsp_cert_id_st OCSP_CERTID; - -DEFINE_STACK_OF(OCSP_CERTID) - typedef struct ocsp_one_request_st OCSP_ONEREQ; - -DEFINE_STACK_OF(OCSP_ONEREQ) - typedef struct ocsp_req_info_st OCSP_REQINFO; typedef struct ocsp_signature_st OCSP_SIGNATURE; typedef struct ocsp_request_st OCSP_REQUEST; @@ -126,7 +125,6 @@ typedef struct ocsp_resp_bytes_st OCSP_RESPBYTES; # define V_OCSP_RESPID_NAME 0 # define V_OCSP_RESPID_KEY 1 -DEFINE_STACK_OF(OCSP_RESPID) typedef struct ocsp_revoked_info_st OCSP_REVOKEDINFO; @@ -137,7 +135,6 @@ typedef struct ocsp_revoked_info_st OCSP_REVOKEDINFO; typedef struct ocsp_cert_status_st OCSP_CERTSTATUS; typedef struct ocsp_single_response_st OCSP_SINGLERESP; -DEFINE_STACK_OF(OCSP_SINGLERESP) typedef struct ocsp_response_data_st OCSP_RESPDATA; diff --git a/include/openssl/ocsperr.h b/include/openssl/ocsperr.h index 2f72891d..f9ad3be0 100644 --- a/include/openssl/ocsperr.h +++ b/include/openssl/ocsperr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/param_build.h b/include/openssl/param_build.h index edccd017..45ed1bf1 100644 --- a/include/openssl/param_build.h +++ b/include/openssl/param_build.h @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/include/openssl/params.h b/include/openssl/params.h index cd0f7846..993ee818 100644 --- a/include/openssl/params.h +++ b/include/openssl/params.h @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -18,11 +18,13 @@ extern "C" { # endif +# define OSSL_PARAM_UNMODIFIED ((size_t)-1) + # define OSSL_PARAM_END \ { NULL, 0, NULL, 0, 0 } # define OSSL_PARAM_DEFN(key, type, addr, sz) \ - { (key), (type), (addr), (sz), 0 } + { (key), (type), (addr), (sz), OSSL_PARAM_UNMODIFIED } /* Basic parameter types without return sizes */ # define OSSL_PARAM_int(key, addr) \ @@ -135,6 +137,9 @@ int OSSL_PARAM_get_octet_ptr(const OSSL_PARAM *p, const void **val, int OSSL_PARAM_set_octet_ptr(OSSL_PARAM *p, const void *val, size_t used_len); +int OSSL_PARAM_modified(const OSSL_PARAM *p); +void OSSL_PARAM_set_all_unmodified(OSSL_PARAM *p); + # ifdef __cplusplus } # endif diff --git a/include/openssl/pem.h b/include/openssl/pem.h index e48d2470..fb63b93d 100644 --- a/include/openssl/pem.h +++ b/include/openssl/pem.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -347,6 +347,14 @@ DECLARE_PEM_rw(DHparams, DH) DECLARE_PEM_write(DHxparams, DH) # endif DECLARE_PEM_rw_cb(PrivateKey, EVP_PKEY) +EVP_PKEY *PEM_read_bio_PrivateKey_ex(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, + void *u, OPENSSL_CTX *libctx, + const char *propq); +# ifndef OPENSSL_NO_STDIO +EVP_PKEY *PEM_read_PrivateKey_ex(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, + void *u, OPENSSL_CTX *libctx, + const char *propq); +# endif DECLARE_PEM_rw(PUBKEY, EVP_PKEY) int PEM_write_bio_PrivateKey_traditional(BIO *bp, const EVP_PKEY *x, diff --git a/include/openssl/pemerr.h b/include/openssl/pemerr.h index 828a624b..e3450e5e 100644 --- a/include/openssl/pemerr.h +++ b/include/openssl/pemerr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/pkcs12.h b/include/openssl/pkcs12.h index 51d6e8a4..474992e4 100644 --- a/include/openssl/pkcs12.h +++ b/include/openssl/pkcs12.h @@ -46,14 +46,14 @@ extern "C" { # define KEY_EX 0x10 # define KEY_SIG 0x80 +DEFINE_OR_DECLARE_STACK_OF(PKCS12_SAFEBAG) + typedef struct PKCS12_MAC_DATA_st PKCS12_MAC_DATA; typedef struct PKCS12_st PKCS12; typedef struct PKCS12_SAFEBAG_st PKCS12_SAFEBAG; -DEFINE_STACK_OF(PKCS12_SAFEBAG) - typedef struct pkcs12_bag_st PKCS12_BAGS; # define PKCS12_ERROR 0 diff --git a/include/openssl/pkcs12err.h b/include/openssl/pkcs12err.h index 78334fff..8d69b63f 100644 --- a/include/openssl/pkcs12err.h +++ b/include/openssl/pkcs12err.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/pkcs7.h b/include/openssl/pkcs7.h index 7c079a2e..4d114d75 100644 --- a/include/openssl/pkcs7.h +++ b/include/openssl/pkcs7.h @@ -28,6 +28,7 @@ extern "C" { #endif + /*- Encryption_ID DES-CBC Digest_ID MD5 @@ -51,8 +52,7 @@ typedef struct pkcs7_signer_info_st { /* The private key to sign with */ EVP_PKEY *pkey; } PKCS7_SIGNER_INFO; - -DEFINE_STACK_OF(PKCS7_SIGNER_INFO) +DEFINE_OR_DECLARE_STACK_OF(PKCS7_SIGNER_INFO) typedef struct pkcs7_recip_info_st { ASN1_INTEGER *version; /* version 0 */ @@ -61,8 +61,8 @@ typedef struct pkcs7_recip_info_st { ASN1_OCTET_STRING *enc_key; X509 *cert; /* get the pub-key from this */ } PKCS7_RECIP_INFO; +DEFINE_OR_DECLARE_STACK_OF(PKCS7_RECIP_INFO) -DEFINE_STACK_OF(PKCS7_RECIP_INFO) typedef struct pkcs7_signed_st { ASN1_INTEGER *version; /* version 1 */ @@ -148,8 +148,8 @@ typedef struct pkcs7_st { ASN1_TYPE *other; } d; } PKCS7; +DEFINE_OR_DECLARE_STACK_OF(PKCS7) -DEFINE_STACK_OF(PKCS7) # define PKCS7_OP_SET_DETACHED_SIGNATURE 1 # define PKCS7_OP_GET_DETACHED_SIGNATURE 2 diff --git a/include/openssl/pkcs7err.h b/include/openssl/pkcs7err.h index fd1f3da7..ef06fbbb 100644 --- a/include/openssl/pkcs7err.h +++ b/include/openssl/pkcs7err.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/provider.h b/include/openssl/provider.h index c17f1d46..f297ea24 100644 --- a/include/openssl/provider.h +++ b/include/openssl/provider.h @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/include/openssl/rand.h b/include/openssl/rand.h index 574592a6..a95e9d41 100644 --- a/include/openssl/rand.h +++ b/include/openssl/rand.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/rand_drbg.h b/include/openssl/rand_drbg.h index 6d8368d4..c37df348 100644 --- a/include/openssl/rand_drbg.h +++ b/include/openssl/rand_drbg.h @@ -1,5 +1,5 @@ /* - * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2020 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 diff --git a/include/openssl/rc2.h b/include/openssl/rc2.h index 2c63c753..f6f5fc91 100644 --- a/include/openssl/rc2.h +++ b/include/openssl/rc2.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/rc4.h b/include/openssl/rc4.h index 98ba8d8a..3850083a 100644 --- a/include/openssl/rc4.h +++ b/include/openssl/rc4.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/rc5.h b/include/openssl/rc5.h index a9c06d31..bf2c8259 100644 --- a/include/openssl/rc5.h +++ b/include/openssl/rc5.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/ripemd.h b/include/openssl/ripemd.h index 936d4e43..9c5e1789 100644 --- a/include/openssl/ripemd.h +++ b/include/openssl/ripemd.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/rsa.h b/include/openssl/rsa.h index 1df1c08e..ee4c5212 100644 --- a/include/openssl/rsa.h +++ b/include/openssl/rsa.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -44,9 +44,9 @@ extern "C" { # ifndef OPENSSL_RSA_SMALL_MODULUS_BITS # define OPENSSL_RSA_SMALL_MODULUS_BITS 3072 # endif -# ifndef OPENSSL_RSA_MAX_PUBEXP_BITS /* exponent limit enforced for "large" modulus only */ +# ifndef OPENSSL_RSA_MAX_PUBEXP_BITS # define OPENSSL_RSA_MAX_PUBEXP_BITS 64 # endif diff --git a/include/openssl/safestack.h b/include/openssl/safestack.h index b8de23cf..5d099e62 100644 --- a/include/openssl/safestack.h +++ b/include/openssl/safestack.h @@ -132,11 +132,11 @@ extern "C" { return (sk_##t1##_compfunc)OPENSSL_sk_set_cmp_func((OPENSSL_STACK *)sk, (OPENSSL_sk_compfunc)compare); \ } -# define DEFINE_SPECIAL_STACK_OF(t1, t2) SKM_DEFINE_STACK_OF(t1, t2, t2) # define DEFINE_STACK_OF(t) SKM_DEFINE_STACK_OF(t, t, t) +# define DEFINE_STACK_OF_CONST(t) SKM_DEFINE_STACK_OF(t, const t, t) +# define DEFINE_SPECIAL_STACK_OF(t1, t2) SKM_DEFINE_STACK_OF(t1, t2, t2) # define DEFINE_SPECIAL_STACK_OF_CONST(t1, t2) \ SKM_DEFINE_STACK_OF(t1, const t2, t2) -# define DEFINE_STACK_OF_CONST(t) SKM_DEFINE_STACK_OF(t, const t, t) /*- * Strings are special: normally an lhash entry will point to a single @@ -155,6 +155,28 @@ extern "C" { typedef char *OPENSSL_STRING; typedef const char *OPENSSL_CSTRING; +# define DEFINE_STACK_OF_STRING() \ + DEFINE_SPECIAL_STACK_OF(OPENSSL_STRING, char) +# define DEFINE_STACK_OF_CSTRING() \ + DEFINE_SPECIAL_STACK_OF_CONST(OPENSSL_CSTRING, char) + +/* + * If we're building OpenSSL, or we have no-deprecated configured, + * then we don't define the inline functions (see |SKM_DEFINE_STACK_OF|, + * above), we just declare the stack datatypes. Otherwise, for compatibility + * and to not remove the API's, we define the functions. We have the + * trailing semicolon so that uses of this never need it. + */ +#if defined(OPENSSL_BUILDING_OPENSSL) || defined(OPENSSL_NO_DEPRECATED_3_0) +# define DEFINE_OR_DECLARE_STACK_OF(s) STACK_OF(s); +# define DEFINE_OR_DECLARE_STACK_OF_STRING() STACK_OF(OPENSSL_STRING); +# define DEFINE_OR_DECLARE_STACK_OF_CSTRING() STACK_OF(OPENSSL_CSTRING); +#else +# define DEFINE_OR_DECLARE_STACK_OF(s) DEFINE_STACK_OF(s) +# define DEFINE_OR_DECLARE_STACK_OF_STRING() DEFINE_STACK_OF_STRING() +# define DEFINE_OR_DECLARE_STACK_OF_CSTRING() DEFINE_STACK_OF_CSTRING() +#endif + /*- * Confusingly, LHASH_OF(STRING) deals with char ** throughout, but * STACK_OF(STRING) is really more like STACK_OF(char), only, as mentioned @@ -162,15 +184,17 @@ typedef const char *OPENSSL_CSTRING; * chars. So, we have to implement STRING specially for STACK_OF. This is * dealt with in the autogenerated macros below. */ -DEFINE_SPECIAL_STACK_OF(OPENSSL_STRING, char) -DEFINE_SPECIAL_STACK_OF_CONST(OPENSSL_CSTRING, char) +DEFINE_OR_DECLARE_STACK_OF_STRING() +DEFINE_OR_DECLARE_STACK_OF_CSTRING() +#if !defined(OPENSSL_NO_DEPRECATED_3_0) /* - * Similarly, we sometimes use a block of characters, NOT nul-terminated. + * This is not used by OpenSSL. A block of bytes, NOT nul-terminated. * These should also be distinguished from "normal" stacks. */ typedef void *OPENSSL_BLOCK; DEFINE_SPECIAL_STACK_OF(OPENSSL_BLOCK, void) +#endif /* * If called without higher optimization (min. -xO3) the Oracle Developer diff --git a/include/openssl/seed.h b/include/openssl/seed.h index 2e1ba2a7..40238214 100644 --- a/include/openssl/seed.h +++ b/include/openssl/seed.h @@ -1,5 +1,5 @@ /* - * Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 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 diff --git a/include/openssl/self_test.h b/include/openssl/self_test.h index b4981e54..bfc459e0 100644 --- a/include/openssl/self_test.h +++ b/include/openssl/self_test.h @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/include/openssl/serializer.h b/include/openssl/serializer.h index ceeeffb2..8b248407 100644 --- a/include/openssl/serializer.h +++ b/include/openssl/serializer.h @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/include/openssl/sha.h b/include/openssl/sha.h index 3a31bb60..18e584a1 100644 --- a/include/openssl/sha.h +++ b/include/openssl/sha.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/srp.h b/include/openssl/srp.h index bf3bf1bd..dc7bce93 100644 --- a/include/openssl/srp.h +++ b/include/openssl/srp.h @@ -1,5 +1,5 @@ /* - * Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2004-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2004, EdelKey Project. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -33,14 +33,15 @@ extern "C" { # endif +DEFINE_OR_DECLARE_STACK_OF(SRP_gN_cache) +DEFINE_OR_DECLARE_STACK_OF(SRP_user_pwd) +DEFINE_OR_DECLARE_STACK_OF(SRP_gN) + typedef struct SRP_gN_cache_st { char *b64_bn; BIGNUM *bn; } SRP_gN_cache; - -DEFINE_STACK_OF(SRP_gN_cache) - typedef struct SRP_user_pwd_st { /* Owned by us. */ char *id; @@ -60,7 +61,6 @@ void SRP_user_pwd_set_gN(SRP_user_pwd *user_pwd, const BIGNUM *g, const BIGNUM * int SRP_user_pwd_set1_ids(SRP_user_pwd *user_pwd, const char *id, const char *info); int SRP_user_pwd_set0_sv(SRP_user_pwd *user_pwd, BIGNUM *s, BIGNUM *v); -DEFINE_STACK_OF(SRP_user_pwd) typedef struct SRP_VBASE_st { STACK_OF(SRP_user_pwd) *users_pwd; @@ -80,7 +80,6 @@ typedef struct SRP_gN_st { const BIGNUM *N; } SRP_gN; -DEFINE_STACK_OF(SRP_gN) SRP_VBASE *SRP_VBASE_new(char *seed_key); void SRP_VBASE_free(SRP_VBASE *vb); diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h index 348f24f8..cfceb607 100644 --- a/include/openssl/ssl.h +++ b/include/openssl/ssl.h @@ -231,8 +231,10 @@ typedef struct tls_sigalgs_st TLS_SIGALGS; typedef struct ssl_conf_ctx_st SSL_CONF_CTX; typedef struct ssl_comp_st SSL_COMP; -STACK_OF(SSL_CIPHER); -STACK_OF(SSL_COMP); +DEFINE_OR_DECLARE_STACK_OF(SSL_CIPHER) +DEFINE_OR_DECLARE_STACK_OF(SSL_COMP) +DEFINE_OR_DECLARE_STACK_OF(SRTP_PROTECTION_PROFILE) +DEFINE_OR_DECLARE_STACK_OF(SSL_COMP) /* SRTP protection profiles for use with the use_srtp extension (RFC 5764)*/ typedef struct srtp_protection_profile_st { @@ -240,7 +242,6 @@ typedef struct srtp_protection_profile_st { unsigned long id; } SRTP_PROTECTION_PROFILE; -DEFINE_STACK_OF(SRTP_PROTECTION_PROFILE) typedef int (*tls_session_ticket_ext_cb_fn)(SSL *s, const unsigned char *data, int len, void *arg); @@ -980,8 +981,6 @@ extern "C" { * These need to be after the above set of includes due to a compiler bug * in VisualStudio 2015 */ -DEFINE_STACK_OF_CONST(SSL_CIPHER) -DEFINE_STACK_OF(SSL_COMP) /* compatibility */ # define SSL_set_app_data(s,arg) (SSL_set_ex_data(s,0,(char *)(arg))) diff --git a/include/openssl/ssl3.h b/include/openssl/ssl3.h index efef3ccf..664ad238 100644 --- a/include/openssl/ssl3.h +++ b/include/openssl/ssl3.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -270,7 +270,7 @@ extern "C" { * SSL3_CT_NUMBER is used to size arrays and it must be large enough to * contain all of the cert types defined for *either* SSLv3 and TLSv1. */ -# define SSL3_CT_NUMBER 10 +# define SSL3_CT_NUMBER 12 # if defined(TLS_CT_NUMBER) # if TLS_CT_NUMBER != SSL3_CT_NUMBER diff --git a/include/openssl/storeerr.h b/include/openssl/storeerr.h index ddcce6bf..db279382 100644 --- a/include/openssl/storeerr.h +++ b/include/openssl/storeerr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/tls1.h b/include/openssl/tls1.h index 0244b1ab..52f47708 100644 --- a/include/openssl/tls1.h +++ b/include/openssl/tls1.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -1129,14 +1129,16 @@ int SSL_CTX_set_tlsext_ticket_key_evp_cb # define TLS_CT_RSA_FIXED_ECDH 65 # define TLS_CT_ECDSA_FIXED_ECDH 66 # define TLS_CT_GOST01_SIGN 22 -# define TLS_CT_GOST12_SIGN 238 -# define TLS_CT_GOST12_512_SIGN 239 +# define TLS_CT_GOST12_IANA_SIGN 67 +# define TLS_CT_GOST12_IANA_512_SIGN 68 +# define TLS_CT_GOST12_LEGACY_SIGN 238 +# define TLS_CT_GOST12_LEGACY_512_SIGN 239 /* * when correcting this number, correct also SSL3_CT_NUMBER in ssl3.h (see * comment there) */ -# define TLS_CT_NUMBER 10 +# define TLS_CT_NUMBER 12 # if defined(SSL3_CT_NUMBER) # if TLS_CT_NUMBER != SSL3_CT_NUMBER diff --git a/include/openssl/ts.h b/include/openssl/ts.h index 1229838d..bf8f236c 100644 --- a/include/openssl/ts.h +++ b/include/openssl/ts.h @@ -37,6 +37,8 @@ extern "C" { # include # include +DEFINE_OR_DECLARE_STACK_OF(EVP_MD) + typedef struct TS_msg_imprint_st TS_MSG_IMPRINT; typedef struct TS_req_st TS_REQ; typedef struct TS_accuracy_st TS_ACCURACY; @@ -264,8 +266,6 @@ typedef int (*TS_extension_cb) (struct TS_resp_ctx *, X509_EXTENSION *, typedef struct TS_resp_ctx TS_RESP_CTX; -DEFINE_STACK_OF_CONST(EVP_MD) - /* Creates a response context that can be used for generating responses. */ TS_RESP_CTX *TS_RESP_CTX_new(void); void TS_RESP_CTX_free(TS_RESP_CTX *ctx); diff --git a/include/openssl/tserr.h b/include/openssl/tserr.h index 4f7415cc..d29d3be1 100644 --- a/include/openssl/tserr.h +++ b/include/openssl/tserr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/types.h b/include/openssl/types.h index 6520fbfa..27f90a7b 100644 --- a/include/openssl/types.h +++ b/include/openssl/types.h @@ -1,5 +1,5 @@ /* - * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 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 @@ -60,7 +60,9 @@ typedef int ASN1_BOOLEAN; typedef int ASN1_NULL; # endif +typedef struct asn1_type_st ASN1_TYPE; typedef struct asn1_object_st ASN1_OBJECT; +typedef struct asn1_string_table_st ASN1_STRING_TABLE; typedef struct ASN1_ITEM_st ASN1_ITEM; typedef struct asn1_pctx_st ASN1_PCTX; diff --git a/include/openssl/ui.h b/include/openssl/ui.h index b170f4d4..fa55d92a 100644 --- a/include/openssl/ui.h +++ b/include/openssl/ui.h @@ -1,5 +1,5 @@ /* - * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 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 @@ -283,7 +283,8 @@ const UI_METHOD *UI_null(void); * about a string or a prompt, including test data for a verification prompt. */ typedef struct ui_string_st UI_STRING; -DEFINE_STACK_OF(UI_STRING) + +DEFINE_OR_DECLARE_STACK_OF(UI_STRING) /* * The different types of strings that are currently supported. This is only diff --git a/include/openssl/uierr.h b/include/openssl/uierr.h index fb0e3114..7240bbbd 100644 --- a/include/openssl/uierr.h +++ b/include/openssl/uierr.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/whrlpool.h b/include/openssl/whrlpool.h index cc8802f7..f0592584 100644 --- a/include/openssl/whrlpool.h +++ b/include/openssl/whrlpool.h @@ -1,5 +1,5 @@ /* - * Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2005-2020 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 diff --git a/include/openssl/x509.h b/include/openssl/x509.h index 8952e392..31098029 100644 --- a/include/openssl/x509.h +++ b/include/openssl/x509.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -78,32 +78,24 @@ typedef struct X509_sig_st X509_SIG; typedef struct X509_name_entry_st X509_NAME_ENTRY; -DEFINE_STACK_OF(X509_NAME_ENTRY) - -DEFINE_STACK_OF(X509_NAME) +DEFINE_OR_DECLARE_STACK_OF(X509_NAME_ENTRY) +DEFINE_OR_DECLARE_STACK_OF(X509_NAME) +DEFINE_OR_DECLARE_STACK_OF(X509) +DEFINE_OR_DECLARE_STACK_OF(X509_REVOKED) +DEFINE_OR_DECLARE_STACK_OF(X509_CRL) # define X509_EX_V_NETSCAPE_HACK 0x8000 # define X509_EX_V_INIT 0x0001 typedef struct X509_extension_st X509_EXTENSION; - +DEFINE_OR_DECLARE_STACK_OF(X509_EXTENSION) typedef STACK_OF(X509_EXTENSION) X509_EXTENSIONS; - -DEFINE_STACK_OF(X509_EXTENSION) - typedef struct x509_attributes_st X509_ATTRIBUTE; - -DEFINE_STACK_OF(X509_ATTRIBUTE) - +DEFINE_OR_DECLARE_STACK_OF(X509_ATTRIBUTE) typedef struct X509_req_info_st X509_REQ_INFO; - typedef struct X509_req_st X509_REQ; - typedef struct x509_cert_aux_st X509_CERT_AUX; - typedef struct x509_cinf_st X509_CINF; -DEFINE_STACK_OF(X509) - /* This is used for a table of trust checking functions */ typedef struct x509_trust_st { @@ -114,8 +106,8 @@ typedef struct x509_trust_st { int arg1; void *arg2; } X509_TRUST; +DEFINE_OR_DECLARE_STACK_OF(X509_TRUST) -DEFINE_STACK_OF(X509_TRUST) /* standard trust ids */ @@ -227,12 +219,8 @@ DEFINE_STACK_OF(X509_TRUST) XN_FLAG_FN_LN | \ XN_FLAG_FN_ALIGN) -DEFINE_STACK_OF(X509_REVOKED) - typedef struct X509_crl_info_st X509_CRL_INFO; -DEFINE_STACK_OF(X509_CRL) - typedef struct private_key_st { int version; /* The PKCS#8 data types */ @@ -256,8 +244,7 @@ typedef struct X509_info_st { int enc_len; char *enc_data; } X509_INFO; - -DEFINE_STACK_OF(X509_INFO) +DEFINE_OR_DECLARE_STACK_OF(X509_INFO) /* * The next 2 structures and their 8 routines are used to manipulate Netscape's @@ -355,8 +342,11 @@ void *X509_CRL_get_meth_data(X509_CRL *crl); const char *X509_verify_cert_error_string(long n); +int X509_verify_ex(X509 *a, EVP_PKEY *r, OPENSSL_CTX *libctx, const char *propq); int X509_verify(X509 *a, EVP_PKEY *r); +int X509_REQ_verify_ex(X509_REQ *a, EVP_PKEY *r, OPENSSL_CTX *libctx, + const char *propq); int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r); int X509_CRL_verify(X509_CRL *a, EVP_PKEY *r); int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r); @@ -435,6 +425,8 @@ PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, const PKCS8_PRIV_KEY_INFO *p8inf); int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, const EVP_PKEY *key); int i2d_PrivateKey_fp(FILE *fp, const EVP_PKEY *pkey); +EVP_PKEY *d2i_PrivateKey_ex_fp(FILE *fp, EVP_PKEY **a, OPENSSL_CTX *libctx, + const char *propq); EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a); int i2d_PUBKEY_fp(FILE *fp, const EVP_PKEY *pkey); EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a); @@ -475,6 +467,8 @@ PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, const PKCS8_PRIV_KEY_INFO *p8inf); int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, const EVP_PKEY *key); int i2d_PrivateKey_bio(BIO *bp, const EVP_PKEY *pkey); +EVP_PKEY *d2i_PrivateKey_ex_bio(BIO *bp, EVP_PKEY **a, OPENSSL_CTX *libctx, + const char *propq); EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a); int i2d_PUBKEY_bio(BIO *bp, const EVP_PKEY *pkey); EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a); @@ -493,6 +487,7 @@ void X509_ALGOR_get0(const ASN1_OBJECT **paobj, int *pptype, const void **ppval, const X509_ALGOR *algor); void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md); int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b); +int X509_ALGOR_copy(X509_ALGOR *dest, const X509_ALGOR *src); DECLARE_ASN1_DUP_FUNCTION(X509_NAME) DECLARE_ASN1_DUP_FUNCTION(X509_NAME_ENTRY) @@ -700,6 +695,8 @@ X509_NAME *X509_REQ_get_subject_name(const X509_REQ *req); /* TODO change to get int X509_REQ_set_subject_name(X509_REQ *req, const X509_NAME *name); void X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig, const X509_ALGOR **palg); +void X509_REQ_set0_signature(X509_REQ *req, ASN1_BIT_STRING *psig); +int X509_REQ_set1_signature_algo(X509_REQ *req, X509_ALGOR *palg); int X509_REQ_get_signature_nid(const X509_REQ *req); int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp); int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey); diff --git a/include/openssl/x509_vfy.h b/include/openssl/x509_vfy.h index 08f17384..84b076a1 100644 --- a/include/openssl/x509_vfy.h +++ b/include/openssl/x509_vfy.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -60,9 +60,9 @@ typedef enum { #define X509_LU_FAIL 0 #endif -DEFINE_STACK_OF(X509_LOOKUP) -DEFINE_STACK_OF(X509_OBJECT) -DEFINE_STACK_OF(X509_VERIFY_PARAM) +DEFINE_OR_DECLARE_STACK_OF(X509_LOOKUP) +DEFINE_OR_DECLARE_STACK_OF(X509_OBJECT) +DEFINE_OR_DECLARE_STACK_OF(X509_VERIFY_PARAM) int X509_STORE_set_depth(X509_STORE *store, int depth); diff --git a/include/openssl/x509err.h b/include/openssl/x509err.h index b3a5fb35..34cd706a 100644 --- a/include/openssl/x509err.h +++ b/include/openssl/x509err.h @@ -1,6 +1,6 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/include/openssl/x509v3.h b/include/openssl/x509v3.h index e8efab2f..e4f09adf 100644 --- a/include/openssl/x509v3.h +++ b/include/openssl/x509v3.h @@ -1,5 +1,5 @@ /* - * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2020 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 @@ -25,6 +25,25 @@ extern "C" { #endif +DEFINE_OR_DECLARE_STACK_OF(GENERAL_NAME) +DEFINE_OR_DECLARE_STACK_OF(X509V3_EXT_METHOD) +DEFINE_OR_DECLARE_STACK_OF(GENERAL_NAMES) +DEFINE_OR_DECLARE_STACK_OF(ACCESS_DESCRIPTION) +DEFINE_OR_DECLARE_STACK_OF(DIST_POINT) +DEFINE_OR_DECLARE_STACK_OF(SXNETID) +DEFINE_OR_DECLARE_STACK_OF(POLICYQUALINFO) +DEFINE_OR_DECLARE_STACK_OF(POLICYINFO) +DEFINE_OR_DECLARE_STACK_OF(POLICY_MAPPING) +DEFINE_OR_DECLARE_STACK_OF(GENERAL_SUBTREE) +DEFINE_OR_DECLARE_STACK_OF(X509_PURPOSE) +DEFINE_OR_DECLARE_STACK_OF(X509_POLICY_NODE) +DEFINE_OR_DECLARE_STACK_OF(ASIdOrRange) +DEFINE_OR_DECLARE_STACK_OF(IPAddressOrRange) +DEFINE_OR_DECLARE_STACK_OF(IPAddressFamily) +DEFINE_OR_DECLARE_STACK_OF(ASN1_STRING) +DEFINE_OR_DECLARE_STACK_OF(ADMISSIONS) +DEFINE_OR_DECLARE_STACK_OF(PROFESSION_INFO) + /* Forward reference */ struct v3_ext_method; struct v3_ext_ctx; @@ -97,8 +116,6 @@ struct v3_ext_ctx { typedef struct v3_ext_method X509V3_EXT_METHOD; -DEFINE_STACK_OF(X509V3_EXT_METHOD) - /* ext_flags values */ # define X509V3_EXT_DYNAMIC 0x1 # define X509V3_EXT_CTX_DEP 0x2 @@ -169,11 +186,7 @@ typedef STACK_OF(ASN1_OBJECT) EXTENDED_KEY_USAGE; typedef STACK_OF(ASN1_INTEGER) TLS_FEATURE; -DEFINE_STACK_OF(GENERAL_NAME) typedef STACK_OF(GENERAL_NAME) GENERAL_NAMES; -DEFINE_STACK_OF(GENERAL_NAMES) - -DEFINE_STACK_OF(ACCESS_DESCRIPTION) typedef struct DIST_POINT_NAME_st { int type; @@ -208,8 +221,6 @@ struct DIST_POINT_st { typedef STACK_OF(DIST_POINT) CRL_DIST_POINTS; -DEFINE_STACK_OF(DIST_POINT) - struct AUTHORITY_KEYID_st { ASN1_OCTET_STRING *keyid; GENERAL_NAMES *issuer; @@ -223,8 +234,6 @@ typedef struct SXNET_ID_st { ASN1_OCTET_STRING *user; } SXNETID; -DEFINE_STACK_OF(SXNETID) - typedef struct SXNET_st { ASN1_INTEGER *version; STACK_OF(SXNETID) *ids; @@ -256,8 +265,6 @@ typedef struct POLICYQUALINFO_st { } d; } POLICYQUALINFO; -DEFINE_STACK_OF(POLICYQUALINFO) - typedef struct POLICYINFO_st { ASN1_OBJECT *policyid; STACK_OF(POLICYQUALINFO) *qualifiers; @@ -265,15 +272,11 @@ typedef struct POLICYINFO_st { typedef STACK_OF(POLICYINFO) CERTIFICATEPOLICIES; -DEFINE_STACK_OF(POLICYINFO) - typedef struct POLICY_MAPPING_st { ASN1_OBJECT *issuerDomainPolicy; ASN1_OBJECT *subjectDomainPolicy; } POLICY_MAPPING; -DEFINE_STACK_OF(POLICY_MAPPING) - typedef STACK_OF(POLICY_MAPPING) POLICY_MAPPINGS; typedef struct GENERAL_SUBTREE_st { @@ -282,8 +285,6 @@ typedef struct GENERAL_SUBTREE_st { ASN1_INTEGER *maximum; } GENERAL_SUBTREE; -DEFINE_STACK_OF(GENERAL_SUBTREE) - struct NAME_CONSTRAINTS_st { STACK_OF(GENERAL_SUBTREE) *permittedSubtrees; STACK_OF(GENERAL_SUBTREE) *excludedSubtrees; @@ -458,8 +459,6 @@ typedef struct x509_purpose_st { # define X509V3_ADD_DELETE 5L # define X509V3_ADD_SILENT 0x10 -DEFINE_STACK_OF(X509_PURPOSE) - DECLARE_ASN1_FUNCTIONS(BASIC_CONSTRAINTS) DECLARE_ASN1_FUNCTIONS(SXNET) @@ -736,7 +735,6 @@ int X509V3_NAME_from_section(X509_NAME *nm, STACK_OF(CONF_VALUE) *dn_sk, unsigned long chtype); void X509_POLICY_NODE_print(BIO *out, X509_POLICY_NODE *node, int indent); -DEFINE_STACK_OF(X509_POLICY_NODE) #ifndef OPENSSL_NO_RFC3779 typedef struct ASRange_st { @@ -755,7 +753,6 @@ typedef struct ASIdOrRange_st { } ASIdOrRange; typedef STACK_OF(ASIdOrRange) ASIdOrRanges; -DEFINE_STACK_OF(ASIdOrRange) # define ASIdentifierChoice_inherit 0 # define ASIdentifierChoice_asIdsOrRanges 1 @@ -793,7 +790,6 @@ typedef struct IPAddressOrRange_st { } IPAddressOrRange; typedef STACK_OF(IPAddressOrRange) IPAddressOrRanges; -DEFINE_STACK_OF(IPAddressOrRange) # define IPAddressChoice_inherit 0 # define IPAddressChoice_addressesOrRanges 1 @@ -812,7 +808,6 @@ typedef struct IPAddressFamily_st { } IPAddressFamily; typedef STACK_OF(IPAddressFamily) IPAddrBlocks; -DEFINE_STACK_OF(IPAddressFamily) DECLARE_ASN1_FUNCTIONS(IPAddressRange) DECLARE_ASN1_FUNCTIONS(IPAddressOrRange) @@ -884,7 +879,6 @@ int X509v3_addr_validate_resource_set(STACK_OF(X509) *chain, #endif /* OPENSSL_NO_RFC3779 */ -DEFINE_STACK_OF(ASN1_STRING) /* * Admission Syntax @@ -897,8 +891,6 @@ DECLARE_ASN1_FUNCTIONS(NAMING_AUTHORITY) DECLARE_ASN1_FUNCTIONS(PROFESSION_INFO) DECLARE_ASN1_FUNCTIONS(ADMISSIONS) DECLARE_ASN1_FUNCTIONS(ADMISSION_SYNTAX) -DEFINE_STACK_OF(ADMISSIONS) -DEFINE_STACK_OF(PROFESSION_INFO) typedef STACK_OF(PROFESSION_INFO) PROFESSION_INFOS; const ASN1_OBJECT *NAMING_AUTHORITY_get0_authorityId( diff --git a/providers/common/include/prov/provider_util.h b/providers/common/include/prov/provider_util.h index ca3550b3..9b5b9832 100644 --- a/providers/common/include/prov/provider_util.h +++ b/providers/common/include/prov/provider_util.h @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/common/include/prov/providercommon.h b/providers/common/include/prov/providercommon.h index 995c6852..5123f78e 100644 --- a/providers/common/include/prov/providercommon.h +++ b/providers/common/include/prov/providercommon.h @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/common/provider_util.c b/providers/common/provider_util.c index 041d6492..a409d717 100644 --- a/providers/common/provider_util.c +++ b/providers/common/provider_util.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/defltprov.c b/providers/defltprov.c index f93bd31d..f26654ab 100644 --- a/providers/defltprov.c +++ b/providers/defltprov.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/fips/fipsprov.c b/providers/fips/fipsprov.c index c107d690..98cccbf3 100644 --- a/providers/fips/fipsprov.c +++ b/providers/fips/fipsprov.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 @@ -367,13 +367,9 @@ static const OSSL_ALGORITHM fips_digests[] = { { "SHA3-256", "provider=fips,fips=yes", sha3_256_functions }, { "SHA3-384", "provider=fips,fips=yes", sha3_384_functions }, { "SHA3-512", "provider=fips,fips=yes", sha3_512_functions }, - /* - * KECCAK-KMAC-128 and KECCAK-KMAC-256 as hashes are mostly useful for - * KMAC128 and KMAC256. - */ - { "KECCAK-KMAC-128:KECCAK-KMAC128", "provider=fips,fips=yes", keccak_kmac_128_functions }, - { "KECCAK-KMAC-256:KECCAK-KMAC256", "provider=fips,fips=yes", keccak_kmac_256_functions }, + /* Non-FIPS algorithm to support oneshot_hash in the Ed448 code */ + { "SHAKE-256:SHAKE256", "provider=fips,fips=no", shake_256_functions }, { NULL, NULL, NULL } }; @@ -422,13 +418,8 @@ static const OSSL_ALGORITHM_CAPABLE fips_ciphers[] = { static OSSL_ALGORITHM exported_fips_ciphers[OSSL_NELEM(fips_ciphers)]; static const OSSL_ALGORITHM fips_macs[] = { -#ifndef OPENSSL_NO_CMAC - { "CMAC", "provider=fips,fips=yes", cmac_functions }, -#endif { "GMAC", "provider=fips,fips=yes", gmac_functions }, { "HMAC", "provider=fips,fips=yes", hmac_functions }, - { "KMAC-128:KMAC128", "provider=fips,fips=yes", kmac128_functions }, - { "KMAC-256:KMAC256", "provider=fips,fips=yes", kmac256_functions }, { NULL, NULL, NULL } }; @@ -437,7 +428,6 @@ static const OSSL_ALGORITHM fips_kdfs[] = { { "SSKDF", "provider=fips,fips=yes", kdf_sskdf_functions }, { "PBKDF2", "provider=fips,fips=yes", kdf_pbkdf2_functions }, { "TLS1-PRF", "provider=fips,fips=yes", kdf_tls1_prf_functions }, - { "KBKDF", "provider=fips,fips=yes", kdf_kbkdf_functions }, { NULL, NULL, NULL } }; @@ -447,6 +437,8 @@ static const OSSL_ALGORITHM fips_keyexch[] = { #endif #ifndef OPENSSL_NO_EC { "ECDH", "provider=fips,fips=yes", ecdh_keyexch_functions }, + { "X25519", "provider=fips,fips=no", x25519_keyexch_functions }, + { "X448", "provider=fips,fips=no", x448_keyexch_functions }, #endif { NULL, NULL, NULL } }; @@ -457,6 +449,8 @@ static const OSSL_ALGORITHM fips_signature[] = { #endif { "RSA:rsaEncryption", "provider=fips,fips=yes", rsa_signature_functions }, #ifndef OPENSSL_NO_EC + { "ED25519", "provider=fips,fips=no", ed25519_signature_functions }, + { "ED448", "provider=fips,fips=no", ed448_signature_functions }, { "ECDSA", "provider=fips,fips=yes", ecdsa_signature_functions }, #endif { NULL, NULL, NULL } @@ -477,6 +471,10 @@ static const OSSL_ALGORITHM fips_keymgmt[] = { { "RSA:rsaEncryption", "provider=fips,fips=yes", rsa_keymgmt_functions }, #ifndef OPENSSL_NO_EC { "EC:id-ecPublicKey", "provider=fips,fips=yes", ec_keymgmt_functions }, + { "X25519", "provider=fips,fips=no", x25519_keymgmt_functions }, + { "X448", "provider=fips,fips=no", x448_keymgmt_functions }, + { "ED25519", "provider=fips,fips=no", ed25519_keymgmt_functions }, + { "ED448", "provider=fips,fips=no", ed448_keymgmt_functions }, #endif { NULL, NULL, NULL } }; diff --git a/providers/fips/self_test.c b/providers/fips/self_test.c index 5bc921c0..ccc01bd3 100644 --- a/providers/fips/self_test.c +++ b/providers/fips/self_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/providers/fips/self_test.h b/providers/fips/self_test.h index 1950261a..7367e96a 100644 --- a/providers/fips/self_test.h +++ b/providers/fips/self_test.h @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/providers/implementations/asymciphers/rsa_enc.c b/providers/implementations/asymciphers/rsa_enc.c index dad9edf9..f9f75850 100644 --- a/providers/implementations/asymciphers/rsa_enc.c +++ b/providers/implementations/asymciphers/rsa_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/build.info b/providers/implementations/ciphers/build.info index c97008c3..a952c216 100644 --- a/providers/implementations/ciphers/build.info +++ b/providers/implementations/ciphers/build.info @@ -63,8 +63,12 @@ IF[{- !$disabled{des} -}] cipher_tdes_default.c cipher_tdes_default_hw.c \ cipher_tdes_wrap.c cipher_tdes_wrap_hw.c SOURCE[$DES_GOAL]=\ - cipher_desx.c cipher_desx_hw.c cipher_tdes_common.c\ + cipher_desx.c cipher_desx_hw.c \ cipher_des.c cipher_des_hw.c + IF[{- !$disabled{module} -}] + SOURCE[$DES_GOAL]=\ + cipher_tdes_common.c + ENDIF ENDIF IF[{- !$disabled{aria} -}] diff --git a/providers/implementations/ciphers/cipher_aes.c b/providers/implementations/ciphers/cipher_aes.c index 2d42f1d8..280dd815 100644 --- a/providers/implementations/ciphers/cipher_aes.c +++ b/providers/implementations/ciphers/cipher_aes.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c b/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c index 0810b84f..34bd3c15 100644 --- a/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c +++ b/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.h b/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.h index c9c2f203..73d39bbc 100644 --- a/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.h +++ b/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.h @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c b/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c index cc946a9c..dc2412c7 100644 --- a/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c +++ b/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2020 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 diff --git a/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c b/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c index d170a02b..f2a23371 100644 --- a/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c +++ b/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2020 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 diff --git a/providers/implementations/ciphers/cipher_aes_ccm.c b/providers/implementations/ciphers/cipher_aes_ccm.c index ad7f14bf..f8415e6c 100644 --- a/providers/implementations/ciphers/cipher_aes_ccm.c +++ b/providers/implementations/ciphers/cipher_aes_ccm.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_aes_ccm_hw.c b/providers/implementations/ciphers/cipher_aes_ccm_hw.c index f4410ca7..db2e3f27 100644 --- a/providers/implementations/ciphers/cipher_aes_ccm_hw.c +++ b/providers/implementations/ciphers/cipher_aes_ccm_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_aes_gcm.c b/providers/implementations/ciphers/cipher_aes_gcm.c index 3f3d923a..440fc00e 100644 --- a/providers/implementations/ciphers/cipher_aes_gcm.c +++ b/providers/implementations/ciphers/cipher_aes_gcm.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_aes_gcm_hw.c b/providers/implementations/ciphers/cipher_aes_gcm_hw.c index 76c9b00c..c6628872 100644 --- a/providers/implementations/ciphers/cipher_aes_gcm_hw.c +++ b/providers/implementations/ciphers/cipher_aes_gcm_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_aes_gcm_hw_aesni.inc b/providers/implementations/ciphers/cipher_aes_gcm_hw_aesni.inc index ce558dc2..9e2504a3 100644 --- a/providers/implementations/ciphers/cipher_aes_gcm_hw_aesni.inc +++ b/providers/implementations/ciphers/cipher_aes_gcm_hw_aesni.inc @@ -1,5 +1,5 @@ /* - * Copyright 2001-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 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 diff --git a/providers/implementations/ciphers/cipher_aes_gcm_hw_armv8.inc b/providers/implementations/ciphers/cipher_aes_gcm_hw_armv8.inc index 6f3c5453..f44ada0f 100644 --- a/providers/implementations/ciphers/cipher_aes_gcm_hw_armv8.inc +++ b/providers/implementations/ciphers/cipher_aes_gcm_hw_armv8.inc @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_aes_gcm_hw_t4.inc b/providers/implementations/ciphers/cipher_aes_gcm_hw_t4.inc index c45a4493..0a477128 100644 --- a/providers/implementations/ciphers/cipher_aes_gcm_hw_t4.inc +++ b/providers/implementations/ciphers/cipher_aes_gcm_hw_t4.inc @@ -1,5 +1,5 @@ /* - * Copyright 2001-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 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 diff --git a/providers/implementations/ciphers/cipher_aes_hw.c b/providers/implementations/ciphers/cipher_aes_hw.c index 835e0b96..e0bd4db6 100644 --- a/providers/implementations/ciphers/cipher_aes_hw.c +++ b/providers/implementations/ciphers/cipher_aes_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 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 diff --git a/providers/implementations/ciphers/cipher_aes_ocb.c b/providers/implementations/ciphers/cipher_aes_ocb.c index 3d4863ea..8d7f8956 100644 --- a/providers/implementations/ciphers/cipher_aes_ocb.c +++ b/providers/implementations/ciphers/cipher_aes_ocb.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_aes_ocb_hw.c b/providers/implementations/ciphers/cipher_aes_ocb_hw.c index 75622cda..da82b66f 100644 --- a/providers/implementations/ciphers/cipher_aes_ocb_hw.c +++ b/providers/implementations/ciphers/cipher_aes_ocb_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_aes_siv.c b/providers/implementations/ciphers/cipher_aes_siv.c index 8ba26ffd..86243780 100644 --- a/providers/implementations/ciphers/cipher_aes_siv.c +++ b/providers/implementations/ciphers/cipher_aes_siv.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_aes_siv_hw.c b/providers/implementations/ciphers/cipher_aes_siv_hw.c index 17cdf765..ef910dd6 100644 --- a/providers/implementations/ciphers/cipher_aes_siv_hw.c +++ b/providers/implementations/ciphers/cipher_aes_siv_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_aes_wrp.c b/providers/implementations/ciphers/cipher_aes_wrp.c index 0de2a5f6..b5b8e501 100644 --- a/providers/implementations/ciphers/cipher_aes_wrp.c +++ b/providers/implementations/ciphers/cipher_aes_wrp.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_aes_xts.c b/providers/implementations/ciphers/cipher_aes_xts.c index 1da73c16..b47f5481 100644 --- a/providers/implementations/ciphers/cipher_aes_xts.c +++ b/providers/implementations/ciphers/cipher_aes_xts.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_aes_xts_fips.c b/providers/implementations/ciphers/cipher_aes_xts_fips.c index d3a4f25e..7c8f40ac 100644 --- a/providers/implementations/ciphers/cipher_aes_xts_fips.c +++ b/providers/implementations/ciphers/cipher_aes_xts_fips.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_aes_xts_hw.c b/providers/implementations/ciphers/cipher_aes_xts_hw.c index d66a0236..e1c81825 100644 --- a/providers/implementations/ciphers/cipher_aes_xts_hw.c +++ b/providers/implementations/ciphers/cipher_aes_xts_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_aria_gcm_hw.c b/providers/implementations/ciphers/cipher_aria_gcm_hw.c index 04db40b5..1d8e470b 100644 --- a/providers/implementations/ciphers/cipher_aria_gcm_hw.c +++ b/providers/implementations/ciphers/cipher_aria_gcm_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_blowfish.c b/providers/implementations/ciphers/cipher_blowfish.c index 75352862..128e5d76 100644 --- a/providers/implementations/ciphers/cipher_blowfish.c +++ b/providers/implementations/ciphers/cipher_blowfish.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_blowfish_hw.c b/providers/implementations/ciphers/cipher_blowfish_hw.c index 1a3957c0..3ff43e4c 100644 --- a/providers/implementations/ciphers/cipher_blowfish_hw.c +++ b/providers/implementations/ciphers/cipher_blowfish_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_camellia.c b/providers/implementations/ciphers/cipher_camellia.c index 9757fb81..21513991 100644 --- a/providers/implementations/ciphers/cipher_camellia.c +++ b/providers/implementations/ciphers/cipher_camellia.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_camellia_hw.c b/providers/implementations/ciphers/cipher_camellia_hw.c index 82e88cce..3a8fa282 100644 --- a/providers/implementations/ciphers/cipher_camellia_hw.c +++ b/providers/implementations/ciphers/cipher_camellia_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 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 diff --git a/providers/implementations/ciphers/cipher_cast5.c b/providers/implementations/ciphers/cipher_cast5.c index 24cb59d1..a9da32e7 100644 --- a/providers/implementations/ciphers/cipher_cast5.c +++ b/providers/implementations/ciphers/cipher_cast5.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_cast5_hw.c b/providers/implementations/ciphers/cipher_cast5_hw.c index beeeb593..2257b405 100644 --- a/providers/implementations/ciphers/cipher_cast5_hw.c +++ b/providers/implementations/ciphers/cipher_cast5_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_des.c b/providers/implementations/ciphers/cipher_des.c index c1454fb4..2c0c41cb 100644 --- a/providers/implementations/ciphers/cipher_des.c +++ b/providers/implementations/ciphers/cipher_des.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_des_hw.c b/providers/implementations/ciphers/cipher_des_hw.c index a1572af1..7181c229 100644 --- a/providers/implementations/ciphers/cipher_des_hw.c +++ b/providers/implementations/ciphers/cipher_des_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/providers/implementations/ciphers/cipher_desx.c b/providers/implementations/ciphers/cipher_desx.c index 2a67d77a..41596554 100644 --- a/providers/implementations/ciphers/cipher_desx.c +++ b/providers/implementations/ciphers/cipher_desx.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_desx_hw.c b/providers/implementations/ciphers/cipher_desx_hw.c index b2c3e173..dac6c396 100644 --- a/providers/implementations/ciphers/cipher_desx_hw.c +++ b/providers/implementations/ciphers/cipher_desx_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/providers/implementations/ciphers/cipher_idea.c b/providers/implementations/ciphers/cipher_idea.c index 2c089634..47909fe9 100644 --- a/providers/implementations/ciphers/cipher_idea.c +++ b/providers/implementations/ciphers/cipher_idea.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_idea_hw.c b/providers/implementations/ciphers/cipher_idea_hw.c index 7718791b..009ef358 100644 --- a/providers/implementations/ciphers/cipher_idea_hw.c +++ b/providers/implementations/ciphers/cipher_idea_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_rc2.c b/providers/implementations/ciphers/cipher_rc2.c index c773407d..114b7bfe 100644 --- a/providers/implementations/ciphers/cipher_rc2.c +++ b/providers/implementations/ciphers/cipher_rc2.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_rc2_hw.c b/providers/implementations/ciphers/cipher_rc2_hw.c index 5f0d576c..2583172b 100644 --- a/providers/implementations/ciphers/cipher_rc2_hw.c +++ b/providers/implementations/ciphers/cipher_rc2_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_rc4.c b/providers/implementations/ciphers/cipher_rc4.c index 5e611289..1893462b 100644 --- a/providers/implementations/ciphers/cipher_rc4.c +++ b/providers/implementations/ciphers/cipher_rc4.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_rc4_hmac_md5.c b/providers/implementations/ciphers/cipher_rc4_hmac_md5.c index 55bdfe73..3b50517c 100644 --- a/providers/implementations/ciphers/cipher_rc4_hmac_md5.c +++ b/providers/implementations/ciphers/cipher_rc4_hmac_md5.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c b/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c index 253bb54f..54b8f086 100644 --- a/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c +++ b/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_rc4_hw.c b/providers/implementations/ciphers/cipher_rc4_hw.c index 865b0aae..8d88aca7 100644 --- a/providers/implementations/ciphers/cipher_rc4_hw.c +++ b/providers/implementations/ciphers/cipher_rc4_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_rc5.c b/providers/implementations/ciphers/cipher_rc5.c index d6026c48..48697082 100644 --- a/providers/implementations/ciphers/cipher_rc5.c +++ b/providers/implementations/ciphers/cipher_rc5.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_rc5_hw.c b/providers/implementations/ciphers/cipher_rc5_hw.c index 5d858811..0d3d5131 100644 --- a/providers/implementations/ciphers/cipher_rc5_hw.c +++ b/providers/implementations/ciphers/cipher_rc5_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_seed.c b/providers/implementations/ciphers/cipher_seed.c index 0c83482d..bf3801d7 100644 --- a/providers/implementations/ciphers/cipher_seed.c +++ b/providers/implementations/ciphers/cipher_seed.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_seed_hw.c b/providers/implementations/ciphers/cipher_seed_hw.c index c7dee292..016b3bc2 100644 --- a/providers/implementations/ciphers/cipher_seed_hw.c +++ b/providers/implementations/ciphers/cipher_seed_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_tdes.h b/providers/implementations/ciphers/cipher_tdes.h index fb4217d5..98bb32ee 100644 --- a/providers/implementations/ciphers/cipher_tdes.h +++ b/providers/implementations/ciphers/cipher_tdes.h @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_tdes_default.c b/providers/implementations/ciphers/cipher_tdes_default.c index 4d449804..87b0369f 100644 --- a/providers/implementations/ciphers/cipher_tdes_default.c +++ b/providers/implementations/ciphers/cipher_tdes_default.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/cipher_tdes_default_hw.c b/providers/implementations/ciphers/cipher_tdes_default_hw.c index 5b9e4997..4bb99bd3 100644 --- a/providers/implementations/ciphers/cipher_tdes_default_hw.c +++ b/providers/implementations/ciphers/cipher_tdes_default_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/providers/implementations/ciphers/cipher_tdes_hw.c b/providers/implementations/ciphers/cipher_tdes_hw.c index 2391b60e..82f232a6 100644 --- a/providers/implementations/ciphers/cipher_tdes_hw.c +++ b/providers/implementations/ciphers/cipher_tdes_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/providers/implementations/ciphers/cipher_tdes_wrap.c b/providers/implementations/ciphers/cipher_tdes_wrap.c index e912b876..8f4f5628 100644 --- a/providers/implementations/ciphers/cipher_tdes_wrap.c +++ b/providers/implementations/ciphers/cipher_tdes_wrap.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/providers/implementations/ciphers/cipher_tdes_wrap_hw.c b/providers/implementations/ciphers/cipher_tdes_wrap_hw.c index 7790e1e0..477089ff 100644 --- a/providers/implementations/ciphers/cipher_tdes_wrap_hw.c +++ b/providers/implementations/ciphers/cipher_tdes_wrap_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/providers/implementations/ciphers/ciphercommon.c b/providers/implementations/ciphers/ciphercommon.c index 33afa575..93bee0dc 100644 --- a/providers/implementations/ciphers/ciphercommon.c +++ b/providers/implementations/ciphers/ciphercommon.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/ciphercommon_block.c b/providers/implementations/ciphers/ciphercommon_block.c index ee54f481..ac792d68 100644 --- a/providers/implementations/ciphers/ciphercommon_block.c +++ b/providers/implementations/ciphers/ciphercommon_block.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/ciphercommon_ccm.c b/providers/implementations/ciphers/ciphercommon_ccm.c index f1f143ff..80c2230d 100644 --- a/providers/implementations/ciphers/ciphercommon_ccm.c +++ b/providers/implementations/ciphers/ciphercommon_ccm.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/ciphercommon_gcm.c b/providers/implementations/ciphers/ciphercommon_gcm.c index a64462a5..c6d53de4 100644 --- a/providers/implementations/ciphers/ciphercommon_gcm.c +++ b/providers/implementations/ciphers/ciphercommon_gcm.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/ciphers/ciphercommon_gcm_hw.c b/providers/implementations/ciphers/ciphercommon_gcm_hw.c index e5998c4a..db50b8d7 100644 --- a/providers/implementations/ciphers/ciphercommon_gcm_hw.c +++ b/providers/implementations/ciphers/ciphercommon_gcm_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 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 diff --git a/providers/implementations/digests/md2_prov.c b/providers/implementations/digests/md2_prov.c index 525d4ecc..481dcf6f 100644 --- a/providers/implementations/digests/md2_prov.c +++ b/providers/implementations/digests/md2_prov.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/digests/md4_prov.c b/providers/implementations/digests/md4_prov.c index ba77758d..9668c68a 100644 --- a/providers/implementations/digests/md4_prov.c +++ b/providers/implementations/digests/md4_prov.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/digests/md5_prov.c b/providers/implementations/digests/md5_prov.c index 73071cdd..0090c4f9 100644 --- a/providers/implementations/digests/md5_prov.c +++ b/providers/implementations/digests/md5_prov.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/digests/md5_sha1_prov.c b/providers/implementations/digests/md5_sha1_prov.c index 4d87e2fe..07e4bf41 100644 --- a/providers/implementations/digests/md5_sha1_prov.c +++ b/providers/implementations/digests/md5_sha1_prov.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/digests/mdc2_prov.c b/providers/implementations/digests/mdc2_prov.c index c3e19af9..a17ad462 100644 --- a/providers/implementations/digests/mdc2_prov.c +++ b/providers/implementations/digests/mdc2_prov.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/digests/ripemd_prov.c b/providers/implementations/digests/ripemd_prov.c index 697d8951..70be9a9e 100644 --- a/providers/implementations/digests/ripemd_prov.c +++ b/providers/implementations/digests/ripemd_prov.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/digests/sha2_prov.c b/providers/implementations/digests/sha2_prov.c index 1602f5fd..91be5087 100644 --- a/providers/implementations/digests/sha2_prov.c +++ b/providers/implementations/digests/sha2_prov.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/digests/sha3_prov.c b/providers/implementations/digests/sha3_prov.c index e6b9ba7a..848963c4 100644 --- a/providers/implementations/digests/sha3_prov.c +++ b/providers/implementations/digests/sha3_prov.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/digests/wp_prov.c b/providers/implementations/digests/wp_prov.c index 9c38c685..d0e2d20b 100644 --- a/providers/implementations/digests/wp_prov.c +++ b/providers/implementations/digests/wp_prov.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/exchange/dh_exch.c b/providers/implementations/exchange/dh_exch.c index 5e71ef4f..3830e0e0 100644 --- a/providers/implementations/exchange/dh_exch.c +++ b/providers/implementations/exchange/dh_exch.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/kdfs/hkdf.c b/providers/implementations/kdfs/hkdf.c index a8f4bf95..bbf622c3 100644 --- a/providers/implementations/kdfs/hkdf.c +++ b/providers/implementations/kdfs/hkdf.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/providers/implementations/kdfs/krb5kdf.c b/providers/implementations/kdfs/krb5kdf.c index ed111708..59711eef 100644 --- a/providers/implementations/kdfs/krb5kdf.c +++ b/providers/implementations/kdfs/krb5kdf.c @@ -1,5 +1,5 @@ /* - * Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2018-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/providers/implementations/kdfs/pbkdf2.c b/providers/implementations/kdfs/pbkdf2.c index d6fe07e0..0f081cc1 100644 --- a/providers/implementations/kdfs/pbkdf2.c +++ b/providers/implementations/kdfs/pbkdf2.c @@ -1,5 +1,5 @@ /* - * Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2018-2020 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 diff --git a/providers/implementations/kdfs/scrypt.c b/providers/implementations/kdfs/scrypt.c index ea859b91..a0a5af15 100644 --- a/providers/implementations/kdfs/scrypt.c +++ b/providers/implementations/kdfs/scrypt.c @@ -1,5 +1,5 @@ /* - * Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2020 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 diff --git a/providers/implementations/keymgmt/build.info b/providers/implementations/keymgmt/build.info index 92cac52e..73597c7c 100644 --- a/providers/implementations/keymgmt/build.info +++ b/providers/implementations/keymgmt/build.info @@ -15,8 +15,20 @@ ENDIF IF[{- !$disabled{ec} -}] SOURCE[$EC_GOAL]=ec_kmgmt.c ENDIF + +IF[{- !$disabled{asm} -}] + $ECDEF_s390x=S390X_EC_ASM + + # Now that we have defined all the arch specific variables, use the + # appropriate one, and define the appropriate macros + IF[$ECASM_{- $target{asm_arch} -}] + $ECDEF=$ECDEF_{- $target{asm_arch} -} + ENDIF +ENDIF + IF[{- !$disabled{ec} -}] SOURCE[$ECX_GOAL]=ecx_kmgmt.c + DEFINE[$ECX_GOAL]=$ECDEF ENDIF SOURCE[../../libfips.a]=rsa_kmgmt.c diff --git a/providers/implementations/keymgmt/dh_kmgmt.c b/providers/implementations/keymgmt/dh_kmgmt.c index 6514d8f0..f09654c0 100644 --- a/providers/implementations/keymgmt/dh_kmgmt.c +++ b/providers/implementations/keymgmt/dh_kmgmt.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 @@ -13,19 +13,27 @@ */ #include "internal/deprecated.h" +#include /* strcmp */ #include #include #include -#include -#include +#include #include "prov/implementations.h" #include "prov/providercommon.h" #include "prov/provider_ctx.h" #include "crypto/dh.h" -#include "openssl/param_build.h" +#include "internal/sizes.h" +#include "internal/nelem.h" +#include "internal/param_build_set.h" static OSSL_OP_keymgmt_new_fn dh_newdata; static OSSL_OP_keymgmt_free_fn dh_freedata; +static OSSL_OP_keymgmt_gen_init_fn dh_gen_init; +static OSSL_OP_keymgmt_gen_set_template_fn dh_gen_set_template; +static OSSL_OP_keymgmt_gen_set_params_fn dh_gen_set_params; +static OSSL_OP_keymgmt_gen_settable_params_fn dh_gen_settable_params; +static OSSL_OP_keymgmt_gen_fn dh_gen; +static OSSL_OP_keymgmt_gen_cleanup_fn dh_gen_cleanup; static OSSL_OP_keymgmt_get_params_fn dh_get_params; static OSSL_OP_keymgmt_gettable_params_fn dh_gettable_params; static OSSL_OP_keymgmt_has_fn dh_has; @@ -36,42 +44,82 @@ static OSSL_OP_keymgmt_import_types_fn dh_import_types; static OSSL_OP_keymgmt_export_fn dh_export; static OSSL_OP_keymgmt_export_types_fn dh_export_types; -#define DH_POSSIBLE_SELECTIONS \ +#define DH_POSSIBLE_SELECTIONS \ (OSSL_KEYMGMT_SELECT_KEYPAIR | OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS) -static int domparams_to_params(DH *dh, OSSL_PARAM_BLD *tmpl) +struct dh_gen_ctx { + OPENSSL_CTX *libctx; + + FFC_PARAMS *ffc_params; + int selection; + /* All these parameters are used for parameter generation only */ + /* If there is a group name then the remaining parameters are not needed */ + int group_nid; + size_t pbits; + size_t qbits; + EVP_MD *md; + unsigned char *seed; /* optional FIPS186-4 param for testing */ + size_t seedlen; + int gindex; /* optional FIPS186-4 generator index (ignored if -1) */ + int gen_type; /* see dhtype2id */ + int generator; /* Used by DH_PARAMGEN_TYPE_GENERATOR in non fips mode only */ + int pcounter; + int hindex; + int priv_len; + + OSSL_CALLBACK *cb; + void *cbarg; +}; + +typedef struct dh_name2id_st{ + const char *name; + int id; +} DH_GENTYPE_NAME2ID; + +static const DH_GENTYPE_NAME2ID dhtype2id[]= { - const BIGNUM *dh_p = NULL, *dh_g = NULL; + { "default", DH_PARAMGEN_TYPE_FIPS_186_4 }, + { "fips186_4", DH_PARAMGEN_TYPE_FIPS_186_4 }, + { "fips186_2", DH_PARAMGEN_TYPE_FIPS_186_2 }, + { "group", DH_PARAMGEN_TYPE_GROUP }, + { "generator", DH_PARAMGEN_TYPE_GENERATOR } +}; - if (dh == NULL) - return 0; +const char *dh_gen_type_id2name(int id) +{ + size_t i; - DH_get0_pqg(dh, &dh_p, NULL, &dh_g); - if (dh_p != NULL - && !OSSL_PARAM_BLD_push_BN(tmpl, OSSL_PKEY_PARAM_FFC_P, dh_p)) - return 0; - if (dh_g != NULL - && !OSSL_PARAM_BLD_push_BN(tmpl, OSSL_PKEY_PARAM_FFC_G, dh_g)) - return 0; - - return 1; + for (i = 0; i < OSSL_NELEM(dhtype2id); ++i) { + if (dhtype2id[i].id == id) + return dhtype2id[i].name; + } + return NULL; } -static int key_to_params(DH *dh, OSSL_PARAM_BLD *tmpl) +static int dh_gen_type_name2id(const char *name) { - const BIGNUM *priv_key = NULL, *pub_key = NULL; + size_t i; + + for (i = 0; i < OSSL_NELEM(dhtype2id); ++i) { + if (strcmp(dhtype2id[i].name, name) == 0) + return dhtype2id[i].id; + } + return -1; +} + +static int dh_key_todata(DH *dh, OSSL_PARAM_BLD *bld, OSSL_PARAM params[]) +{ + const BIGNUM *priv = NULL, *pub = NULL; if (dh == NULL) return 0; - if (!domparams_to_params(dh, tmpl)) - return 0; - DH_get0_key(dh, &pub_key, &priv_key); - if (priv_key != NULL - && !OSSL_PARAM_BLD_push_BN(tmpl, OSSL_PKEY_PARAM_PRIV_KEY, priv_key)) + DH_get0_key(dh, &pub, &priv); + if (priv != NULL + && !ossl_param_build_set_bn(bld, params, OSSL_PKEY_PARAM_PRIV_KEY, priv)) return 0; - if (pub_key != NULL - && !OSSL_PARAM_BLD_push_BN(tmpl, OSSL_PKEY_PARAM_PUB_KEY, pub_key)) + if (pub != NULL + && !ossl_param_build_set_bn(bld, params, OSSL_PKEY_PARAM_PUB_KEY, pub)) return 0; return 1; @@ -79,7 +127,7 @@ static int key_to_params(DH *dh, OSSL_PARAM_BLD *tmpl) static void *dh_newdata(void *provctx) { - return dh_new_with_ctx(PROV_LIBRARY_CONTEXT_OF(provctx)); + return dh_new_with_libctx(PROV_LIBRARY_CONTEXT_OF(provctx)); } static void dh_freedata(void *keydata) @@ -128,16 +176,17 @@ static int dh_match(const void *keydata1, const void *keydata2, int selection) static int dh_import(void *keydata, int selection, const OSSL_PARAM params[]) { DH *dh = keydata; - int ok = 0; + int ok = 1; if (dh == NULL) return 0; - if ((selection & DH_POSSIBLE_SELECTIONS) != 0) - ok = 1; + if ((selection & DH_POSSIBLE_SELECTIONS) == 0) + return 0; if ((selection & OSSL_KEYMGMT_SELECT_ALL_PARAMETERS) != 0) - ok = ok && ffc_fromdata(dh_get0_params(dh), params); + ok = ok && dh_ffc_params_fromdata(dh, params); + if ((selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0) ok = ok && dh_key_fromdata(dh, params); @@ -148,7 +197,7 @@ static int dh_export(void *keydata, int selection, OSSL_CALLBACK *param_cb, void *cbarg) { DH *dh = keydata; - OSSL_PARAM_BLD *tmpl; + OSSL_PARAM_BLD *tmpl = NULL; OSSL_PARAM *params = NULL; int ok = 1; @@ -160,30 +209,37 @@ static int dh_export(void *keydata, int selection, OSSL_CALLBACK *param_cb, return 0; if ((selection & OSSL_KEYMGMT_SELECT_ALL_PARAMETERS) != 0) - ok = ok && domparams_to_params(dh, tmpl); + ok = ok && ffc_params_todata(dh_get0_params(dh), tmpl, NULL); if ((selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0) - ok = ok && key_to_params(dh, tmpl); + ok = ok && dh_key_todata(dh, tmpl, NULL); if (!ok || (params = OSSL_PARAM_BLD_to_param(tmpl)) == NULL) { - OSSL_PARAM_BLD_free(tmpl); - return 0; + ok = 0; + goto err; } - OSSL_PARAM_BLD_free(tmpl); - ok = param_cb(params, cbarg); OSSL_PARAM_BLD_free_params(params); +err: + OSSL_PARAM_BLD_free(tmpl); return ok; } /* IMEXPORT = IMPORT + EXPORT */ -# define DH_IMEXPORTABLE_PARAMETERS \ - OSSL_PARAM_BN(OSSL_PKEY_PARAM_FFC_P, NULL, 0), \ - OSSL_PARAM_BN(OSSL_PKEY_PARAM_FFC_G, NULL, 0) -# define DH_IMEXPORTABLE_PUBLIC_KEY \ +# define DH_IMEXPORTABLE_PARAMETERS \ + OSSL_PARAM_BN(OSSL_PKEY_PARAM_FFC_P, NULL, 0), \ + OSSL_PARAM_BN(OSSL_PKEY_PARAM_FFC_Q, NULL, 0), \ + OSSL_PARAM_BN(OSSL_PKEY_PARAM_FFC_G, NULL, 0), \ + OSSL_PARAM_BN(OSSL_PKEY_PARAM_FFC_COFACTOR, NULL, 0), \ + OSSL_PARAM_int(OSSL_PKEY_PARAM_FFC_GINDEX, NULL), \ + OSSL_PARAM_int(OSSL_PKEY_PARAM_FFC_PCOUNTER, NULL), \ + OSSL_PARAM_int(OSSL_PKEY_PARAM_FFC_H, NULL), \ + OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_FFC_GROUP, NULL, 0), \ + OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_FFC_SEED, NULL, 0) +# define DH_IMEXPORTABLE_PUBLIC_KEY \ OSSL_PARAM_BN(OSSL_PKEY_PARAM_PUB_KEY, NULL, 0) -# define DH_IMEXPORTABLE_PRIVATE_KEY \ +# define DH_IMEXPORTABLE_PRIVATE_KEY \ OSSL_PARAM_BN(OSSL_PKEY_PARAM_PRIV_KEY, NULL, 0) static const OSSL_PARAM dh_all_types[] = { DH_IMEXPORTABLE_PARAMETERS, @@ -242,13 +298,17 @@ static ossl_inline int dh_get_params(void *key, OSSL_PARAM params[]) if ((p = OSSL_PARAM_locate(params, OSSL_PKEY_PARAM_MAX_SIZE)) != NULL && !OSSL_PARAM_set_int(p, DH_size(dh))) return 0; - return 1; + return ffc_params_todata(dh_get0_params(dh), NULL, params) + && dh_key_todata(dh, NULL, params); } static const OSSL_PARAM dh_params[] = { OSSL_PARAM_int(OSSL_PKEY_PARAM_BITS, NULL), OSSL_PARAM_int(OSSL_PKEY_PARAM_SECURITY_BITS, NULL), OSSL_PARAM_int(OSSL_PKEY_PARAM_MAX_SIZE, NULL), + DH_IMEXPORTABLE_PARAMETERS, + DH_IMEXPORTABLE_PUBLIC_KEY, + DH_IMEXPORTABLE_PRIVATE_KEY, OSSL_PARAM_END }; @@ -297,8 +357,263 @@ static int dh_validate(void *keydata, int selection) return ok; } +static void *dh_gen_init(void *provctx, int selection) +{ + OPENSSL_CTX *libctx = PROV_LIBRARY_CONTEXT_OF(provctx); + struct dh_gen_ctx *gctx = NULL; + + if ((selection & (OSSL_KEYMGMT_SELECT_KEYPAIR + | OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS)) == 0) + return NULL; + + if ((gctx = OPENSSL_zalloc(sizeof(*gctx))) != NULL) { + gctx->selection = selection; + gctx->libctx = libctx; + gctx->pbits = 2048; + gctx->qbits = 224; + gctx->md = NULL; + gctx->gen_type = DH_PARAMGEN_TYPE_FIPS_186_4; + gctx->gindex = -1; + gctx->hindex = 0; + gctx->pcounter = -1; + gctx->generator = DH_GENERATOR_2; + } + return gctx; +} + +static int dh_gen_set_template(void *genctx, void *templ) +{ + struct dh_gen_ctx *gctx = genctx; + DH *dh = templ; + + if (gctx == NULL || dh == NULL) + return 0; + gctx->ffc_params = dh_get0_params(dh); + return 1; +} + +static int dh_set_gen_seed(struct dh_gen_ctx *gctx, unsigned char *seed, + size_t seedlen) +{ + OPENSSL_clear_free(gctx->seed, gctx->seedlen); + gctx->seed = NULL; + gctx->seedlen = 0; + if (seed != NULL && seedlen > 0) { + gctx->seed = OPENSSL_memdup(seed, seedlen); + if (gctx->seed == NULL) + return 0; + gctx->seedlen = seedlen; + } + return 1; +} + +static int dh_gen_set_params(void *genctx, const OSSL_PARAM params[]) +{ + struct dh_gen_ctx *gctx = genctx; + const OSSL_PARAM *p; + + if (gctx == NULL) + return 0; + + p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_TYPE); + if (p != NULL) { + if (p->data_type != OSSL_PARAM_UTF8_STRING + || ((gctx->gen_type = dh_gen_type_name2id(p->data)) == -1)) { + ERR_raise(ERR_LIB_PROV, ERR_R_PASSED_INVALID_ARGUMENT); + return 0; + } + } + p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_GROUP); + if (p != NULL) { + if (p->data_type != OSSL_PARAM_UTF8_STRING + || ((gctx->group_nid = ffc_named_group_to_uid(p->data)) == NID_undef)) { + ERR_raise(ERR_LIB_PROV, ERR_R_PASSED_INVALID_ARGUMENT); + return 0; + } + gctx->gen_type = DH_PARAMGEN_TYPE_GROUP; + } + p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_GENERATOR); + if (p != NULL && !OSSL_PARAM_get_int(p, &gctx->generator)) + return 0; + p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_GINDEX); + if (p != NULL && !OSSL_PARAM_get_int(p, &gctx->gindex)) + return 0; + p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_PCOUNTER); + if (p != NULL && !OSSL_PARAM_get_int(p, &gctx->pcounter)) + return 0; + p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_H); + if (p != NULL && !OSSL_PARAM_get_int(p, &gctx->hindex)) + return 0; + p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_SEED); + if (p != NULL + && (p->data_type != OSSL_PARAM_OCTET_STRING + || !dh_set_gen_seed(gctx, p->data, p->data_size))) + return 0; + + if ((p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_PBITS)) != NULL + && !OSSL_PARAM_get_size_t(p, &gctx->pbits)) + return 0; + if ((p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_QBITS)) != NULL + && !OSSL_PARAM_get_size_t(p, &gctx->qbits)) + return 0; + p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_DIGEST); + if (p != NULL) { + const OSSL_PARAM *p1; + char mdprops[OSSL_MAX_PROPQUERY_SIZE] = { '\0' }; + char *str = mdprops; + + if (p->data_type != OSSL_PARAM_UTF8_STRING) + return 0; + p1 = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_DIGEST_PROPS); + if (p1 != NULL + && !OSSL_PARAM_get_utf8_string(p1, &str, sizeof(mdprops))) + return 0; + EVP_MD_free(gctx->md); + gctx->md = EVP_MD_fetch(gctx->libctx, p->data, mdprops); + if (gctx->md == NULL) + return 0; + } + p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_DH_PRIV_LEN); + if (p != NULL && !OSSL_PARAM_get_int(p, &gctx->priv_len)) + return 0; + return 1; +} + +static const OSSL_PARAM *dh_gen_settable_params(void *provctx) +{ + static OSSL_PARAM settable[] = { + OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_FFC_GROUP, NULL, 0), + OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_FFC_TYPE, NULL, 0), + OSSL_PARAM_size_t(OSSL_PKEY_PARAM_FFC_PBITS, NULL), + OSSL_PARAM_size_t(OSSL_PKEY_PARAM_FFC_QBITS, NULL), + OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_FFC_DIGEST, NULL, 0), + OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_FFC_DIGEST_PROPS, NULL, 0), + OSSL_PARAM_int(OSSL_PKEY_PARAM_FFC_GINDEX, NULL), + OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_FFC_SEED, NULL, 0), + OSSL_PARAM_int(OSSL_PKEY_PARAM_FFC_GENERATOR, NULL), + OSSL_PARAM_int(OSSL_PKEY_PARAM_FFC_PCOUNTER, NULL), + OSSL_PARAM_int(OSSL_PKEY_PARAM_FFC_H, NULL), + OSSL_PARAM_int(OSSL_PKEY_PARAM_DH_PRIV_LEN, NULL), + OSSL_PARAM_END + }; + return settable; +} + +static int dh_gencb(int p, int n, BN_GENCB *cb) +{ + struct dh_gen_ctx *gctx = BN_GENCB_get_arg(cb); + OSSL_PARAM params[] = { OSSL_PARAM_END, OSSL_PARAM_END, OSSL_PARAM_END }; + + params[0] = OSSL_PARAM_construct_int(OSSL_GEN_PARAM_POTENTIAL, &p); + params[1] = OSSL_PARAM_construct_int(OSSL_GEN_PARAM_ITERATION, &n); + + return gctx->cb(params, gctx->cbarg); +} + +static void *dh_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg) +{ + int ret = 0; + struct dh_gen_ctx *gctx = genctx; + DH *dh = NULL; + BN_GENCB *gencb = NULL; + FFC_PARAMS *ffc; + + if (gctx == NULL) + return NULL; + + /* For parameter generation - If there is a group name just create it */ + if (gctx->gen_type == DH_PARAMGEN_TYPE_GROUP) { + /* Select a named group if there is not one already */ + if (gctx->group_nid == NID_undef) + gctx->group_nid = dh_get_named_group_uid_from_size(gctx->pbits); + if (gctx->group_nid == NID_undef) + return NULL; + dh = dh_new_by_nid_with_libctx(gctx->libctx, gctx->group_nid); + if (dh == NULL) + return NULL; + ffc = dh_get0_params(dh); + } else { + dh = dh_new_with_libctx(gctx->libctx); + if (dh == NULL) + return NULL; + ffc = dh_get0_params(dh); + + /* Copy the template value if one was passed */ + if (gctx->ffc_params != NULL + && !ffc_params_copy(ffc, gctx->ffc_params)) + goto end; + + if (!ffc_params_set_seed(ffc, gctx->seed, gctx->seedlen)) + goto end; + if (gctx->gindex != -1) { + ffc_params_set_gindex(ffc, gctx->gindex); + if (gctx->pcounter != -1) + ffc_params_set_pcounter(ffc, gctx->pcounter); + } else if (gctx->hindex != 0) { + ffc_params_set_h(ffc, gctx->hindex); + } + gctx->cb = osslcb; + gctx->cbarg = cbarg; + gencb = BN_GENCB_new(); + if (gencb != NULL) + BN_GENCB_set(gencb, dh_gencb, genctx); + + if ((gctx->selection & OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS) != 0) { + /* + * NOTE: The old safe prime generator code is not used in fips mode, + * (i.e internally it ignores the generator and chooses a named + * group based on pbits. + */ + if (gctx->gen_type == DH_PARAMGEN_TYPE_GENERATOR) + ret = DH_generate_parameters_ex(dh, gctx->pbits, + gctx->generator, gencb); + else + ret = dh_generate_ffc_parameters(dh, gctx->gen_type, gctx->pbits, + gctx->qbits, gctx->md, gencb); + if (ret <= 0) + goto end; + } + } + + if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0) { + if (ffc->p == NULL || ffc->g == NULL) + goto end; + if (gctx->priv_len > 0) + DH_set_length(dh, (long)gctx->priv_len); + if (DH_generate_key(dh) <= 0) + goto end; + } + ret = 1; +end: + if (ret <= 0) { + DH_free(dh); + dh = NULL; + } + BN_GENCB_free(gencb); + return dh; +} + +static void dh_gen_cleanup(void *genctx) +{ + struct dh_gen_ctx *gctx = genctx; + + if (gctx == NULL) + return; + + OPENSSL_clear_free(gctx->seed, gctx->seedlen); + EVP_MD_free(gctx->md); + OPENSSL_free(gctx); +} + const OSSL_DISPATCH dh_keymgmt_functions[] = { { OSSL_FUNC_KEYMGMT_NEW, (void (*)(void))dh_newdata }, + { OSSL_FUNC_KEYMGMT_GEN_INIT, (void (*)(void))dh_gen_init }, + { OSSL_FUNC_KEYMGMT_GEN_SET_TEMPLATE, (void (*)(void))dh_gen_set_template }, + { OSSL_FUNC_KEYMGMT_GEN_SET_PARAMS, (void (*)(void))dh_gen_set_params }, + { OSSL_FUNC_KEYMGMT_GEN_SETTABLE_PARAMS, + (void (*)(void))dh_gen_settable_params }, + { OSSL_FUNC_KEYMGMT_GEN, (void (*)(void))dh_gen }, + { OSSL_FUNC_KEYMGMT_GEN_CLEANUP, (void (*)(void))dh_gen_cleanup }, { OSSL_FUNC_KEYMGMT_FREE, (void (*)(void))dh_freedata }, { OSSL_FUNC_KEYMGMT_GET_PARAMS, (void (*) (void))dh_get_params }, { OSSL_FUNC_KEYMGMT_GETTABLE_PARAMS, (void (*) (void))dh_gettable_params }, diff --git a/providers/implementations/keymgmt/dsa_kmgmt.c b/providers/implementations/keymgmt/dsa_kmgmt.c index 78edcaa9..12610352 100644 --- a/providers/implementations/keymgmt/dsa_kmgmt.c +++ b/providers/implementations/keymgmt/dsa_kmgmt.c @@ -13,18 +13,27 @@ */ #include "internal/deprecated.h" +#include "e_os.h" /* strcasecmp */ #include #include #include -#include -#include "prov/implementations.h" +#include #include "prov/providercommon.h" +#include "prov/implementations.h" #include "prov/provider_ctx.h" #include "crypto/dsa.h" -#include "openssl/param_build.h" +#include "internal/sizes.h" +#include "internal/nelem.h" +#include "internal/param_build_set.h" static OSSL_OP_keymgmt_new_fn dsa_newdata; static OSSL_OP_keymgmt_free_fn dsa_freedata; +static OSSL_OP_keymgmt_gen_init_fn dsa_gen_init; +static OSSL_OP_keymgmt_gen_set_template_fn dsa_gen_set_template; +static OSSL_OP_keymgmt_gen_set_params_fn dsa_gen_set_params; +static OSSL_OP_keymgmt_gen_settable_params_fn dsa_gen_settable_params; +static OSSL_OP_keymgmt_gen_fn dsa_gen; +static OSSL_OP_keymgmt_gen_cleanup_fn dsa_gen_cleanup; static OSSL_OP_keymgmt_get_params_fn dsa_get_params; static OSSL_OP_keymgmt_gettable_params_fn dsa_gettable_params; static OSSL_OP_keymgmt_has_fn dsa_has; @@ -36,45 +45,63 @@ static OSSL_OP_keymgmt_export_fn dsa_export; static OSSL_OP_keymgmt_export_types_fn dsa_export_types; #define DSA_DEFAULT_MD "SHA256" -#define DSA_POSSIBLE_SELECTIONS \ +#define DSA_POSSIBLE_SELECTIONS \ (OSSL_KEYMGMT_SELECT_KEYPAIR | OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS) -static int domparams_to_params(DSA *dsa, OSSL_PARAM_BLD *tmpl) +struct dsa_gen_ctx { + OPENSSL_CTX *libctx; + + FFC_PARAMS *ffc_params; + int selection; + /* All these parameters are used for parameter generation only */ + size_t pbits; + size_t qbits; + EVP_MD *md; + unsigned char *seed; /* optional FIPS186-4 param for testing */ + size_t seedlen; + int gindex; /* optional FIPS186-4 generator index (ignored if -1) */ + int gen_type; /* DSA_PARAMGEN_TYPE_FIPS_186_2 or DSA_PARAMGEN_TYPE_FIPS_186_4 */ + int pcounter; + int hindex; + OSSL_CALLBACK *cb; + void *cbarg; +}; +typedef struct dh_name2id_st{ + const char *name; + int id; +} DSA_GENTYPE_NAME2ID; + +static const DSA_GENTYPE_NAME2ID dsatype2id[]= { - const BIGNUM *dsa_p = NULL, *dsa_q = NULL, *dsa_g = NULL; + { "default", DSA_PARAMGEN_TYPE_FIPS_186_4 }, + { "fips186_4", DSA_PARAMGEN_TYPE_FIPS_186_4 }, + { "fips186_2", DSA_PARAMGEN_TYPE_FIPS_186_2 }, +}; - if (dsa == NULL) - return 0; +static int dsa_gen_type_name2id(const char *name) +{ + size_t i; - DSA_get0_pqg(dsa, &dsa_p, &dsa_q, &dsa_g); - if (dsa_p != NULL - && !OSSL_PARAM_BLD_push_BN(tmpl, OSSL_PKEY_PARAM_FFC_P, dsa_p)) - return 0; - if (dsa_q != NULL - && !OSSL_PARAM_BLD_push_BN(tmpl, OSSL_PKEY_PARAM_FFC_Q, dsa_q)) - return 0; - if (dsa_g != NULL - && !OSSL_PARAM_BLD_push_BN(tmpl, OSSL_PKEY_PARAM_FFC_G, dsa_g)) - return 0; - - return 1; + for (i = 0; i < OSSL_NELEM(dsatype2id); ++i) { + if (strcasecmp(dsatype2id[i].name, name) == 0) + return dsatype2id[i].id; + } + return -1; } -static int key_to_params(DSA *dsa, OSSL_PARAM_BLD *tmpl) +static int dsa_key_todata(DSA *dsa, OSSL_PARAM_BLD *bld, OSSL_PARAM params[]) { - const BIGNUM *priv_key = NULL, *pub_key = NULL; + const BIGNUM *priv = NULL, *pub = NULL; if (dsa == NULL) return 0; - if (!domparams_to_params(dsa, tmpl)) - return 0; - DSA_get0_key(dsa, &pub_key, &priv_key); - if (priv_key != NULL - && !OSSL_PARAM_BLD_push_BN(tmpl, OSSL_PKEY_PARAM_PRIV_KEY, priv_key)) + DSA_get0_key(dsa, &pub, &priv); + if (priv != NULL + && !ossl_param_build_set_bn(bld, params, OSSL_PKEY_PARAM_PRIV_KEY, priv)) return 0; - if (pub_key != NULL - && !OSSL_PARAM_BLD_push_BN(tmpl, OSSL_PKEY_PARAM_PUB_KEY, pub_key)) + if (pub != NULL + && !ossl_param_build_set_bn(bld, params, OSSL_PKEY_PARAM_PUB_KEY, pub)) return 0; return 1; @@ -133,16 +160,16 @@ static int dsa_match(const void *keydata1, const void *keydata2, int selection) static int dsa_import(void *keydata, int selection, const OSSL_PARAM params[]) { DSA *dsa = keydata; - int ok = 0; + int ok = 1; if (dsa == NULL) return 0; - if ((selection & DSA_POSSIBLE_SELECTIONS) != 0) - ok = 1; + if ((selection & DSA_POSSIBLE_SELECTIONS) == 0) + return 0; if ((selection & OSSL_KEYMGMT_SELECT_ALL_PARAMETERS) != 0) - ok = ok && ffc_fromdata(dsa_get0_params(dsa), params); + ok = ok && dsa_ffc_params_fromdata(dsa, params); if ((selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0) ok = ok && dsa_key_fromdata(dsa, params); @@ -158,12 +185,12 @@ static int dsa_export(void *keydata, int selection, OSSL_CALLBACK *param_cb, int ok = 1; if (dsa == NULL) - goto err;; + goto err; if ((selection & OSSL_KEYMGMT_SELECT_ALL_PARAMETERS) != 0) - ok = ok && domparams_to_params(dsa, tmpl); + ok = ok && ffc_params_todata(dsa_get0_params(dsa), tmpl, NULL); if ((selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0) - ok = ok && key_to_params(dsa, tmpl); + ok = ok && dsa_key_todata(dsa, tmpl, NULL); if (!ok || (params = OSSL_PARAM_BLD_to_param(tmpl)) == NULL) @@ -178,10 +205,16 @@ err: /* IMEXPORT = IMPORT + EXPORT */ -# define DSA_IMEXPORTABLE_PARAMETERS \ - OSSL_PARAM_BN(OSSL_PKEY_PARAM_FFC_P, NULL, 0), \ - OSSL_PARAM_BN(OSSL_PKEY_PARAM_FFC_Q, NULL, 0), \ - OSSL_PARAM_BN(OSSL_PKEY_PARAM_FFC_G, NULL, 0) +# define DSA_IMEXPORTABLE_PARAMETERS \ + OSSL_PARAM_BN(OSSL_PKEY_PARAM_FFC_P, NULL, 0), \ + OSSL_PARAM_BN(OSSL_PKEY_PARAM_FFC_Q, NULL, 0), \ + OSSL_PARAM_BN(OSSL_PKEY_PARAM_FFC_G, NULL, 0), \ + OSSL_PARAM_BN(OSSL_PKEY_PARAM_FFC_COFACTOR, NULL, 0), \ + OSSL_PARAM_int(OSSL_PKEY_PARAM_FFC_GINDEX, NULL), \ + OSSL_PARAM_int(OSSL_PKEY_PARAM_FFC_PCOUNTER, NULL), \ + OSSL_PARAM_int(OSSL_PKEY_PARAM_FFC_H, NULL), \ + OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_FFC_GROUP, NULL, 0), \ + OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_FFC_SEED, NULL, 0) # define DSA_IMEXPORTABLE_PUBLIC_KEY \ OSSL_PARAM_BN(OSSL_PKEY_PARAM_PUB_KEY, NULL, 0) # define DSA_IMEXPORTABLE_PRIVATE_KEY \ @@ -246,7 +279,8 @@ static ossl_inline int dsa_get_params(void *key, OSSL_PARAM params[]) if ((p = OSSL_PARAM_locate(params, OSSL_PKEY_PARAM_DEFAULT_DIGEST)) != NULL && !OSSL_PARAM_set_utf8_string(p, DSA_DEFAULT_MD)) return 0; - return 1; + return ffc_params_todata(dsa_get0_params(dsa), NULL, params) + && dsa_key_todata(dsa, NULL, params); } static const OSSL_PARAM dsa_params[] = { @@ -254,6 +288,9 @@ static const OSSL_PARAM dsa_params[] = { OSSL_PARAM_int(OSSL_PKEY_PARAM_SECURITY_BITS, NULL), OSSL_PARAM_int(OSSL_PKEY_PARAM_MAX_SIZE, NULL), OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_DEFAULT_DIGEST, NULL, 0), + DSA_IMEXPORTABLE_PARAMETERS, + DSA_IMEXPORTABLE_PUBLIC_KEY, + DSA_IMEXPORTABLE_PRIVATE_KEY, OSSL_PARAM_END }; @@ -311,8 +348,224 @@ static int dsa_validate(void *keydata, int selection) return ok; } +static void *dsa_gen_init(void *provctx, int selection) +{ + OPENSSL_CTX *libctx = PROV_LIBRARY_CONTEXT_OF(provctx); + struct dsa_gen_ctx *gctx = NULL; + + if ((selection & DSA_POSSIBLE_SELECTIONS) == 0) + return NULL; + + if ((gctx = OPENSSL_zalloc(sizeof(*gctx))) != NULL) { + gctx->selection = selection; + gctx->libctx = libctx; + gctx->pbits = 2048; + gctx->qbits = 224; + gctx->md = NULL; + gctx->gen_type = DSA_PARAMGEN_TYPE_FIPS_186_4; + gctx->gindex = -1; + gctx->pcounter = -1; + gctx->hindex = 0; + } + return gctx; +} + +static int dsa_gen_set_template(void *genctx, void *templ) +{ + struct dsa_gen_ctx *gctx = genctx; + DSA *dsa = templ; + + if (gctx == NULL || dsa == NULL) + return 0; + gctx->ffc_params = dsa_get0_params(dsa); + return 1; +} + +static int dsa_set_gen_seed(struct dsa_gen_ctx *gctx, unsigned char *seed, + size_t seedlen) +{ + OPENSSL_clear_free(gctx->seed, gctx->seedlen); + gctx->seed = NULL; + gctx->seedlen = 0; + if (seed != NULL && seedlen > 0) { + gctx->seed = OPENSSL_memdup(seed, seedlen); + if (gctx->seed == NULL) + return 0; + gctx->seedlen = seedlen; + } + return 1; +} + +static int dsa_gen_set_params(void *genctx, const OSSL_PARAM params[]) +{ + struct dsa_gen_ctx *gctx = genctx; + const OSSL_PARAM *p; + + if (gctx == NULL) + return 0; + + p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_TYPE); + if (p != NULL) { + if (p->data_type != OSSL_PARAM_UTF8_STRING + || ((gctx->gen_type = dsa_gen_type_name2id(p->data)) == -1)) { + ERR_raise(ERR_LIB_PROV, ERR_R_PASSED_INVALID_ARGUMENT); + return 0; + } + } + p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_GINDEX); + if (p != NULL + && !OSSL_PARAM_get_int(p, &gctx->gindex)) + return 0; + p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_PCOUNTER); + if (p != NULL + && !OSSL_PARAM_get_int(p, &gctx->pcounter)) + return 0; + p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_H); + if (p != NULL + && !OSSL_PARAM_get_int(p, &gctx->hindex)) + return 0; + p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_SEED); + if (p != NULL + && (p->data_type != OSSL_PARAM_OCTET_STRING + || !dsa_set_gen_seed(gctx, p->data, p->data_size))) + return 0; + if ((p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_PBITS)) != NULL + && !OSSL_PARAM_get_size_t(p, &gctx->pbits)) + return 0; + if ((p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_QBITS)) != NULL + && !OSSL_PARAM_get_size_t(p, &gctx->qbits)) + return 0; + p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_DIGEST); + if (p != NULL) { + const OSSL_PARAM *p1; + char mdprops[OSSL_MAX_PROPQUERY_SIZE] = { '\0' }; + char *str = mdprops; + + if (p->data_type != OSSL_PARAM_UTF8_STRING) + return 0; + p1 = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_FFC_DIGEST_PROPS); + if (p1 != NULL) { + if (!OSSL_PARAM_get_utf8_string(p1, &str, sizeof(mdprops))) + return 0; + } + EVP_MD_free(gctx->md); + gctx->md = EVP_MD_fetch(gctx->libctx, p->data, mdprops); + if (gctx->md == NULL) + return 0; + } + return 1; +} + +static const OSSL_PARAM *dsa_gen_settable_params(void *provctx) +{ + static OSSL_PARAM settable[] = { + OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_FFC_TYPE, NULL, 0), + OSSL_PARAM_size_t(OSSL_PKEY_PARAM_FFC_PBITS, NULL), + OSSL_PARAM_size_t(OSSL_PKEY_PARAM_FFC_QBITS, NULL), + OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_FFC_DIGEST, NULL, 0), + OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_FFC_DIGEST_PROPS, NULL, 0), + OSSL_PARAM_int(OSSL_PKEY_PARAM_FFC_GINDEX, NULL), + OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_FFC_SEED, NULL, 0), + OSSL_PARAM_int(OSSL_PKEY_PARAM_FFC_PCOUNTER, NULL), + OSSL_PARAM_int(OSSL_PKEY_PARAM_FFC_H, NULL), + OSSL_PARAM_END + }; + return settable; +} + +static int dsa_gencb(int p, int n, BN_GENCB *cb) +{ + struct dsa_gen_ctx *gctx = BN_GENCB_get_arg(cb); + OSSL_PARAM params[] = { OSSL_PARAM_END, OSSL_PARAM_END, OSSL_PARAM_END }; + + params[0] = OSSL_PARAM_construct_int(OSSL_GEN_PARAM_POTENTIAL, &p); + params[1] = OSSL_PARAM_construct_int(OSSL_GEN_PARAM_ITERATION, &n); + + return gctx->cb(params, gctx->cbarg); +} + +static void *dsa_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg) +{ + struct dsa_gen_ctx *gctx = genctx; + DSA *dsa = NULL; + BN_GENCB *gencb = NULL; + int ret = 0; + FFC_PARAMS *ffc; + + if (gctx == NULL) + return NULL; + dsa = dsa_new_with_ctx(gctx->libctx); + if (dsa == NULL) + return NULL; + + gctx->cb = osslcb; + gctx->cbarg = cbarg; + gencb = BN_GENCB_new(); + if (gencb != NULL) + BN_GENCB_set(gencb, dsa_gencb, genctx); + + ffc = dsa_get0_params(dsa); + /* Copy the template value if one was passed */ + if (gctx->ffc_params != NULL + && !ffc_params_copy(ffc, gctx->ffc_params)) + goto end; + + if (gctx->seed != NULL + && !ffc_params_set_seed(ffc, gctx->seed, gctx->seedlen)) + goto end; + if (gctx->gindex != -1) { + ffc_params_set_gindex(ffc, gctx->gindex); + if (gctx->pcounter != -1) + ffc_params_set_pcounter(ffc, gctx->pcounter); + } else if (gctx->hindex != 0) { + ffc_params_set_h(ffc, gctx->hindex); + } + if ((gctx->selection & OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS) != 0) { + + if (dsa_generate_ffc_parameters(dsa, gctx->gen_type, + gctx->pbits, gctx->qbits, gctx->md, + gencb) <= 0) + goto end; + } + if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0) { + if (ffc->p == NULL + || ffc->q == NULL + || ffc->g == NULL) + goto end; + if (DSA_generate_key(dsa) <= 0) + goto end; + } + ret = 1; +end: + if (ret <= 0) { + DSA_free(dsa); + dsa = NULL; + } + BN_GENCB_free(gencb); + return dsa; +} + +static void dsa_gen_cleanup(void *genctx) +{ + struct dsa_gen_ctx *gctx = genctx; + + if (gctx == NULL) + return; + + OPENSSL_clear_free(gctx->seed, gctx->seedlen); + EVP_MD_free(gctx->md); + OPENSSL_free(gctx); +} + const OSSL_DISPATCH dsa_keymgmt_functions[] = { { OSSL_FUNC_KEYMGMT_NEW, (void (*)(void))dsa_newdata }, + { OSSL_FUNC_KEYMGMT_GEN_INIT, (void (*)(void))dsa_gen_init }, + { OSSL_FUNC_KEYMGMT_GEN_SET_TEMPLATE, (void (*)(void))dsa_gen_set_template }, + { OSSL_FUNC_KEYMGMT_GEN_SET_PARAMS, (void (*)(void))dsa_gen_set_params }, + { OSSL_FUNC_KEYMGMT_GEN_SETTABLE_PARAMS, + (void (*)(void))dsa_gen_settable_params }, + { OSSL_FUNC_KEYMGMT_GEN, (void (*)(void))dsa_gen }, + { OSSL_FUNC_KEYMGMT_GEN_CLEANUP, (void (*)(void))dsa_gen_cleanup }, { OSSL_FUNC_KEYMGMT_FREE, (void (*)(void))dsa_freedata }, { OSSL_FUNC_KEYMGMT_GET_PARAMS, (void (*) (void))dsa_get_params }, { OSSL_FUNC_KEYMGMT_GETTABLE_PARAMS, (void (*) (void))dsa_gettable_params }, diff --git a/providers/implementations/keymgmt/ec_kmgmt.c b/providers/implementations/keymgmt/ec_kmgmt.c index 0e310ecb..9466b4fd 100644 --- a/providers/implementations/keymgmt/ec_kmgmt.c +++ b/providers/implementations/keymgmt/ec_kmgmt.c @@ -49,6 +49,7 @@ static OSSL_OP_keymgmt_export_fn ec_export; static OSSL_OP_keymgmt_export_types_fn ec_export_types; static OSSL_OP_keymgmt_query_operation_name_fn ec_query_operation_name; +#define EC_DEFAULT_MD "SHA256" #define EC_POSSIBLE_SELECTIONS \ (OSSL_KEYMGMT_SELECT_KEYPAIR | OSSL_KEYMGMT_SELECT_ALL_PARAMETERS) @@ -116,6 +117,7 @@ int key_to_params(const EC_KEY *eckey, OSSL_PARAM_BLD *tmpl, const EC_GROUP *ecg = NULL; size_t pub_key_len = 0; int ret = 0; + BN_CTX *bnctx = NULL; if (eckey == NULL || (ecg = EC_KEY_get0_group(eckey)) == NULL) @@ -125,10 +127,18 @@ int key_to_params(const EC_KEY *eckey, OSSL_PARAM_BLD *tmpl, pub_point = EC_KEY_get0_public_key(eckey); if (pub_point != NULL) { + /* + * EC_POINT_point2buf() can generate random numbers in some + * implementations so we need to ensure we use the correct libctx. + */ + bnctx = BN_CTX_new_ex(ec_key_get_libctx(eckey)); + if (bnctx == NULL) + goto err; + /* convert pub_point to a octet string according to the SECG standard */ if ((pub_key_len = EC_POINT_point2buf(ecg, pub_point, POINT_CONVERSION_COMPRESSED, - pub_key, NULL)) == 0 + pub_key, bnctx)) == 0 || !ossl_param_build_set_octet_string(tmpl, params, OSSL_PKEY_PARAM_PUB_KEY, *pub_key, pub_key_len)) @@ -184,6 +194,7 @@ int key_to_params(const EC_KEY *eckey, OSSL_PARAM_BLD *tmpl, } ret = 1; err: + BN_CTX_free(bnctx); return ret; } @@ -481,6 +492,10 @@ int ec_get_params(void *key, OSSL_PARAM params[]) return 0; } + if ((p = OSSL_PARAM_locate(params, OSSL_PKEY_PARAM_DEFAULT_DIGEST)) != NULL + && !OSSL_PARAM_set_utf8_string(p, EC_DEFAULT_MD)) + return 0; + p = OSSL_PARAM_locate(params, OSSL_PKEY_PARAM_USE_COFACTOR_ECDH); if (p != NULL) { int ecdh_cofactor_mode = 0; diff --git a/providers/implementations/keymgmt/ecx_kmgmt.c b/providers/implementations/keymgmt/ecx_kmgmt.c index ca53a93f..2ba8f53e 100644 --- a/providers/implementations/keymgmt/ecx_kmgmt.c +++ b/providers/implementations/keymgmt/ecx_kmgmt.c @@ -10,20 +10,42 @@ #include #include #include +#include +#include +#include +#include +#include "internal/param_build_set.h" +#include "openssl/param_build.h" #include "crypto/ecx.h" #include "prov/implementations.h" #include "prov/providercommon.h" -#include "internal/param_build_set.h" +#include "prov/provider_ctx.h" +#ifdef S390X_EC_ASM +# include "s390x_arch.h" +# include /* For SHA512_DIGEST_LENGTH */ +#endif static OSSL_OP_keymgmt_new_fn x25519_new_key; static OSSL_OP_keymgmt_new_fn x448_new_key; static OSSL_OP_keymgmt_new_fn ed25519_new_key; static OSSL_OP_keymgmt_new_fn ed448_new_key; +static OSSL_OP_keymgmt_gen_init_fn x25519_gen_init; +static OSSL_OP_keymgmt_gen_init_fn x448_gen_init; +static OSSL_OP_keymgmt_gen_init_fn ed25519_gen_init; +static OSSL_OP_keymgmt_gen_init_fn ed448_gen_init; +static OSSL_OP_keymgmt_gen_fn x25519_gen; +static OSSL_OP_keymgmt_gen_fn x448_gen; +static OSSL_OP_keymgmt_gen_fn ed25519_gen; +static OSSL_OP_keymgmt_gen_fn ed448_gen; +static OSSL_OP_keymgmt_gen_cleanup_fn ecx_gen_cleanup; static OSSL_OP_keymgmt_get_params_fn x25519_get_params; static OSSL_OP_keymgmt_get_params_fn x448_get_params; static OSSL_OP_keymgmt_get_params_fn ed25519_get_params; static OSSL_OP_keymgmt_get_params_fn ed448_get_params; -static OSSL_OP_keymgmt_gettable_params_fn ecx_gettable_params; +static OSSL_OP_keymgmt_gettable_params_fn x25519_gettable_params; +static OSSL_OP_keymgmt_gettable_params_fn x448_gettable_params; +static OSSL_OP_keymgmt_gettable_params_fn ed25519_gettable_params; +static OSSL_OP_keymgmt_gettable_params_fn ed448_gettable_params; static OSSL_OP_keymgmt_has_fn ecx_has; static OSSL_OP_keymgmt_import_fn ecx_import; static OSSL_OP_keymgmt_import_types_fn ecx_imexport_types; @@ -32,6 +54,18 @@ static OSSL_OP_keymgmt_export_types_fn ecx_imexport_types; #define ECX_POSSIBLE_SELECTIONS (OSSL_KEYMGMT_SELECT_KEYPAIR) +struct ecx_gen_ctx { + OPENSSL_CTX *libctx; + ECX_KEY_TYPE type; +}; + +#ifdef S390X_EC_ASM +static void *s390x_ecx_keygen25519(struct ecx_gen_ctx *gctx); +static void *s390x_ecx_keygen448(struct ecx_gen_ctx *gctx); +static void *s390x_ecd_keygen25519(struct ecx_gen_ctx *gctx); +static void *s390x_ecd_keygen448(struct ecx_gen_ctx *gctx); +#endif + static void *x25519_new_key(void *provctx) { return ecx_key_new(ECX_KEY_TYPE_X25519, 0); @@ -176,6 +210,17 @@ static int ecx_get_params(void *key, OSSL_PARAM params[], int bits, int secbits, return key_to_params(ecx, NULL, params); } +static int ed_get_params(void *key, OSSL_PARAM params[]) +{ + OSSL_PARAM *p; + + if ((p = OSSL_PARAM_locate(params, + OSSL_PKEY_PARAM_MANDATORY_DIGEST)) != NULL + && !OSSL_PARAM_set_utf8_string(p, "")) + return 0; + return 1; +} + static int x25519_get_params(void *key, OSSL_PARAM params[]) { return ecx_get_params(key, params, X25519_BITS, X25519_SECURITY_BITS, @@ -191,16 +236,27 @@ static int x448_get_params(void *key, OSSL_PARAM params[]) static int ed25519_get_params(void *key, OSSL_PARAM params[]) { return ecx_get_params(key, params, ED25519_BITS, ED25519_SECURITY_BITS, - ED25519_KEYLEN); + ED25519_KEYLEN) + && ed_get_params(key, params); } static int ed448_get_params(void *key, OSSL_PARAM params[]) { return ecx_get_params(key, params, ED448_BITS, ED448_SECURITY_BITS, - ED448_KEYLEN); + ED448_KEYLEN) + && ed_get_params(key, params); } static const OSSL_PARAM ecx_params[] = { + OSSL_PARAM_int(OSSL_PKEY_PARAM_BITS, NULL), + OSSL_PARAM_int(OSSL_PKEY_PARAM_SECURITY_BITS, NULL), + OSSL_PARAM_int(OSSL_PKEY_PARAM_MAX_SIZE, NULL), + OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_MANDATORY_DIGEST, NULL, 0), + ECX_KEY_TYPES(), + OSSL_PARAM_END +}; + +static const OSSL_PARAM ed_params[] = { OSSL_PARAM_int(OSSL_PKEY_PARAM_BITS, NULL), OSSL_PARAM_int(OSSL_PKEY_PARAM_SECURITY_BITS, NULL), OSSL_PARAM_int(OSSL_PKEY_PARAM_MAX_SIZE, NULL), @@ -208,22 +264,174 @@ static const OSSL_PARAM ecx_params[] = { OSSL_PARAM_END }; -static const OSSL_PARAM *ecx_gettable_params(void) +static const OSSL_PARAM *x25519_gettable_params(void) { return ecx_params; } +static const OSSL_PARAM *x448_gettable_params(void) +{ + return ecx_params; +} + +static const OSSL_PARAM *ed25519_gettable_params(void) +{ + return ed_params; +} + +static const OSSL_PARAM *ed448_gettable_params(void) +{ + return ed_params; +} + +static void *ecx_gen_init(void *provctx, int selection, ECX_KEY_TYPE type) +{ + OPENSSL_CTX *libctx = PROV_LIBRARY_CONTEXT_OF(provctx); + struct ecx_gen_ctx *gctx = NULL; + + if ((selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == 0) + return NULL; + + if ((gctx = OPENSSL_malloc(sizeof(*gctx))) != NULL) { + gctx->libctx = libctx; + gctx->type = type; + } + return gctx; +} + +static void *x25519_gen_init(void *provctx, int selection) +{ + return ecx_gen_init(provctx, selection, ECX_KEY_TYPE_X25519); +} + +static void *x448_gen_init(void *provctx, int selection) +{ + return ecx_gen_init(provctx, selection, ECX_KEY_TYPE_X448); +} + +static void *ed25519_gen_init(void *provctx, int selection) +{ + return ecx_gen_init(provctx, selection, ECX_KEY_TYPE_ED25519); +} + +static void *ed448_gen_init(void *provctx, int selection) +{ + return ecx_gen_init(provctx, selection, ECX_KEY_TYPE_ED448); +} + +static void *ecx_gen(struct ecx_gen_ctx *gctx) +{ + ECX_KEY *key; + unsigned char *privkey; + + if (gctx == NULL) + return NULL; + if ((key = ecx_key_new(gctx->type, 0)) == NULL) { + ERR_raise(ERR_LIB_PROV, ERR_R_MALLOC_FAILURE); + return NULL; + } + if ((privkey = ecx_key_allocate_privkey(key)) == NULL) { + ERR_raise(ERR_LIB_PROV, ERR_R_MALLOC_FAILURE); + goto err; + } + if (RAND_priv_bytes_ex(gctx->libctx, privkey, key->keylen) <= 0) + goto err; + switch (gctx->type) { + case ECX_KEY_TYPE_X25519: + privkey[0] &= 248; + privkey[X25519_KEYLEN - 1] &= 127; + privkey[X25519_KEYLEN - 1] |= 64; + X25519_public_from_private(key->pubkey, privkey); + break; + case ECX_KEY_TYPE_X448: + privkey[0] &= 252; + privkey[X448_KEYLEN - 1] |= 128; + X448_public_from_private(key->pubkey, privkey); + break; + case ECX_KEY_TYPE_ED25519: + if (!ED25519_public_from_private(gctx->libctx, key->pubkey, privkey)) + goto err; + break; + case ECX_KEY_TYPE_ED448: + if (!ED448_public_from_private(gctx->libctx, key->pubkey, privkey)) + goto err; + break; + } + return key; +err: + ecx_key_free(key); + return NULL; +} + +static void *x25519_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg) +{ + struct ecx_gen_ctx *gctx = genctx; + +#ifdef S390X_EC_ASM + if (OPENSSL_s390xcap_P.pcc[1] & S390X_CAPBIT(S390X_SCALAR_MULTIPLY_X25519)) + return s390x_ecx_keygen25519(gctx); +#endif + return ecx_gen(gctx); +} + +static void *x448_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg) +{ + struct ecx_gen_ctx *gctx = genctx; + +#ifdef S390X_EC_ASM + if (OPENSSL_s390xcap_P.pcc[1] & S390X_CAPBIT(S390X_SCALAR_MULTIPLY_X448)) + return s390x_ecx_keygen448(gctx); +#endif + return ecx_gen(gctx); +} + +static void *ed25519_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg) +{ + struct ecx_gen_ctx *gctx = genctx; +#ifdef S390X_EC_ASM + if (OPENSSL_s390xcap_P.pcc[1] & S390X_CAPBIT(S390X_SCALAR_MULTIPLY_ED25519) + && OPENSSL_s390xcap_P.kdsa[0] & S390X_CAPBIT(S390X_EDDSA_SIGN_ED25519) + && OPENSSL_s390xcap_P.kdsa[0] + & S390X_CAPBIT(S390X_EDDSA_VERIFY_ED25519)) + return s390x_ecd_keygen25519(gctx); +#endif + return ecx_gen(gctx); +} + +static void *ed448_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg) +{ + struct ecx_gen_ctx *gctx = genctx; + +#ifdef S390X_EC_ASM + if (OPENSSL_s390xcap_P.pcc[1] & S390X_CAPBIT(S390X_SCALAR_MULTIPLY_ED448) + && OPENSSL_s390xcap_P.kdsa[0] & S390X_CAPBIT(S390X_EDDSA_SIGN_ED448) + && OPENSSL_s390xcap_P.kdsa[0] & S390X_CAPBIT(S390X_EDDSA_VERIFY_ED448)) + return s390x_ecd_keygen448(gctx); +#endif + return ecx_gen(gctx); +} + +static void ecx_gen_cleanup(void *genctx) +{ + struct ecx_gen_ctx *gctx = genctx; + + OPENSSL_free(gctx); +} + #define MAKE_KEYMGMT_FUNCTIONS(alg) \ const OSSL_DISPATCH alg##_keymgmt_functions[] = { \ { OSSL_FUNC_KEYMGMT_NEW, (void (*)(void))alg##_new_key }, \ { OSSL_FUNC_KEYMGMT_FREE, (void (*)(void))ecx_key_free }, \ { OSSL_FUNC_KEYMGMT_GET_PARAMS, (void (*) (void))alg##_get_params }, \ - { OSSL_FUNC_KEYMGMT_GETTABLE_PARAMS, (void (*) (void))ecx_gettable_params }, \ + { OSSL_FUNC_KEYMGMT_GETTABLE_PARAMS, (void (*) (void))alg##_gettable_params }, \ { OSSL_FUNC_KEYMGMT_HAS, (void (*)(void))ecx_has }, \ { OSSL_FUNC_KEYMGMT_IMPORT, (void (*)(void))ecx_import }, \ { OSSL_FUNC_KEYMGMT_IMPORT_TYPES, (void (*)(void))ecx_imexport_types }, \ { OSSL_FUNC_KEYMGMT_EXPORT, (void (*)(void))ecx_export }, \ { OSSL_FUNC_KEYMGMT_EXPORT_TYPES, (void (*)(void))ecx_imexport_types }, \ + { OSSL_FUNC_KEYMGMT_GEN_INIT, (void (*)(void))alg##_gen_init }, \ + { OSSL_FUNC_KEYMGMT_GEN, (void (*)(void))alg##_gen }, \ + { OSSL_FUNC_KEYMGMT_GEN_CLEANUP, (void (*)(void))ecx_gen_cleanup }, \ { 0, NULL } \ }; @@ -231,3 +439,212 @@ MAKE_KEYMGMT_FUNCTIONS(x25519) MAKE_KEYMGMT_FUNCTIONS(x448) MAKE_KEYMGMT_FUNCTIONS(ed25519) MAKE_KEYMGMT_FUNCTIONS(ed448) + +#ifdef S390X_EC_ASM +# include "s390x_arch.h" + +static void *s390x_ecx_keygen25519(struct ecx_gen_ctx *gctx) +{ + static const unsigned char generator[] = { + 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + ECX_KEY *key = ecx_key_new(ECX_KEY_TYPE_X25519, 1); + unsigned char *privkey = NULL, *pubkey; + + if (key == NULL) { + ERR_raise(ERR_LIB_PROV, ERR_R_MALLOC_FAILURE); + goto err; + } + + pubkey = key->pubkey; + + privkey = ecx_key_allocate_privkey(key); + if (privkey == NULL) { + ERR_raise(ERR_LIB_PROV, ERR_R_MALLOC_FAILURE); + goto err; + } + + if (RAND_priv_bytes_ex(gctx->libctx, privkey, X25519_KEYLEN) <= 0) + goto err; + + privkey[0] &= 248; + privkey[31] &= 127; + privkey[31] |= 64; + + if (s390x_x25519_mul(pubkey, generator, privkey) != 1) + goto err; + return key; + err: + ecx_key_free(key); + return NULL; +} + +static void *s390x_ecx_keygen448(struct ecx_gen_ctx *gctx) +{ + static const unsigned char generator[] = { + 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + ECX_KEY *key = ecx_key_new(ECX_KEY_TYPE_X448, 1); + unsigned char *privkey = NULL, *pubkey; + + if (key == NULL) { + ERR_raise(ERR_LIB_PROV, ERR_R_MALLOC_FAILURE); + goto err; + } + + pubkey = key->pubkey; + + privkey = ecx_key_allocate_privkey(key); + if (privkey == NULL) { + ERR_raise(ERR_LIB_PROV, ERR_R_MALLOC_FAILURE); + goto err; + } + + if (RAND_priv_bytes_ex(gctx->libctx, privkey, X448_KEYLEN) <= 0) + goto err; + + privkey[0] &= 252; + privkey[55] |= 128; + + if (s390x_x448_mul(pubkey, generator, privkey) != 1) + goto err; + return key; + err: + ecx_key_free(key); + return NULL; +} + +static void *s390x_ecd_keygen25519(struct ecx_gen_ctx *gctx) +{ + static const unsigned char generator_x[] = { + 0x1a, 0xd5, 0x25, 0x8f, 0x60, 0x2d, 0x56, 0xc9, 0xb2, 0xa7, 0x25, 0x95, + 0x60, 0xc7, 0x2c, 0x69, 0x5c, 0xdc, 0xd6, 0xfd, 0x31, 0xe2, 0xa4, 0xc0, + 0xfe, 0x53, 0x6e, 0xcd, 0xd3, 0x36, 0x69, 0x21 + }; + static const unsigned char generator_y[] = { + 0x58, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, + 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, + 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, + }; + unsigned char x_dst[32], buff[SHA512_DIGEST_LENGTH]; + ECX_KEY *key = ecx_key_new(ECX_KEY_TYPE_ED25519, 1); + unsigned char *privkey = NULL, *pubkey; + unsigned int sz; + EVP_MD *sha = NULL; + int j; + + if (key == NULL) { + ERR_raise(ERR_LIB_PROV, ERR_R_MALLOC_FAILURE); + goto err; + } + + pubkey = key->pubkey; + + privkey = ecx_key_allocate_privkey(key); + if (privkey == NULL) { + ERR_raise(ERR_LIB_PROV, ERR_R_MALLOC_FAILURE); + goto err; + } + + if (RAND_priv_bytes_ex(gctx->libctx, privkey, ED25519_KEYLEN) <= 0) + goto err; + + sha = EVP_MD_fetch(gctx->libctx, "SHA512", NULL); + if (sha == NULL) + goto err; + j = EVP_Digest(privkey, 32, buff, &sz, sha, NULL); + EVP_MD_free(sha); + if (!j) + goto err; + + buff[0] &= 248; + buff[31] &= 63; + buff[31] |= 64; + + if (s390x_ed25519_mul(x_dst, pubkey, + generator_x, generator_y, buff) != 1) + goto err; + + pubkey[31] |= ((x_dst[0] & 0x01) << 7); + return key; + err: + ecx_key_free(key); + return NULL; +} + +static void *s390x_ecd_keygen448(struct ecx_gen_ctx *gctx) +{ + static const unsigned char generator_x[] = { + 0x5e, 0xc0, 0x0c, 0xc7, 0x2b, 0xa8, 0x26, 0x26, 0x8e, 0x93, 0x00, 0x8b, + 0xe1, 0x80, 0x3b, 0x43, 0x11, 0x65, 0xb6, 0x2a, 0xf7, 0x1a, 0xae, 0x12, + 0x64, 0xa4, 0xd3, 0xa3, 0x24, 0xe3, 0x6d, 0xea, 0x67, 0x17, 0x0f, 0x47, + 0x70, 0x65, 0x14, 0x9e, 0xda, 0x36, 0xbf, 0x22, 0xa6, 0x15, 0x1d, 0x22, + 0xed, 0x0d, 0xed, 0x6b, 0xc6, 0x70, 0x19, 0x4f, 0x00 + }; + static const unsigned char generator_y[] = { + 0x14, 0xfa, 0x30, 0xf2, 0x5b, 0x79, 0x08, 0x98, 0xad, 0xc8, 0xd7, 0x4e, + 0x2c, 0x13, 0xbd, 0xfd, 0xc4, 0x39, 0x7c, 0xe6, 0x1c, 0xff, 0xd3, 0x3a, + 0xd7, 0xc2, 0xa0, 0x05, 0x1e, 0x9c, 0x78, 0x87, 0x40, 0x98, 0xa3, 0x6c, + 0x73, 0x73, 0xea, 0x4b, 0x62, 0xc7, 0xc9, 0x56, 0x37, 0x20, 0x76, 0x88, + 0x24, 0xbc, 0xb6, 0x6e, 0x71, 0x46, 0x3f, 0x69, 0x00 + }; + unsigned char x_dst[57], buff[114]; + ECX_KEY *key = ecx_key_new(ECX_KEY_TYPE_ED448, 1); + unsigned char *privkey = NULL, *pubkey; + EVP_MD_CTX *hashctx = NULL; + EVP_MD *shake = NULL; + + if (key == NULL) { + ERR_raise(ERR_LIB_PROV, ERR_R_MALLOC_FAILURE); + goto err; + } + + pubkey = key->pubkey; + + privkey = ecx_key_allocate_privkey(key); + if (privkey == NULL) { + ERR_raise(ERR_LIB_PROV, ERR_R_MALLOC_FAILURE); + goto err; + } + + shake = EVP_MD_fetch(gctx->libctx, "SHAKE256", NULL); + if (shake == NULL) + goto err; + if (RAND_priv_bytes_ex(gctx->libctx, privkey, ED448_KEYLEN) <= 0) + goto err; + + hashctx = EVP_MD_CTX_new(); + if (hashctx == NULL) + goto err; + if (EVP_DigestInit_ex(hashctx, shake, NULL) != 1) + goto err; + if (EVP_DigestUpdate(hashctx, privkey, 57) != 1) + goto err; + if (EVP_DigestFinalXOF(hashctx, buff, sizeof(buff)) != 1) + goto err; + + buff[0] &= -4; + buff[55] |= 0x80; + buff[56] = 0; + + if (s390x_ed448_mul(x_dst, pubkey, + generator_x, generator_y, buff) != 1) + goto err; + + pubkey[56] |= ((x_dst[0] & 0x01) << 7); + EVP_MD_CTX_free(hashctx); + EVP_MD_free(shake); + return key; + err: + ecx_key_free(key); + EVP_MD_CTX_free(hashctx); + EVP_MD_free(shake); + return NULL; +} +#endif diff --git a/providers/implementations/macs/cmac_prov.c b/providers/implementations/macs/cmac_prov.c index 6caec1b6..1377c795 100644 --- a/providers/implementations/macs/cmac_prov.c +++ b/providers/implementations/macs/cmac_prov.c @@ -1,5 +1,5 @@ /* - * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2018-2020 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 diff --git a/providers/implementations/macs/hmac_prov.c b/providers/implementations/macs/hmac_prov.c index 2bddb64d..bd2cff27 100644 --- a/providers/implementations/macs/hmac_prov.c +++ b/providers/implementations/macs/hmac_prov.c @@ -1,5 +1,5 @@ /* - * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2018-2020 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 diff --git a/providers/implementations/serializers/build.info b/providers/implementations/serializers/build.info index 66502c76..097bdcac 100644 --- a/providers/implementations/serializers/build.info +++ b/providers/implementations/serializers/build.info @@ -3,6 +3,7 @@ $SERIALIZER_GOAL=../../libimplementations.a $RSA_GOAL=../../libimplementations.a +$FFC_GOAL=../../libimplementations.a $DH_GOAL=../../libimplementations.a $DSA_GOAL=../../libimplementations.a $ECX_GOAL=../../libimplementations.a @@ -10,6 +11,9 @@ $EC_GOAL=../../libimplementations.a SOURCE[$SERIALIZER_GOAL]=serializer_common.c SOURCE[$RSA_GOAL]=serializer_rsa.c serializer_rsa_priv.c serializer_rsa_pub.c +IF[{- !$disabled{"dh"} || !$disabled{"dsa"} -}] + SOURCE[$FFC_GOAL]=serializer_ffc_params.c +ENDIF IF[{- !$disabled{dh} -}] SOURCE[$DH_GOAL]=serializer_dh.c serializer_dh_priv.c serializer_dh_pub.c serializer_dh_param.c ENDIF diff --git a/providers/implementations/serializers/serializer_common.c b/providers/implementations/serializers/serializer_common.c index 7c6b5afe..2dbbe6b3 100644 --- a/providers/implementations/serializers/serializer_common.c +++ b/providers/implementations/serializers/serializer_common.c @@ -14,6 +14,7 @@ #include #include /* i2d_X509_PUBKEY_bio() */ #include "crypto/bn.h" /* bn_get_words() */ +#include "crypto/ctype.h" #include "crypto/ecx.h" #include "prov/bio.h" /* ossl_prov_bio_printf() */ #include "prov/implementations.h" @@ -161,11 +162,13 @@ OSSL_OP_keymgmt_import_fn *ossl_prov_get_keymgmt_import(const OSSL_DISPATCH *fns int ossl_prov_print_labeled_bignum(BIO *out, const char *label, const BIGNUM *bn) { - const char *neg; + int ret = 0, use_sep = 0; + char *hex_str = NULL, *p; + const char spaces[] = " "; const char *post_label_spc = " "; + + const char *neg = ""; int bytes; - BN_ULONG *words; - int n, i; if (bn == NULL) return 0; @@ -174,74 +177,63 @@ int ossl_prov_print_labeled_bignum(BIO *out, const char *label, post_label_spc = ""; } - bytes = BN_num_bytes(bn); - words = bn_get_words(bn); - neg = BN_is_negative(bn) ? "-" : ""; - if (BN_is_zero(bn)) return ossl_prov_bio_printf(out, "%s%s0\n", label, post_label_spc); - if (BN_num_bytes(bn) <= BN_BYTES) + if (BN_num_bytes(bn) <= BN_BYTES) { + BN_ULONG *words = bn_get_words(bn); + + if (BN_is_negative(bn)) + neg = "-"; + return ossl_prov_bio_printf(out, "%s%s%s" BN_FMTu " (%s0x" BN_FMTx ")\n", label, post_label_spc, neg, words[0], neg, words[0]); + } - if (neg[0] == '-') + hex_str = BN_bn2hex(bn); + p = hex_str; + if (*p == '-') { + ++p; neg = " (Negative)"; - + } if (ossl_prov_bio_printf(out, "%s%s\n", label, neg) <= 0) - return 0; + goto err; /* Keep track of how many bytes we have printed out so far */ - n = 0; + bytes = 0; - /* - * OpenSSL BIGNUMs are little endian limbs, so we print them last to - * first limb. - * i is used as limb index, j is used as the "byte index" in the limb - */ - for (i = bytes / BN_BYTES - 1; i >= 0; i--) { - BN_ULONG l = words[i]; - int j; + if (ossl_prov_bio_printf(out, "%s", spaces) <= 0) + goto err; - for (j = BN_BYTES - 1; j >= 0; j--) { - int o = 8 * j; - int b = ((l & (0xffLU << o)) >> o) & 0xff; - - /* Indent every new line with 4 spaces */ - if ((n % 15) == 0) { - if (n > 0) - if (ossl_prov_bio_printf(out, "\n") <= 0) - return 0; - if (ossl_prov_bio_printf(out, " ") <= 0) - return 0; - } - - /* - * Upper bit set, then we print an extra zero and pretend the - * BIGNUM was one byte longer - */ - if (n == 0 && b > 127) { - if (ossl_prov_bio_printf(out, "%02x:", 0) <= 0) - return 0; - n++; - bytes++; - } - - if (++n < bytes) { - if (ossl_prov_bio_printf(out, "%02x:", b) <= 0) - return 0; - } else { - if (ossl_prov_bio_printf(out, "%02x", b) <= 0) - return 0; - } + /* Add a leading 00 if the top bit is set */ + if (*p >= '8') { + if (ossl_prov_bio_printf(out, "%02x", 0) <= 0) + goto err; + ++bytes; + use_sep = 1; + } + while (*p != '\0') { + /* Do a newline after every 15 hex bytes + add the space indent */ + if ((bytes % 15) == 0 && bytes > 0) { + if (ossl_prov_bio_printf(out, ":\n%s", spaces) <= 0) + goto err; + use_sep = 0; /* The first byte on the next line doesnt have a : */ } + if (ossl_prov_bio_printf(out, "%s%c%c", use_sep ? ":" : "", + ossl_tolower(p[0]), ossl_tolower(p[1])) <= 0) + goto err; + ++bytes; + p += 2; + use_sep = 1; } if (ossl_prov_bio_printf(out, "\n") <= 0) - return 0; - - return 1; + goto err; + ret = 1; +err: + OPENSSL_free(hex_str); + return ret; } /* Number of octets per line */ diff --git a/providers/implementations/serializers/serializer_dh.c b/providers/implementations/serializers/serializer_dh.c index b2517ed9..2b616b2e 100644 --- a/providers/implementations/serializers/serializer_dh.c +++ b/providers/implementations/serializers/serializer_dh.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 @@ -13,11 +13,12 @@ */ #include "internal/deprecated.h" -#include #include #include "prov/bio.h" /* ossl_prov_bio_printf() */ #include "prov/implementations.h" /* rsa_keymgmt_functions */ #include "prov/providercommonerr.h" /* PROV_R_BN_ERROR */ +#include "internal/ffc.h" +#include "crypto/dh.h" #include "serializer_local.h" OSSL_OP_keymgmt_new_fn *ossl_prov_get_keymgmt_dh_new(void) @@ -39,8 +40,7 @@ int ossl_prov_print_dh(BIO *out, DH *dh, enum dh_print_type type) { const char *type_label = NULL; const BIGNUM *priv_key = NULL, *pub_key = NULL; - const BIGNUM *p = NULL, *g = NULL; - + const BIGNUM *p = NULL; switch (type) { case dh_print_priv: @@ -67,35 +67,19 @@ int ossl_prov_print_dh(BIO *out, DH *dh, enum dh_print_type type) } p = DH_get0_p(dh); - g = DH_get0_g(dh); - if (p == NULL || g == NULL) + if (p == NULL) goto null_err; - /* - * TODO(3.0): add printing of: - * - * - q (label "subgroup order:") - * - j (label "subgroup factor:") - * - seed (label "seed:") - * - counter (label "counter:") - * - * This can happen as soon as there are DH_get0_ functions for them. - */ - if (ossl_prov_bio_printf(out, "%s: (%d bit)\n", type_label, BN_num_bits(p)) <= 0) goto err; if (priv_key != NULL - && !ossl_prov_print_labeled_bignum(out, " private-key:", priv_key)) + && !ossl_prov_print_labeled_bignum(out, "private-key:", priv_key)) goto err; if (pub_key != NULL - && !ossl_prov_print_labeled_bignum(out, " public-key:", pub_key)) + && !ossl_prov_print_labeled_bignum(out, "public-key:", pub_key)) goto err; - if (p != NULL - && !ossl_prov_print_labeled_bignum(out, " prime:", p)) - goto err; - if (g != NULL - && !ossl_prov_print_labeled_bignum(out, " generator:", g)) + if (!ffc_params_prov_print(out, dh_get0_params(dh))) goto err; return 1; diff --git a/providers/implementations/serializers/serializer_dh_param.c b/providers/implementations/serializers/serializer_dh_param.c index 5eb8ffa1..5e061785 100644 --- a/providers/implementations/serializers/serializer_dh_param.c +++ b/providers/implementations/serializers/serializer_dh_param.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/serializers/serializer_dh_priv.c b/providers/implementations/serializers/serializer_dh_priv.c index 6facbeef..99d529b0 100644 --- a/providers/implementations/serializers/serializer_dh_priv.c +++ b/providers/implementations/serializers/serializer_dh_priv.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/serializers/serializer_dh_pub.c b/providers/implementations/serializers/serializer_dh_pub.c index 567a0f03..b787f7c0 100644 --- a/providers/implementations/serializers/serializer_dh_pub.c +++ b/providers/implementations/serializers/serializer_dh_pub.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/serializers/serializer_dsa.c b/providers/implementations/serializers/serializer_dsa.c index c26be47e..7ee0bc73 100644 --- a/providers/implementations/serializers/serializer_dsa.c +++ b/providers/implementations/serializers/serializer_dsa.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 @@ -19,6 +19,8 @@ #include "prov/implementations.h" /* rsa_keymgmt_functions */ #include "prov/providercommonerr.h" /* PROV_R_BN_ERROR */ #include "serializer_local.h" +#include "internal/ffc.h" +#include "crypto/dsa.h" OSSL_OP_keymgmt_new_fn *ossl_prov_get_keymgmt_dsa_new(void) { @@ -39,7 +41,7 @@ int ossl_prov_print_dsa(BIO *out, DSA *dsa, enum dsa_print_type type) { const char *type_label = NULL; const BIGNUM *priv_key = NULL, *pub_key = NULL; - const BIGNUM *p = NULL, *q = NULL, *g = NULL; + const BIGNUM *p = NULL; switch (type) { @@ -66,15 +68,13 @@ int ossl_prov_print_dsa(BIO *out, DSA *dsa, enum dsa_print_type type) goto null_err; } - p = DSA_get0_p(dsa); - q = DSA_get0_q(dsa); - g = DSA_get0_p(dsa); - if (p == NULL || q == NULL || g == NULL) + p = DSA_get0_p(dsa); + if (p == NULL) goto null_err; - if (ossl_prov_bio_printf(out, "%s: (%d bit)\n", type_label, BN_num_bits(p)) - <= 0) + if (ossl_prov_bio_printf(out, "%s: (%d bit)\n", type_label, + BN_num_bits(p)) <= 0) goto err; if (priv_key != NULL && !ossl_prov_print_labeled_bignum(out, "priv:", priv_key)) @@ -82,11 +82,7 @@ int ossl_prov_print_dsa(BIO *out, DSA *dsa, enum dsa_print_type type) if (pub_key != NULL && !ossl_prov_print_labeled_bignum(out, "pub: ", pub_key)) goto err; - if (!ossl_prov_print_labeled_bignum(out, "P: ", p)) - goto err; - if (!ossl_prov_print_labeled_bignum(out, "Q: ", q)) - goto err; - if (!ossl_prov_print_labeled_bignum(out, "G: ", g)) + if (!ffc_params_prov_print(out, dsa_get0_params(dsa))) goto err; return 1; diff --git a/providers/implementations/serializers/serializer_dsa_param.c b/providers/implementations/serializers/serializer_dsa_param.c index bed37fe3..720c3903 100644 --- a/providers/implementations/serializers/serializer_dsa_param.c +++ b/providers/implementations/serializers/serializer_dsa_param.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/serializers/serializer_dsa_priv.c b/providers/implementations/serializers/serializer_dsa_priv.c index 94ee86dd..7fdc1567 100644 --- a/providers/implementations/serializers/serializer_dsa_priv.c +++ b/providers/implementations/serializers/serializer_dsa_priv.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/serializers/serializer_dsa_pub.c b/providers/implementations/serializers/serializer_dsa_pub.c index 8fab41ec..46e5c716 100644 --- a/providers/implementations/serializers/serializer_dsa_pub.c +++ b/providers/implementations/serializers/serializer_dsa_pub.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/serializers/serializer_ffc_params.c b/providers/implementations/serializers/serializer_ffc_params.c new file mode 100644 index 00000000..98c9886c --- /dev/null +++ b/providers/implementations/serializers/serializer_ffc_params.c @@ -0,0 +1,63 @@ +/* + * Copyright 2020 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 + */ + +/* Utility function for printing DSA/DH params. */ + +#include "prov/bio.h" +#include "serializer_local.h" + +int ffc_params_prov_print(BIO *out, const FFC_PARAMS *ffc) +{ + if (ffc->nid != NID_undef) { +#ifndef OPENSSL_NO_DH + const char *name = ffc_named_group_from_uid(ffc->nid); + + if (name == NULL) + goto err; + if (ossl_prov_bio_printf(out, "GROUP: %s\n", name) <= 0) + goto err; + return 1; +#else + /* How could this be? We should not have a nid in a no-dh build. */ + goto err; +#endif + } + + if (!ossl_prov_print_labeled_bignum(out, "P: ", ffc->p)) + goto err; + if (ffc->q != NULL) { + if (!ossl_prov_print_labeled_bignum(out, "Q: ", ffc->q)) + goto err; + } + if (!ossl_prov_print_labeled_bignum(out, "G: ", ffc->g)) + goto err; + if (ffc->j != NULL) { + if (!ossl_prov_print_labeled_bignum(out, "J: ", ffc->j)) + goto err; + } + if (ffc->seed != NULL) { + if (!ossl_prov_print_labeled_buf(out, "SEED:", ffc->seed, ffc->seedlen)) + goto err; + } + if (ffc->gindex != -1) { + if (ossl_prov_bio_printf(out, "gindex: %d\n", ffc->gindex) <= 0) + goto err; + } + if (ffc->pcounter != -1) { + if (ossl_prov_bio_printf(out, "pcounter: %d\n", ffc->pcounter) <= 0) + goto err; + } + if (ffc->h != 0) { + if (ossl_prov_bio_printf(out, "h: %d\n", ffc->h) <= 0) + goto err; + } + return 1; +err: + return 0; +} diff --git a/providers/implementations/serializers/serializer_local.h b/providers/implementations/serializers/serializer_local.h index b1c36a22..39fb3ab1 100644 --- a/providers/implementations/serializers/serializer_local.h +++ b/providers/implementations/serializers/serializer_local.h @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 @@ -14,6 +14,7 @@ #include /* X509_SIG */ #include #include +#include "internal/ffc.h" struct pkcs8_encrypt_ctx_st { /* Set to 1 if intending to encrypt/decrypt, otherwise 0 */ @@ -54,6 +55,7 @@ int ossl_prov_prepare_ec_params(const void *eckey, int nid, int ossl_prov_ec_pub_to_der(const void *eckey, unsigned char **pder); int ossl_prov_ec_priv_to_der(const void *eckey, unsigned char **pder); +int ffc_params_prov_print(BIO *out, const FFC_PARAMS *ffc); int ossl_prov_prepare_dh_params(const void *dh, int nid, void **pstr, int *pstrtype); int ossl_prov_dh_pub_to_der(const void *dh, unsigned char **pder); diff --git a/providers/implementations/serializers/serializer_rsa.c b/providers/implementations/serializers/serializer_rsa.c index 594c3d75..fa039099 100644 --- a/providers/implementations/serializers/serializer_rsa.c +++ b/providers/implementations/serializers/serializer_rsa.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/serializers/serializer_rsa_priv.c b/providers/implementations/serializers/serializer_rsa_priv.c index af0aadcd..dd287cb3 100644 --- a/providers/implementations/serializers/serializer_rsa_priv.c +++ b/providers/implementations/serializers/serializer_rsa_priv.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/serializers/serializer_rsa_pub.c b/providers/implementations/serializers/serializer_rsa_pub.c index f7eccf76..f901d445 100644 --- a/providers/implementations/serializers/serializer_rsa_pub.c +++ b/providers/implementations/serializers/serializer_rsa_pub.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/signature/dsa.c b/providers/implementations/signature/dsa.c index 30147aa1..f0662d1e 100644 --- a/providers/implementations/signature/dsa.c +++ b/providers/implementations/signature/dsa.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/implementations/signature/rsa.c b/providers/implementations/signature/rsa.c index cfa76921..0ea5e0a8 100644 --- a/providers/implementations/signature/rsa.c +++ b/providers/implementations/signature/rsa.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/providers/legacyprov.c b/providers/legacyprov.c index a439cfd3..c8ebc9c4 100644 --- a/providers/legacyprov.c +++ b/providers/legacyprov.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/ssl/d1_srtp.c b/ssl/d1_srtp.c index 6498f84d..c46bc2e6 100644 --- a/ssl/d1_srtp.c +++ b/ssl/d1_srtp.c @@ -19,6 +19,8 @@ #ifndef OPENSSL_NO_SRTP +DEFINE_STACK_OF(SRTP_PROTECTION_PROFILE) + static SRTP_PROTECTION_PROFILE srtp_known_profiles[] = { { "SRTP_AES128_CM_SHA1_80", diff --git a/ssl/record/rec_layer_s3.c b/ssl/record/rec_layer_s3.c index 426da9ff..d4198917 100644 --- a/ssl/record/rec_layer_s3.c +++ b/ssl/record/rec_layer_s3.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/ssl/record/record.h b/ssl/record/record.h index f9d19246..0504a6f9 100644 --- a/ssl/record/record.h +++ b/ssl/record/record.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/ssl/record/record_local.h b/ssl/record/record_local.h index 2f6a4c98..f7734d83 100644 --- a/ssl/record/record_local.h +++ b/ssl/record/record_local.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/ssl/record/ssl3_buffer.c b/ssl/record/ssl3_buffer.c index ab977a5c..5e2cceee 100644 --- a/ssl/record/ssl3_buffer.c +++ b/ssl/record/ssl3_buffer.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/ssl/record/ssl3_record.c b/ssl/record/ssl3_record.c index a5ef78de..24b42098 100644 --- a/ssl/record/ssl3_record.c +++ b/ssl/record/ssl3_record.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -1270,7 +1270,7 @@ int n_ssl3_mac(SSL *ssl, SSL3_RECORD *rec, unsigned char *md, int sending) header[j++] = (unsigned char)(rec->length & 0xff); /* Final param == is SSLv3 */ - if (ssl3_cbc_digest_record(hash, + if (ssl3_cbc_digest_record(ssl, hash, md, &md_size, header, rec->input, rec->length + md_size, rec->orig_len, @@ -1374,7 +1374,7 @@ int tls1_mac(SSL *ssl, SSL3_RECORD *rec, unsigned char *md, int sending) * are hashing because that gives an attacker a timing-oracle. */ /* Final param == not SSLv3 */ - if (ssl3_cbc_digest_record(mac_ctx, + if (ssl3_cbc_digest_record(ssl, mac_ctx, md, &md_size, header, rec->input, rec->length + md_size, rec->orig_len, diff --git a/ssl/s3_cbc.c b/ssl/s3_cbc.c index 888ff3c2..d6198ddd 100644 --- a/ssl/s3_cbc.c +++ b/ssl/s3_cbc.c @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2012-2020 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 @@ -131,7 +131,8 @@ char ssl3_cbc_record_digest_supported(const EVP_MD_CTX *ctx) * padding too. ) * Returns 1 on success or 0 on error */ -int ssl3_cbc_digest_record(const EVP_MD_CTX *ctx, +int ssl3_cbc_digest_record(SSL *s, + const EVP_MD_CTX *ctx, unsigned char *md_out, size_t *md_out_size, const unsigned char header[13], @@ -166,7 +167,8 @@ int ssl3_cbc_digest_record(const EVP_MD_CTX *ctx, */ size_t md_length_size = 8; char length_is_big_endian = 1; - int ret; + int ret = 0; + const EVP_MD *md = NULL; /* * This is a, hopefully redundant, check that allows us to forget about @@ -461,7 +463,11 @@ int ssl3_cbc_digest_record(const EVP_MD_CTX *ctx, md_ctx = EVP_MD_CTX_new(); if (md_ctx == NULL) goto err; - if (EVP_DigestInit_ex(md_ctx, EVP_MD_CTX_md(ctx), NULL /* engine */ ) <= 0) + md = ssl_evp_md_fetch(s->ctx->libctx, EVP_MD_type(EVP_MD_CTX_md(ctx)), + s->ctx->propq); + if (md == NULL) + goto err; + if (EVP_DigestInit_ex(md_ctx, md, NULL /* engine */ ) <= 0) goto err; if (is_sslv3) { /* We repurpose |hmac_pad| to contain the SSLv3 pad2 block. */ @@ -484,10 +490,10 @@ int ssl3_cbc_digest_record(const EVP_MD_CTX *ctx, ret = EVP_DigestFinal(md_ctx, md_out, &md_out_size_u); if (ret && md_out_size) *md_out_size = md_out_size_u; - EVP_MD_CTX_free(md_ctx); - return 1; + ret = 1; err: EVP_MD_CTX_free(md_ctx); - return 0; + ssl_evp_md_free(md); + return ret; } diff --git a/ssl/s3_enc.c b/ssl/s3_enc.c index ea0fb750..75e3ea87 100644 --- a/ssl/s3_enc.c +++ b/ssl/s3_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright 2005 Nokia. All rights reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c index f2c80036..70802a45 100644 --- a/ssl/s3_lib.c +++ b/ssl/s3_lib.c @@ -20,6 +20,10 @@ #include #include "internal/cryptlib.h" +DEFINE_STACK_OF(X509_NAME) +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF_CONST(SSL_CIPHER) + #define TLS13_NUM_CIPHERS OSSL_NELEM(tls13_ciphers) #define SSL3_NUM_CIPHERS OSSL_NELEM(ssl3_ciphers) #define SSL3_NUM_SCSVS OSSL_NELEM(ssl3_scsvs) @@ -4424,8 +4428,10 @@ int ssl3_get_req_cert_type(SSL *s, WPACKET *pkt) #ifndef OPENSSL_NO_GOST if (s->version >= TLS1_VERSION && (alg_k & SSL_kGOST)) return WPACKET_put_bytes_u8(pkt, TLS_CT_GOST01_SIGN) - && WPACKET_put_bytes_u8(pkt, TLS_CT_GOST12_SIGN) - && WPACKET_put_bytes_u8(pkt, TLS_CT_GOST12_512_SIGN); + && WPACKET_put_bytes_u8(pkt, TLS_CT_GOST12_IANA_SIGN) + && WPACKET_put_bytes_u8(pkt, TLS_CT_GOST12_IANA_512_SIGN) + && WPACKET_put_bytes_u8(pkt, TLS_CT_GOST12_LEGACY_SIGN) + && WPACKET_put_bytes_u8(pkt, TLS_CT_GOST12_LEGACY_512_SIGN); #endif if ((s->version == SSL3_VERSION) && (alg_k & SSL_kDHE)) { @@ -4790,40 +4796,10 @@ EVP_PKEY *ssl_generate_pkey_group(SSL *s, uint16_t id) goto err; } gtype = ginf->flags & TLS_GROUP_TYPE; - /* - * TODO(3.0): Convert these EVP_PKEY_CTX_new_id calls to ones that take - * s->ctx->libctx and s->ctx->propq when keygen has been updated to be - * provider aware. - */ -# ifndef OPENSSL_NO_DH - if (gtype == TLS_GROUP_FFDHE) -# if 0 - pctx = EVP_PKEY_CTX_new_from_name(s->ctx->libctx, "DH", s->ctx->propq); -# else - pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_DH, NULL); -# endif -# ifndef OPENSSL_NO_EC - else -# endif /* OPENSSL_NO_EC */ -# endif /* OPENSSL_NO_DH */ -# ifndef OPENSSL_NO_EC - { - /* - * TODO(3.0): When provider based EC key gen is present we can enable - * this code. - */ - if (gtype == TLS_GROUP_CURVE_CUSTOM) - pctx = EVP_PKEY_CTX_new_id(ginf->nid, NULL); - else -# if 0 - pctx = EVP_PKEY_CTX_new_from_name(s->ctx->libctx, "EC", - s->ctx->propq); -# else - pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_EC, NULL); -# endif - } -# endif /* OPENSSL_NO_EC */ + pctx = EVP_PKEY_CTX_new_from_name(s->ctx->libctx, ginf->keytype, + s->ctx->propq); + if (pctx == NULL) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_SSL_GENERATE_PKEY_GROUP, ERR_R_MALLOC_FAILURE); @@ -4889,11 +4865,7 @@ EVP_PKEY *ssl_generate_param_group(SSL *s, uint16_t id) EVP_PKEY_CTX *pctx = NULL; EVP_PKEY *pkey = NULL; const TLS_GROUP_INFO *ginf = tls1_group_id_lookup(id); -#if 0 const char *pkey_ctx_name; -#else - int pkey_ctx_id; -#endif if (ginf == NULL) goto err; @@ -4906,20 +4878,9 @@ EVP_PKEY *ssl_generate_param_group(SSL *s, uint16_t id) return NULL; } - /* - * TODO(3.0): Convert this EVP_PKEY_CTX_new_id call to one that takes - * s->ctx->libctx and s->ctx->propq when paramgen has been updated to be - * provider aware. - */ -#if 0 pkey_ctx_name = (ginf->flags & TLS_GROUP_FFDHE) != 0 ? "DH" : "EC"; pctx = EVP_PKEY_CTX_new_from_name(s->ctx->libctx, pkey_ctx_name, s->ctx->propq); -#else - pkey_ctx_id = (ginf->flags & TLS_GROUP_FFDHE) - ? EVP_PKEY_DH : EVP_PKEY_EC; - pctx = EVP_PKEY_CTX_new_id(pkey_ctx_id, NULL); -#endif if (pctx == NULL) goto err; diff --git a/ssl/ssl_cert.c b/ssl/ssl_cert.c index 2b168edf..51bfa439 100644 --- a/ssl/ssl_cert.c +++ b/ssl/ssl_cert.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -25,6 +25,9 @@ #include "ssl_cert_table.h" #include "internal/thread_once.h" +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_NAME) + static int ssl_security_default_callback(const SSL *s, const SSL_CTX *ctx, int op, int bits, int nid, void *other, void *ex); diff --git a/ssl/ssl_ciph.c b/ssl/ssl_ciph.c index c7c4dd1d..44225752 100644 --- a/ssl/ssl_ciph.c +++ b/ssl/ssl_ciph.c @@ -22,6 +22,9 @@ #include "internal/thread_once.h" #include "internal/cryptlib.h" +DEFINE_STACK_OF(SSL_COMP) +DEFINE_STACK_OF_CONST(SSL_CIPHER) + #define SSL_ENC_DES_IDX 0 #define SSL_ENC_3DES_IDX 1 #define SSL_ENC_RC4_IDX 2 diff --git a/ssl/ssl_conf.c b/ssl/ssl_conf.c index cccda866..9408acc8 100644 --- a/ssl/ssl_conf.c +++ b/ssl/ssl_conf.c @@ -14,6 +14,8 @@ #include #include "internal/nelem.h" +DEFINE_STACK_OF(X509_NAME) + /* * structure holding name tables. This is used for permitted elements in lists * such as TLSv1. diff --git a/ssl/ssl_init.c b/ssl/ssl_init.c index 3e854261..b1797f8e 100644 --- a/ssl/ssl_init.c +++ b/ssl/ssl_init.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index 22dc10bf..7be75237 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -26,6 +26,14 @@ #include "internal/refcount.h" #include "internal/ktls.h" +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_NAME) +DEFINE_STACK_OF_CONST(SSL_CIPHER) +DEFINE_STACK_OF(X509_EXTENSION) +DEFINE_STACK_OF(OCSP_RESPID) +DEFINE_STACK_OF(SRTP_PROTECTION_PROFILE) +DEFINE_STACK_OF(SCT) + static int ssl_undefined_function_1(SSL *ssl, SSL3_RECORD *r, size_t s, int t) { (void)r; diff --git a/ssl/ssl_local.h b/ssl/ssl_local.h index 84016c5b..98cd866f 100644 --- a/ssl/ssl_local.h +++ b/ssl/ssl_local.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -1769,6 +1769,7 @@ typedef struct sigalg_lookup_st { typedef struct tls_group_info_st { int nid; /* Curve NID */ + const char *keytype; int secbits; /* Bits of security (from SP800-57) */ uint32_t flags; /* For group type and applicable TLS versions */ uint16_t group_id; /* Group ID */ @@ -2136,6 +2137,8 @@ typedef enum downgrade_en { #define TLSEXT_SIGALG_dsa_sha512 0x0602 #define TLSEXT_SIGALG_dsa_sha224 0x0302 #define TLSEXT_SIGALG_dsa_sha1 0x0202 +#define TLSEXT_SIGALG_gostr34102012_256_intrinsic 0x0840 +#define TLSEXT_SIGALG_gostr34102012_512_intrinsic 0x0841 #define TLSEXT_SIGALG_gostr34102012_256_gostr34112012_256 0xeeee #define TLSEXT_SIGALG_gostr34102012_512_gostr34112012_512 0xefef #define TLSEXT_SIGALG_gostr34102001_gostr3411 0xeded @@ -2723,7 +2726,8 @@ __owur int ssl_log_secret(SSL *ssl, const char *label, /* s3_cbc.c */ __owur char ssl3_cbc_record_digest_supported(const EVP_MD_CTX *ctx); -__owur int ssl3_cbc_digest_record(const EVP_MD_CTX *ctx, +__owur int ssl3_cbc_digest_record(SSL *s, + const EVP_MD_CTX *ctx, unsigned char *md_out, size_t *md_out_size, const unsigned char header[13], diff --git a/ssl/ssl_rsa.c b/ssl/ssl_rsa.c index 09b965fc..7a699747 100644 --- a/ssl/ssl_rsa.c +++ b/ssl/ssl_rsa.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -17,6 +17,8 @@ #include #include +DEFINE_STACK_OF(X509) + static int ssl_set_cert(CERT *c, X509 *x509); static int ssl_set_pkey(CERT *c, EVP_PKEY *pkey); @@ -264,12 +266,15 @@ int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type) } if (type == SSL_FILETYPE_PEM) { j = ERR_R_PEM_LIB; - pkey = PEM_read_bio_PrivateKey(in, NULL, - ssl->default_passwd_callback, - ssl->default_passwd_callback_userdata); + pkey = PEM_read_bio_PrivateKey_ex(in, NULL, + ssl->default_passwd_callback, + ssl->default_passwd_callback_userdata, + ssl->ctx->libctx, + ssl->ctx->propq); } else if (type == SSL_FILETYPE_ASN1) { j = ERR_R_ASN1_LIB; - pkey = d2i_PrivateKey_bio(in, NULL); + pkey = d2i_PrivateKey_ex_bio(in, NULL, ssl->ctx->libctx, + ssl->ctx->propq); } else { SSLerr(SSL_F_SSL_USE_PRIVATEKEY_FILE, SSL_R_BAD_SSL_FILETYPE); goto end; @@ -293,7 +298,8 @@ int SSL_use_PrivateKey_ASN1(int type, SSL *ssl, const unsigned char *d, EVP_PKEY *pkey; p = d; - if ((pkey = d2i_PrivateKey(type, NULL, &p, (long)len)) == NULL) { + if ((pkey = d2i_PrivateKey_ex(type, NULL, &p, (long)len, ssl->ctx->libctx, + ssl->ctx->propq)) == NULL) { SSLerr(SSL_F_SSL_USE_PRIVATEKEY_ASN1, ERR_R_ASN1_LIB); return 0; } @@ -551,12 +557,13 @@ int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type) } if (type == SSL_FILETYPE_PEM) { j = ERR_R_PEM_LIB; - pkey = PEM_read_bio_PrivateKey(in, NULL, + pkey = PEM_read_bio_PrivateKey_ex(in, NULL, ctx->default_passwd_callback, - ctx->default_passwd_callback_userdata); + ctx->default_passwd_callback_userdata, + ctx->libctx, ctx->propq); } else if (type == SSL_FILETYPE_ASN1) { j = ERR_R_ASN1_LIB; - pkey = d2i_PrivateKey_bio(in, NULL); + pkey = d2i_PrivateKey_ex_bio(in, NULL, ctx->libctx, ctx->propq); } else { SSLerr(SSL_F_SSL_CTX_USE_PRIVATEKEY_FILE, SSL_R_BAD_SSL_FILETYPE); goto end; @@ -580,7 +587,8 @@ int SSL_CTX_use_PrivateKey_ASN1(int type, SSL_CTX *ctx, EVP_PKEY *pkey; p = d; - if ((pkey = d2i_PrivateKey(type, NULL, &p, (long)len)) == NULL) { + if ((pkey = d2i_PrivateKey_ex(type, NULL, &p, (long)len, ctx->libctx, + ctx->propq)) == NULL) { SSLerr(SSL_F_SSL_CTX_USE_PRIVATEKEY_ASN1, ERR_R_ASN1_LIB); return 0; } diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c index e3933075..8b8c59a9 100644 --- a/ssl/ssl_sess.c +++ b/ssl/ssl_sess.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright 2005 Nokia. All rights reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -16,6 +16,8 @@ #include "ssl_local.h" #include "statem/statem_local.h" +DEFINE_STACK_OF(X509) + static void SSL_SESSION_list_remove(SSL_CTX *ctx, SSL_SESSION *s); static void SSL_SESSION_list_add(SSL_CTX *ctx, SSL_SESSION *s); static int remove_session_lock(SSL_CTX *ctx, SSL_SESSION *c, int lck); diff --git a/ssl/ssl_txt.c b/ssl/ssl_txt.c index bc3fcfbd..c4c030b9 100644 --- a/ssl/ssl_txt.c +++ b/ssl/ssl_txt.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright 2005 Nokia. All rights reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/ssl/statem/extensions.c b/ssl/statem/extensions.c index 1f29b8d6..3c023486 100644 --- a/ssl/statem/extensions.c +++ b/ssl/statem/extensions.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 @@ -14,6 +14,8 @@ #include "statem_local.h" #include "internal/cryptlib.h" +DEFINE_STACK_OF(X509_NAME) + static int final_renegotiate(SSL *s, unsigned int context, int sent); static int init_server_name(SSL *s, unsigned int context); static int final_server_name(SSL *s, unsigned int context, int sent); diff --git a/ssl/statem/extensions_clnt.c b/ssl/statem/extensions_clnt.c index b32de2a6..e3b51729 100644 --- a/ssl/statem/extensions_clnt.c +++ b/ssl/statem/extensions_clnt.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 @@ -12,6 +12,10 @@ #include "internal/cryptlib.h" #include "statem_local.h" +DEFINE_STACK_OF(SRTP_PROTECTION_PROFILE) +DEFINE_STACK_OF_CONST(SSL_CIPHER) +DEFINE_STACK_OF(OCSP_RESPID) + EXT_RETURN tls_construct_ctos_renegotiate(SSL *s, WPACKET *pkt, unsigned int context, X509 *x, size_t chainidx) diff --git a/ssl/statem/extensions_srvr.c b/ssl/statem/extensions_srvr.c index 30b79e47..fc11a1c9 100644 --- a/ssl/statem/extensions_srvr.c +++ b/ssl/statem/extensions_srvr.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 @@ -12,6 +12,10 @@ #include "statem_local.h" #include "internal/cryptlib.h" +DEFINE_STACK_OF(SRTP_PROTECTION_PROFILE) +DEFINE_STACK_OF(OCSP_RESPID) +DEFINE_STACK_OF(X509_EXTENSION) + #define COOKIE_STATE_FORMAT_VERSION 0 /* diff --git a/ssl/statem/statem_clnt.c b/ssl/statem/statem_clnt.c index 6a52e1a3..3e65f971 100644 --- a/ssl/statem/statem_clnt.c +++ b/ssl/statem/statem_clnt.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -25,6 +25,10 @@ #include #include +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(SSL_COMP) +DEFINE_STACK_OF_CONST(SSL_CIPHER) + static MSG_PROCESS_RETURN tls_process_as_hello_retry_request(SSL *s, PACKET *pkt); static MSG_PROCESS_RETURN tls_process_encrypted_extensions(SSL *s, PACKET *pkt); diff --git a/ssl/statem/statem_lib.c b/ssl/statem/statem_lib.c index 0525eb9c..f6d0c6be 100644 --- a/ssl/statem/statem_lib.c +++ b/ssl/statem/statem_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -21,6 +21,10 @@ #include #include +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_NAME) +DEFINE_STACK_OF_CONST(SSL_CIPHER) + /* * Map error codes to TLS/SSL alart types. */ diff --git a/ssl/statem/statem_srvr.c b/ssl/statem/statem_srvr.c index 22072fbe..61fdaccc 100644 --- a/ssl/statem/statem_srvr.c +++ b/ssl/statem/statem_srvr.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -26,6 +26,10 @@ #include #include +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(SSL_COMP) +DEFINE_STACK_OF_CONST(SSL_CIPHER) + #define TICKET_NONCE_SIZE 8 typedef struct { @@ -2634,8 +2638,10 @@ int tls_construct_server_key_exchange(SSL *s, WPACKET *pkt) * THIS IS TEMPORARY */ EVP_PKEY_get0(s->s3.tmp.pkey); - if (EVP_PKEY_id(s->s3.tmp.pkey) == EVP_PKEY_NONE) + if (EVP_PKEY_id(s->s3.tmp.pkey) == EVP_PKEY_NONE) { + SSLfatal(s, SSL_AD_INTERNAL_ERROR, 0, ERR_R_EC_LIB); goto err; + } /* Encode the public key. */ encodedlen = EVP_PKEY_get1_tls_encodedpoint(s->s3.tmp.pkey, diff --git a/ssl/t1_enc.c b/ssl/t1_enc.c index 0a5c770a..4a836fa1 100644 --- a/ssl/t1_enc.c +++ b/ssl/t1_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright 2005 Nokia. All rights reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index c30a628f..8e230849 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -26,6 +26,10 @@ #include "ssl_local.h" #include +DEFINE_STACK_OF_CONST(SSL_CIPHER) +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_NAME) + static const SIGALG_LOOKUP *find_sig_alg(SSL *s, X509 *x, EVP_PKEY *pkey); static int tls12_sigalg_allowed(const SSL *s, int op, const SIGALG_LOOKUP *lu); @@ -142,44 +146,53 @@ int tls1_clear(SSL *s) #if !defined(OPENSSL_NO_DH) || !defined(OPENSSL_NO_EC) static const TLS_GROUP_INFO nid_list[] = { # ifndef OPENSSL_NO_EC - {NID_sect163k1, 80, TLS_GROUP_CURVE_CHAR2, 0x0001}, /* sect163k1 (1) */ - {NID_sect163r1, 80, TLS_GROUP_CURVE_CHAR2, 0x0002}, /* sect163r1 (2) */ - {NID_sect163r2, 80, TLS_GROUP_CURVE_CHAR2, 0x0003}, /* sect163r2 (3) */ - {NID_sect193r1, 80, TLS_GROUP_CURVE_CHAR2, 0x0004}, /* sect193r1 (4) */ - {NID_sect193r2, 80, TLS_GROUP_CURVE_CHAR2, 0x0005}, /* sect193r2 (5) */ - {NID_sect233k1, 112, TLS_GROUP_CURVE_CHAR2, 0x0006}, /* sect233k1 (6) */ - {NID_sect233r1, 112, TLS_GROUP_CURVE_CHAR2, 0x0007}, /* sect233r1 (7) */ - {NID_sect239k1, 112, TLS_GROUP_CURVE_CHAR2, 0x0008}, /* sect239k1 (8) */ - {NID_sect283k1, 128, TLS_GROUP_CURVE_CHAR2, 0x0009}, /* sect283k1 (9) */ - {NID_sect283r1, 128, TLS_GROUP_CURVE_CHAR2, 0x000A}, /* sect283r1 (10) */ - {NID_sect409k1, 192, TLS_GROUP_CURVE_CHAR2, 0x000B}, /* sect409k1 (11) */ - {NID_sect409r1, 192, TLS_GROUP_CURVE_CHAR2, 0x000C}, /* sect409r1 (12) */ - {NID_sect571k1, 256, TLS_GROUP_CURVE_CHAR2, 0x000D}, /* sect571k1 (13) */ - {NID_sect571r1, 256, TLS_GROUP_CURVE_CHAR2, 0x000E}, /* sect571r1 (14) */ - {NID_secp160k1, 80, TLS_GROUP_CURVE_PRIME, 0x000F}, /* secp160k1 (15) */ - {NID_secp160r1, 80, TLS_GROUP_CURVE_PRIME, 0x0010}, /* secp160r1 (16) */ - {NID_secp160r2, 80, TLS_GROUP_CURVE_PRIME, 0x0011}, /* secp160r2 (17) */ - {NID_secp192k1, 80, TLS_GROUP_CURVE_PRIME, 0x0012}, /* secp192k1 (18) */ - {NID_X9_62_prime192v1, 80, TLS_GROUP_CURVE_PRIME, 0x0013}, /* secp192r1 (19) */ - {NID_secp224k1, 112, TLS_GROUP_CURVE_PRIME, 0x0014}, /* secp224k1 (20) */ - {NID_secp224r1, 112, TLS_GROUP_CURVE_PRIME, 0x0015}, /* secp224r1 (21) */ - {NID_secp256k1, 128, TLS_GROUP_CURVE_PRIME, 0x0016}, /* secp256k1 (22) */ - {NID_X9_62_prime256v1, 128, TLS_GROUP_CURVE_PRIME, 0x0017}, /* secp256r1 (23) */ - {NID_secp384r1, 192, TLS_GROUP_CURVE_PRIME, 0x0018}, /* secp384r1 (24) */ - {NID_secp521r1, 256, TLS_GROUP_CURVE_PRIME, 0x0019}, /* secp521r1 (25) */ - {NID_brainpoolP256r1, 128, TLS_GROUP_CURVE_PRIME, 0x001A}, /* brainpoolP256r1 (26) */ - {NID_brainpoolP384r1, 192, TLS_GROUP_CURVE_PRIME, 0x001B}, /* brainpoolP384r1 (27) */ - {NID_brainpoolP512r1, 256, TLS_GROUP_CURVE_PRIME, 0x001C}, /* brainpool512r1 (28) */ - {EVP_PKEY_X25519, 128, TLS_GROUP_CURVE_CUSTOM, 0x001D}, /* X25519 (29) */ - {EVP_PKEY_X448, 224, TLS_GROUP_CURVE_CUSTOM, 0x001E}, /* X448 (30) */ + {NID_sect163k1, "EC", 80, TLS_GROUP_CURVE_CHAR2, 0x0001}, /* sect163k1 (1) */ + {NID_sect163r1, "EC", 80, TLS_GROUP_CURVE_CHAR2, 0x0002}, /* sect163r1 (2) */ + {NID_sect163r2, "EC", 80, TLS_GROUP_CURVE_CHAR2, 0x0003}, /* sect163r2 (3) */ + {NID_sect193r1, "EC", 80, TLS_GROUP_CURVE_CHAR2, 0x0004}, /* sect193r1 (4) */ + {NID_sect193r2, "EC", 80, TLS_GROUP_CURVE_CHAR2, 0x0005}, /* sect193r2 (5) */ + {NID_sect233k1, "EC", 112, TLS_GROUP_CURVE_CHAR2, 0x0006}, /* sect233k1 (6) */ + {NID_sect233r1, "EC", 112, TLS_GROUP_CURVE_CHAR2, 0x0007}, /* sect233r1 (7) */ + {NID_sect239k1, "EC", 112, TLS_GROUP_CURVE_CHAR2, 0x0008}, /* sect239k1 (8) */ + {NID_sect283k1, "EC", 128, TLS_GROUP_CURVE_CHAR2, 0x0009}, /* sect283k1 (9) */ + {NID_sect283r1, "EC", 128, TLS_GROUP_CURVE_CHAR2, 0x000A}, /* sect283r1 (10) */ + {NID_sect409k1, "EC", 192, TLS_GROUP_CURVE_CHAR2, 0x000B}, /* sect409k1 (11) */ + {NID_sect409r1, "EC", 192, TLS_GROUP_CURVE_CHAR2, 0x000C}, /* sect409r1 (12) */ + {NID_sect571k1, "EC", 256, TLS_GROUP_CURVE_CHAR2, 0x000D}, /* sect571k1 (13) */ + {NID_sect571r1, "EC", 256, TLS_GROUP_CURVE_CHAR2, 0x000E}, /* sect571r1 (14) */ + {NID_secp160k1, "EC", 80, TLS_GROUP_CURVE_PRIME, 0x000F}, /* secp160k1 (15) */ + {NID_secp160r1, "EC", 80, TLS_GROUP_CURVE_PRIME, 0x0010}, /* secp160r1 (16) */ + {NID_secp160r2, "EC", 80, TLS_GROUP_CURVE_PRIME, 0x0011}, /* secp160r2 (17) */ + {NID_secp192k1, "EC", 80, TLS_GROUP_CURVE_PRIME, 0x0012}, /* secp192k1 (18) */ + {NID_X9_62_prime192v1, "EC", 80, TLS_GROUP_CURVE_PRIME, 0x0013}, /* secp192r1 (19) */ + {NID_secp224k1, "EC", 112, TLS_GROUP_CURVE_PRIME, 0x0014}, /* secp224k1 (20) */ + {NID_secp224r1, "EC", 112, TLS_GROUP_CURVE_PRIME, 0x0015}, /* secp224r1 (21) */ + {NID_secp256k1, "EC", 128, TLS_GROUP_CURVE_PRIME, 0x0016}, /* secp256k1 (22) */ + {NID_X9_62_prime256v1, "EC", 128, TLS_GROUP_CURVE_PRIME, 0x0017}, /* secp256r1 (23) */ + {NID_secp384r1, "EC", 192, TLS_GROUP_CURVE_PRIME, 0x0018}, /* secp384r1 (24) */ + {NID_secp521r1, "EC", 256, TLS_GROUP_CURVE_PRIME, 0x0019}, /* secp521r1 (25) */ + {NID_brainpoolP256r1, "EC", 128, TLS_GROUP_CURVE_PRIME, 0x001A}, /* brainpoolP256r1 (26) */ + {NID_brainpoolP384r1, "EC", 192, TLS_GROUP_CURVE_PRIME, 0x001B}, /* brainpoolP384r1 (27) */ + {NID_brainpoolP512r1, "EC", 256, TLS_GROUP_CURVE_PRIME, 0x001C}, /* brainpool512r1 (28) */ + {EVP_PKEY_X25519, "X25519", 128, TLS_GROUP_CURVE_CUSTOM, 0x001D}, /* X25519 (29) */ + {EVP_PKEY_X448, "X448", 224, TLS_GROUP_CURVE_CUSTOM, 0x001E}, /* X448 (30) */ # endif /* OPENSSL_NO_EC */ +# ifndef OPENSSL_NO_GOST + {NID_id_tc26_gost_3410_2012_256_paramSetA, "GOST_2012_256", 112, TLS_GROUP_CURVE_PRIME, 0x0022}, /* GC256A (34) */ + {NID_id_tc26_gost_3410_2012_256_paramSetB, "GOST_2012_256", 112, TLS_GROUP_CURVE_PRIME, 0x0023}, /* GC256B (35) */ + {NID_id_tc26_gost_3410_2012_256_paramSetC, "GOST_2012_256", 112, TLS_GROUP_CURVE_PRIME, 0x0024}, /* GC256C (36) */ + {NID_id_tc26_gost_3410_2012_256_paramSetD, "GOST_2012_256", 112, TLS_GROUP_CURVE_PRIME, 0x0025}, /* GC256D (37) */ + {NID_id_tc26_gost_3410_2012_512_paramSetA, "GOST_2012_512", 112, TLS_GROUP_CURVE_PRIME, 0x0026}, /* GC512A (38) */ + {NID_id_tc26_gost_3410_2012_512_paramSetB, "GOST_2012_512", 112, TLS_GROUP_CURVE_PRIME, 0x0027}, /* GC512B (39) */ + {NID_id_tc26_gost_3410_2012_512_paramSetC, "GOST_2012_512", 112, TLS_GROUP_CURVE_PRIME, 0x0028}, /* GC512C (40) */ +# endif /* OPENSSL_NO_GOST */ # ifndef OPENSSL_NO_DH /* Security bit values for FFDHE groups are updated as per RFC 7919 */ - {NID_ffdhe2048, 103, TLS_GROUP_FFDHE_FOR_TLS1_3, 0x0100}, /* ffdhe2048 (0x0100) */ - {NID_ffdhe3072, 125, TLS_GROUP_FFDHE_FOR_TLS1_3, 0x0101}, /* ffdhe3072 (0x0101) */ - {NID_ffdhe4096, 150, TLS_GROUP_FFDHE_FOR_TLS1_3, 0x0102}, /* ffdhe4096 (0x0102) */ - {NID_ffdhe6144, 175, TLS_GROUP_FFDHE_FOR_TLS1_3, 0x0103}, /* ffdhe6144 (0x0103) */ - {NID_ffdhe8192, 192, TLS_GROUP_FFDHE_FOR_TLS1_3, 0x0104}, /* ffdhe8192 (0x0104) */ + {NID_ffdhe2048, "DH", 103, TLS_GROUP_FFDHE_FOR_TLS1_3, 0x0100}, /* ffdhe2048 (0x0100) */ + {NID_ffdhe3072, "DH", 125, TLS_GROUP_FFDHE_FOR_TLS1_3, 0x0101}, /* ffdhe3072 (0x0101) */ + {NID_ffdhe4096, "DH", 150, TLS_GROUP_FFDHE_FOR_TLS1_3, 0x0102}, /* ffdhe4096 (0x0102) */ + {NID_ffdhe6144, "DH", 175, TLS_GROUP_FFDHE_FOR_TLS1_3, 0x0103}, /* ffdhe6144 (0x0103) */ + {NID_ffdhe8192, "DH", 192, TLS_GROUP_FFDHE_FOR_TLS1_3, 0x0104}, /* ffdhe8192 (0x0104) */ # endif /* OPENSSL_NO_DH */ }; #endif @@ -202,6 +215,15 @@ static const uint16_t supported_groups_default[] = { 25, /* secp521r1 (25) */ 24, /* secp384r1 (24) */ # endif +# ifndef OPENSSL_NO_GOST + 34, /* GC256A (34) */ + 35, /* GC256B (35) */ + 36, /* GC256C (36) */ + 37, /* GC256D (37) */ + 38, /* GC512A (38) */ + 39, /* GC512B (39) */ + 40, /* GC512C (40) */ +# endif # ifndef OPENSSL_NO_DH 0x100, /* ffdhe2048 (0x100) */ 0x101, /* ffdhe3072 (0x101) */ @@ -752,6 +774,8 @@ static const uint16_t tls12_sigalgs[] = { TLSEXT_SIGALG_dsa_sha512, #endif #ifndef OPENSSL_NO_GOST + TLSEXT_SIGALG_gostr34102012_256_intrinsic, + TLSEXT_SIGALG_gostr34102012_512_intrinsic, TLSEXT_SIGALG_gostr34102012_256_gostr34112012_256, TLSEXT_SIGALG_gostr34102012_512_gostr34112012_512, TLSEXT_SIGALG_gostr34102001_gostr3411, @@ -840,6 +864,14 @@ static const SIGALG_LOOKUP sigalg_lookup_tbl[] = { NID_dsaWithSHA1, NID_undef}, #endif #ifndef OPENSSL_NO_GOST + {NULL, TLSEXT_SIGALG_gostr34102012_256_intrinsic, + NID_id_GostR3411_2012_256, SSL_MD_GOST12_256_IDX, + NID_id_GostR3410_2012_256, SSL_PKEY_GOST12_256, + NID_undef, NID_undef}, + {NULL, TLSEXT_SIGALG_gostr34102012_512_intrinsic, + NID_id_GostR3411_2012_512, SSL_MD_GOST12_512_IDX, + NID_id_GostR3410_2012_512, SSL_PKEY_GOST12_512, + NID_undef, NID_undef}, {NULL, TLSEXT_SIGALG_gostr34102012_256_gostr34112012_256, NID_id_GostR3411_2012_256, SSL_MD_GOST12_256_IDX, NID_id_GostR3410_2012_256, SSL_PKEY_GOST12_256, @@ -872,8 +904,8 @@ static const uint16_t tls_default_sigalg[] = { TLSEXT_SIGALG_dsa_sha1, /* SSL_PKEY_DSA_SIGN */ TLSEXT_SIGALG_ecdsa_sha1, /* SSL_PKEY_ECC */ TLSEXT_SIGALG_gostr34102001_gostr3411, /* SSL_PKEY_GOST01 */ - TLSEXT_SIGALG_gostr34102012_256_gostr34112012_256, /* SSL_PKEY_GOST12_256 */ - TLSEXT_SIGALG_gostr34102012_512_gostr34112012_512, /* SSL_PKEY_GOST12_512 */ + TLSEXT_SIGALG_gostr34102012_256_intrinsic, /* SSL_PKEY_GOST12_256 */ + TLSEXT_SIGALG_gostr34102012_512_intrinsic, /* SSL_PKEY_GOST12_512 */ 0, /* SSL_PKEY_ED25519 */ 0, /* SSL_PKEY_ED448 */ }; @@ -2225,7 +2257,7 @@ static int tls1_check_sig_alg(SSL *s, X509 *x, int default_nid) sigalg = use_pc_sigalgs ? tls1_lookup_sigalg(s->s3.tmp.peer_cert_sigalgs[i]) : s->shared_sigalgs[i]; - if (sig_nid == sigalg->sigandhash) + if (sigalg != NULL && sig_nid == sigalg->sigandhash) return 1; } return 0; diff --git a/ssl/t1_trce.c b/ssl/t1_trce.c index 7c0b548e..9f018ce1 100644 --- a/ssl/t1_trce.c +++ b/ssl/t1_trce.c @@ -522,6 +522,13 @@ static const ssl_trace_tbl ssl_groups_tbl[] = { {28, "brainpoolP512r1"}, {29, "ecdh_x25519"}, {30, "ecdh_x448"}, + {34, "GC256A"}, + {35, "GC256B"}, + {36, "GC256C"}, + {37, "GC256D"}, + {38, "GC512A"}, + {39, "GC512B"}, + {40, "GC512C"}, {256, "ffdhe2048"}, {257, "ffdhe3072"}, {258, "ffdhe4096"}, @@ -569,6 +576,8 @@ static const ssl_trace_tbl ssl_sigalg_tbl[] = { {TLSEXT_SIGALG_dsa_sha512, "dsa_sha512"}, {TLSEXT_SIGALG_dsa_sha224, "dsa_sha224"}, {TLSEXT_SIGALG_dsa_sha1, "dsa_sha1"}, + {TLSEXT_SIGALG_gostr34102012_256_intrinsic, "gost2012_256"}, + {TLSEXT_SIGALG_gostr34102012_512_intrinsic, "gost2012_512"}, {TLSEXT_SIGALG_gostr34102012_256_gostr34112012_256, "gost2012_256"}, {TLSEXT_SIGALG_gostr34102012_512_gostr34112012_512, "gost2012_512"}, {TLSEXT_SIGALG_gostr34102001_gostr3411, "gost2001_gost94"}, diff --git a/ssl/tls13_enc.c b/ssl/tls13_enc.c index 181f3920..0b317f28 100644 --- a/ssl/tls13_enc.c +++ b/ssl/tls13_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/ssl/tls_srp.c b/ssl/tls_srp.c index 311f5077..c30d263b 100644 --- a/ssl/tls_srp.c +++ b/ssl/tls_srp.c @@ -1,5 +1,5 @@ /* - * Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2004-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2004, EdelKey Project. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/test/asn1_time_test.c b/test/asn1_time_test.c index b1a107da..9dbad22a 100644 --- a/test/asn1_time_test.c +++ b/test/asn1_time_test.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2020 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 diff --git a/test/asynciotest.c b/test/asynciotest.c index dcdee106..4147ee12 100644 --- a/test/asynciotest.c +++ b/test/asynciotest.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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. @@ -296,7 +296,8 @@ static int test_asyncio(int test) const char testdata[] = "Test data"; char buf[sizeof(testdata)]; - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), + if (!TEST_true(create_ssl_ctx_pair(NULL, TLS_server_method(), + TLS_client_method(), TLS1_VERSION, 0, &serverctx, &clientctx, cert, privkey))) goto end; diff --git a/test/bad_dtls_test.c b/test/bad_dtls_test.c index 9716b521..bfbaa795 100644 --- a/test/bad_dtls_test.c +++ b/test/bad_dtls_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/test/bftest.c b/test/bftest.c index f350ce7f..8da47bc7 100644 --- a/test/bftest.c +++ b/test/bftest.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/test/casttest.c b/test/casttest.c index 09435bde..5bc47e82 100644 --- a/test/casttest.c +++ b/test/casttest.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/test/certs/mkcert.sh b/test/certs/mkcert.sh index 7a2092aa..32fd5874 100755 --- a/test/certs/mkcert.sh +++ b/test/certs/mkcert.sh @@ -1,6 +1,6 @@ #! /bin/bash # -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # Copyright (c) 2016 Viktor Dukhovni . # All rights reserved. # diff --git a/test/cipherbytes_test.c b/test/cipherbytes_test.c index 370d033a..9e2c5eaa 100644 --- a/test/cipherbytes_test.c +++ b/test/cipherbytes_test.c @@ -21,6 +21,8 @@ #include "internal/nelem.h" #include "testutil.h" +DEFINE_STACK_OF(SSL_CIPHER) + static SSL_CTX *ctx; static SSL *s; diff --git a/test/cipherlist_test.c b/test/cipherlist_test.c index b950411c..3bc103c7 100644 --- a/test/cipherlist_test.c +++ b/test/cipherlist_test.c @@ -21,6 +21,8 @@ #include "internal/nelem.h" #include "testutil.h" +DEFINE_STACK_OF_CONST(SSL_CIPHER) + typedef struct cipherlist_test_fixture { const char *test_case_name; SSL_CTX *server; diff --git a/test/ciphername_test.c b/test/ciphername_test.c index c4ec6cad..c82a1648 100644 --- a/test/ciphername_test.c +++ b/test/ciphername_test.c @@ -22,6 +22,8 @@ #include "internal/nelem.h" #include "testutil.h" +DEFINE_STACK_OF(SSL_CIPHER) + typedef struct cipher_id_name { int id; const char *name; diff --git a/test/clienthellotest.c b/test/clienthellotest.c index 9a753744..6d7fb499 100644 --- a/test/clienthellotest.c +++ b/test/clienthellotest.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 diff --git a/test/cmp_client_test.c b/test/cmp_client_test.c index 057d079f..b1066234 100644 --- a/test/cmp_client_test.c +++ b/test/cmp_client_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * @@ -15,6 +15,9 @@ #ifndef NDEBUG /* tests need mock server, which is available only if !NDEBUG */ +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(OSSL_CMP_ITAV) + static const char *server_key_f; static const char *server_cert_f; static const char *client_key_f; diff --git a/test/cmp_ctx_test.c b/test/cmp_ctx_test.c index e6b42db1..a2a8adc8 100644 --- a/test/cmp_ctx_test.c +++ b/test/cmp_ctx_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * @@ -13,6 +13,12 @@ #include +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(ASN1_UTF8STRING) +DEFINE_STACK_OF(X509_EXTENSION) +DEFINE_STACK_OF(OSSL_CMP_ITAV) +DEFINE_STACK_OF(POLICYINFO) + typedef struct test_fixture { const char *test_case_name; OSSL_CMP_CTX *ctx; diff --git a/test/cmp_hdr_test.c b/test/cmp_hdr_test.c index feba118c..cd30c497 100644 --- a/test/cmp_hdr_test.c +++ b/test/cmp_hdr_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * @@ -11,6 +11,9 @@ #include "cmp_testlib.h" +DEFINE_STACK_OF(OSSL_CMP_ITAV) +DEFINE_STACK_OF(ASN1_UTF8STRING) + static unsigned char rand_data[OSSL_CMP_TRANSACTIONID_LENGTH]; typedef struct test_fixture { diff --git a/test/cmp_msg_test.c b/test/cmp_msg_test.c index 2111a212..413e284f 100644 --- a/test/cmp_msg_test.c +++ b/test/cmp_msg_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * @@ -11,6 +11,8 @@ #include "cmp_testlib.h" +DEFINE_STACK_OF(OSSL_CMP_CERTRESPONSE) + static const char *server_cert_f; static const char *pkcs10_f; diff --git a/test/cmp_protect_test.c b/test/cmp_protect_test.c index a506ec33..ce5a6cb4 100644 --- a/test/cmp_protect_test.c +++ b/test/cmp_protect_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * @@ -11,6 +11,8 @@ #include "cmp_testlib.h" +DEFINE_STACK_OF(X509) + static const char *ir_protected_f; static const char *ir_unprotected_f; static const char *ip_PBM_f; @@ -101,7 +103,7 @@ static int verify_signature(OSSL_CMP_MSG *msg, ASN1_BIT_STRING *protection, EVP_PKEY *pkey, int digest_nid) { - CMP_PROTECTEDPART prot_part; + OSSL_CMP_PROTECTEDPART prot_part; unsigned char *prot_part_der = NULL; int len; EVP_MD_CTX *ctx = NULL; @@ -110,8 +112,9 @@ static int verify_signature(OSSL_CMP_MSG *msg, prot_part.header = OSSL_CMP_MSG_get0_header(msg); prot_part.body = msg->body; + len = i2d_OSSL_CMP_PROTECTEDPART(&prot_part, &prot_part_der); res = - TEST_int_ge(len = i2d_CMP_PROTECTEDPART(&prot_part, &prot_part_der), 0) + TEST_int_ge(len, 0) && TEST_ptr(ctx = EVP_MD_CTX_new()) && TEST_true(EVP_DigestVerifyInit(ctx, NULL, digest, NULL, pkey)) && TEST_int_eq(EVP_DigestVerify(ctx, protection->data, diff --git a/test/cmp_status_test.c b/test/cmp_status_test.c index 15cd6a5f..bf6699a2 100644 --- a/test/cmp_status_test.c +++ b/test/cmp_status_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * @@ -11,6 +11,8 @@ #include "cmp_testlib.h" +DEFINE_STACK_OF(ASN1_UTF8STRING) + typedef struct test_fixture { const char *test_case_name; int pkistatus; diff --git a/test/cmp_testlib.c b/test/cmp_testlib.c index 12ef4f35..d25ab746 100644 --- a/test/cmp_testlib.c +++ b/test/cmp_testlib.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * @@ -12,6 +12,8 @@ #include "cmp_testlib.h" #include /* needed in case config no-deprecated */ +DEFINE_STACK_OF(X509) + EVP_PKEY *load_pem_key(const char *file) { EVP_PKEY *key = NULL; diff --git a/test/cmp_testlib.h b/test/cmp_testlib.h index e5f1af8f..92775105 100644 --- a/test/cmp_testlib.h +++ b/test/cmp_testlib.h @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * diff --git a/test/cmp_vfy_test.c b/test/cmp_vfy_test.c index 9fca675e..c74dd2fa 100644 --- a/test/cmp_vfy_test.c +++ b/test/cmp_vfy_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * @@ -11,6 +11,7 @@ #include "cmp_testlib.h" #include "../crypto/crmf/crmf_local.h" /* for manipulating POPO signature */ +DEFINE_STACK_OF(OSSL_CRMF_MSG) static const char *server_f; static const char *client_f; @@ -109,6 +110,7 @@ static int test_verify_popo(void) return result; } +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION static int test_verify_popo_bad(void) { SETUP_TEST_FIXTURE(CMP_VFY_TEST_FIXTURE, set_up); @@ -116,6 +118,7 @@ static int test_verify_popo_bad(void) EXECUTE_TEST(execute_verify_popo_test, tear_down); return result; } +#endif static int execute_validate_msg_test(CMP_VFY_TEST_FIXTURE *fixture) { @@ -444,6 +447,7 @@ static void setup_check_received(CMP_VFY_TEST_FIXTURE **fixture, int expected, } } +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION static int test_MSG_check_received_no_protection_no_cb(void) { SETUP_TEST_FIXTURE(CMP_VFY_TEST_FIXTURE, set_up); @@ -459,6 +463,7 @@ static int test_MSG_check_received_no_protection_restrictive_cb(void) EXECUTE_TEST(execute_MSG_check_received_test, tear_down); return result; } +#endif static int test_MSG_check_received_no_protection_permissive_cb(void) { @@ -484,6 +489,7 @@ static int test_MSG_check_received_check_transaction_id(void) return result; } +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION static int test_MSG_check_received_check_transaction_id_bad(void) { SETUP_TEST_FIXTURE(CMP_VFY_TEST_FIXTURE, set_up); @@ -491,6 +497,7 @@ static int test_MSG_check_received_check_transaction_id_bad(void) EXECUTE_TEST(execute_MSG_check_received_test, tear_down); return result; } +#endif static int test_MSG_check_received_check_recipient_nonce(void) { @@ -507,6 +514,7 @@ static int test_MSG_check_received_check_recipient_nonce(void) return result; } +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION static int test_MSG_check_received_check_recipient_nonce_bad(void) { SETUP_TEST_FIXTURE(CMP_VFY_TEST_FIXTURE, set_up); @@ -514,6 +522,7 @@ static int test_MSG_check_received_check_recipient_nonce_bad(void) EXECUTE_TEST(execute_MSG_check_received_test, tear_down); return result; } +#endif void cleanup_tests(void) { @@ -596,7 +605,9 @@ int setup_tests(void) /* Message validation tests */ ADD_TEST(test_verify_popo); +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION ADD_TEST(test_verify_popo_bad); +#endif ADD_TEST(test_validate_msg_signature_trusted_ok); ADD_TEST(test_validate_msg_signature_trusted_expired); ADD_TEST(test_validate_msg_signature_srvcert_wrong); @@ -617,13 +628,19 @@ int setup_tests(void) ADD_TEST(test_validate_cert_path_expired); ADD_TEST(test_validate_cert_path_wrong_anchor); +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION ADD_TEST(test_MSG_check_received_no_protection_no_cb); ADD_TEST(test_MSG_check_received_no_protection_restrictive_cb); +#endif ADD_TEST(test_MSG_check_received_no_protection_permissive_cb); ADD_TEST(test_MSG_check_received_check_transaction_id); +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION ADD_TEST(test_MSG_check_received_check_transaction_id_bad); +#endif ADD_TEST(test_MSG_check_received_check_recipient_nonce); +#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION ADD_TEST(test_MSG_check_received_check_recipient_nonce_bad); +#endif return 1; diff --git a/test/cmsapitest.c b/test/cmsapitest.c index 3ab1b82f..2ac330a8 100644 --- a/test/cmsapitest.c +++ b/test/cmsapitest.c @@ -1,5 +1,5 @@ /* - * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2018-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -16,6 +16,8 @@ #include "testutil.h" +DEFINE_STACK_OF(X509) + static X509 *cert = NULL; static EVP_PKEY *privkey = NULL; diff --git a/test/confdump.c b/test/confdump.c index dbf62446..48b3779d 100644 --- a/test/confdump.c +++ b/test/confdump.c @@ -14,6 +14,9 @@ #include #include +DEFINE_STACK_OF(CONF_VALUE) +DEFINE_STACK_OF_CSTRING() + static STACK_OF(OPENSSL_CSTRING) *section_names = NULL; static void collect_section_name(CONF_VALUE *v) diff --git a/test/crltest.c b/test/crltest.c index 6a2ef4e9..ac2d27b3 100644 --- a/test/crltest.c +++ b/test/crltest.c @@ -17,6 +17,9 @@ #include "testutil.h" +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_CRL) + #define PARAM_TIME 1474934400 /* Sep 27th, 2016 */ static const char *kCRLTestRoot[] = { diff --git a/test/ct_test.c b/test/ct_test.c index c55fb7ca..79ffcbf9 100644 --- a/test/ct_test.c +++ b/test/ct_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 @@ -21,6 +21,9 @@ #include #ifndef OPENSSL_NO_CT + +DEFINE_STACK_OF(SCT) + /* Used when declaring buffers to read text files into */ # define CT_TEST_MAX_FILE_SIZE 8096 diff --git a/test/curve448_internal_test.c b/test/curve448_internal_test.c index 953b56c0..1c1510a3 100644 --- a/test/curve448_internal_test.c +++ b/test/curve448_internal_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2020 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 diff --git a/test/d2i_test.c b/test/d2i_test.c index 84ba30fb..c095dfef 100644 --- a/test/d2i_test.c +++ b/test/d2i_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/test/danetest.c b/test/danetest.c index 9b616999..96b9579f 100644 --- a/test/danetest.c +++ b/test/danetest.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 @@ -26,6 +26,8 @@ #include "internal/nelem.h" +DEFINE_STACK_OF(X509) + #define _UC(c) ((unsigned char)(c)) static const char *basedomain; diff --git a/test/default-and-fips.cnf b/test/default-and-fips.cnf index 03f5a831..7a4d7655 100644 --- a/test/default-and-fips.cnf +++ b/test/default-and-fips.cnf @@ -1,6 +1,6 @@ openssl_conf = openssl_init -.include fipsinstall.cnf +.include fipsmodule.cnf [openssl_init] providers = provider_sect diff --git a/test/destest.c b/test/destest.c index 648bd352..b61c9eec 100644 --- a/test/destest.c +++ b/test/destest.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/test/dhtest.c b/test/dhtest.c index ebc45999..c293dab2 100644 --- a/test/dhtest.c +++ b/test/dhtest.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/test/drbgtest.c b/test/drbgtest.c index 34a5cc74..3354fe16 100644 --- a/test/drbgtest.c +++ b/test/drbgtest.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2011-2020 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 diff --git a/test/dsa_no_digest_size_test.c b/test/dsa_no_digest_size_test.c index 3ccf39ca..35bfa390 100644 --- a/test/dsa_no_digest_size_test.c +++ b/test/dsa_no_digest_size_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2018-2020 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 diff --git a/test/dsatest.c b/test/dsatest.c index 288efb71..eac4a17e 100644 --- a/test/dsatest.c +++ b/test/dsatest.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 @@ -23,6 +23,8 @@ #include #include #include +#include +#include #include "testutil.h" #include "internal/nelem.h" @@ -30,45 +32,6 @@ #ifndef OPENSSL_NO_DSA static int dsa_cb(int p, int n, BN_GENCB *arg); -/* - * seed, out_p, out_q, out_g are taken from the updated Appendix 5 to FIPS - * PUB 186 and also appear in Appendix 5 to FIPS PIB 186-1 - */ -static unsigned char seed[20] = { - 0xd5, 0x01, 0x4e, 0x4b, 0x60, 0xef, 0x2b, 0xa8, 0xb6, 0x21, 0x1b, 0x40, - 0x62, 0xba, 0x32, 0x24, 0xe0, 0x42, 0x7d, 0xd3, -}; - -static unsigned char out_p[] = { - 0x8d, 0xf2, 0xa4, 0x94, 0x49, 0x22, 0x76, 0xaa, - 0x3d, 0x25, 0x75, 0x9b, 0xb0, 0x68, 0x69, 0xcb, - 0xea, 0xc0, 0xd8, 0x3a, 0xfb, 0x8d, 0x0c, 0xf7, - 0xcb, 0xb8, 0x32, 0x4f, 0x0d, 0x78, 0x82, 0xe5, - 0xd0, 0x76, 0x2f, 0xc5, 0xb7, 0x21, 0x0e, 0xaf, - 0xc2, 0xe9, 0xad, 0xac, 0x32, 0xab, 0x7a, 0xac, - 0x49, 0x69, 0x3d, 0xfb, 0xf8, 0x37, 0x24, 0xc2, - 0xec, 0x07, 0x36, 0xee, 0x31, 0xc8, 0x02, 0x91, -}; - -static unsigned char out_q[] = { - 0xc7, 0x73, 0x21, 0x8c, 0x73, 0x7e, 0xc8, 0xee, - 0x99, 0x3b, 0x4f, 0x2d, 0xed, 0x30, 0xf4, 0x8e, - 0xda, 0xce, 0x91, 0x5f, -}; - -static unsigned char out_g[] = { - 0x62, 0x6d, 0x02, 0x78, 0x39, 0xea, 0x0a, 0x13, - 0x41, 0x31, 0x63, 0xa5, 0x5b, 0x4c, 0xb5, 0x00, - 0x29, 0x9d, 0x55, 0x22, 0x95, 0x6c, 0xef, 0xcb, - 0x3b, 0xff, 0x10, 0xf3, 0x99, 0xce, 0x2c, 0x2e, - 0x71, 0xcb, 0x9d, 0xe5, 0xfa, 0x24, 0xba, 0xbf, - 0x58, 0xe5, 0xb7, 0x95, 0x21, 0x92, 0x5c, 0x9c, - 0xc4, 0x2e, 0x9f, 0x6f, 0x46, 0x4b, 0x08, 0x8c, - 0xc5, 0x72, 0xaf, 0x53, 0xe6, 0xd7, 0x88, 0x02, -}; - -static const unsigned char str1[] = "12345678901234567890"; - static int dsa_test(void) { BN_GENCB *cb; @@ -79,6 +42,41 @@ static int dsa_test(void) unsigned char sig[256]; unsigned int siglen; const BIGNUM *p = NULL, *q = NULL, *g = NULL; + /* + * seed, out_p, out_q, out_g are taken from the updated Appendix 5 to FIPS + * PUB 186 and also appear in Appendix 5 to FIPS PIB 186-1 + */ + static unsigned char seed[20] = { + 0xd5, 0x01, 0x4e, 0x4b, 0x60, 0xef, 0x2b, 0xa8, + 0xb6, 0x21, 0x1b, 0x40, 0x62, 0xba, 0x32, 0x24, + 0xe0, 0x42, 0x7d, 0xd3, + }; + static unsigned char out_p[] = { + 0x8d, 0xf2, 0xa4, 0x94, 0x49, 0x22, 0x76, 0xaa, + 0x3d, 0x25, 0x75, 0x9b, 0xb0, 0x68, 0x69, 0xcb, + 0xea, 0xc0, 0xd8, 0x3a, 0xfb, 0x8d, 0x0c, 0xf7, + 0xcb, 0xb8, 0x32, 0x4f, 0x0d, 0x78, 0x82, 0xe5, + 0xd0, 0x76, 0x2f, 0xc5, 0xb7, 0x21, 0x0e, 0xaf, + 0xc2, 0xe9, 0xad, 0xac, 0x32, 0xab, 0x7a, 0xac, + 0x49, 0x69, 0x3d, 0xfb, 0xf8, 0x37, 0x24, 0xc2, + 0xec, 0x07, 0x36, 0xee, 0x31, 0xc8, 0x02, 0x91, + }; + static unsigned char out_q[] = { + 0xc7, 0x73, 0x21, 0x8c, 0x73, 0x7e, 0xc8, 0xee, + 0x99, 0x3b, 0x4f, 0x2d, 0xed, 0x30, 0xf4, 0x8e, + 0xda, 0xce, 0x91, 0x5f, + }; + static unsigned char out_g[] = { + 0x62, 0x6d, 0x02, 0x78, 0x39, 0xea, 0x0a, 0x13, + 0x41, 0x31, 0x63, 0xa5, 0x5b, 0x4c, 0xb5, 0x00, + 0x29, 0x9d, 0x55, 0x22, 0x95, 0x6c, 0xef, 0xcb, + 0x3b, 0xff, 0x10, 0xf3, 0x99, 0xce, 0x2c, 0x2e, + 0x71, 0xcb, 0x9d, 0xe5, 0xfa, 0x24, 0xba, 0xbf, + 0x58, 0xe5, 0xb7, 0x95, 0x21, 0x92, 0x5c, 0x9c, + 0xc4, 0x2e, 0x9f, 0x6f, 0x46, 0x4b, 0x08, 0x8c, + 0xc5, 0x72, 0xaf, 0x53, 0xe6, 0xd7, 0x88, 0x02, + }; + static const unsigned char str1[] = "12345678901234567890"; if (!TEST_ptr(cb = BN_GENCB_new())) goto end; @@ -136,12 +134,175 @@ static int dsa_cb(int p, int n, BN_GENCB *arg) } return 1; } + +# define P 0 +# define Q 1 +# define G 2 +# define SEED 3 +# define PCOUNT 4 +# define GINDEX 5 +# define HCOUNT 6 +# define GROUP 7 + +static int dsa_keygen_test(void) +{ + int ret = 0; + EVP_PKEY *param_key = NULL, *key = NULL; + EVP_PKEY_CTX *pg_ctx = NULL, *kg_ctx = NULL; + BIGNUM *p_in = NULL, *q_in = NULL, *g_in = NULL; + BIGNUM *p_out = NULL, *q_out = NULL, *g_out = NULL; + int gindex_out = 0, pcount_out = 0, hcount_out = 0; + unsigned char seed_out[32]; + char group_out[32]; + size_t len = 0; + static const unsigned char seed_data[] = { + 0xa6, 0xf5, 0x28, 0x8c, 0x50, 0x77, 0xa5, 0x68, + 0x6d, 0x3a, 0xf5, 0xf1, 0xc6, 0x4c, 0xdc, 0x35, + 0x95, 0x26, 0x3f, 0x03, 0xdc, 0x00, 0x3f, 0x44, + 0x7b, 0x2a, 0xc7, 0x29 + }; + static const unsigned char expected_p[]= { + 0xdb, 0x47, 0x07, 0xaf, 0xf0, 0x06, 0x49, 0x55, + 0xc9, 0xbb, 0x09, 0x41, 0xb8, 0xdb, 0x1f, 0xbc, + 0xa8, 0xed, 0x12, 0x06, 0x7f, 0x88, 0x49, 0xb8, + 0xc9, 0x12, 0x87, 0x21, 0xbb, 0x08, 0x6c, 0xbd, + 0xf1, 0x89, 0xef, 0x84, 0xd9, 0x7a, 0x93, 0xe8, + 0x45, 0x40, 0x81, 0xec, 0x37, 0x27, 0x1a, 0xa4, + 0x22, 0x51, 0x99, 0xf0, 0xde, 0x04, 0xdb, 0xea, + 0xa1, 0xf9, 0x37, 0x83, 0x80, 0x96, 0x36, 0x53, + 0xf6, 0xae, 0x14, 0x73, 0x33, 0x0f, 0xdf, 0x0b, + 0xf9, 0x2f, 0x08, 0x46, 0x31, 0xf9, 0x66, 0xcd, + 0x5a, 0xeb, 0x6c, 0xf3, 0xbb, 0x74, 0xf3, 0x88, + 0xf0, 0x31, 0x5c, 0xa4, 0xc8, 0x0f, 0x86, 0xf3, + 0x0f, 0x9f, 0xc0, 0x8c, 0x57, 0xe4, 0x7f, 0x95, + 0xb3, 0x62, 0xc8, 0x4e, 0xae, 0xf3, 0xd8, 0x14, + 0xcc, 0x47, 0xc2, 0x4b, 0x4f, 0xef, 0xaf, 0xcd, + 0xcf, 0xb2, 0xbb, 0xe8, 0xbe, 0x08, 0xca, 0x15, + 0x90, 0x59, 0x35, 0xef, 0x35, 0x1c, 0xfe, 0xeb, + 0x33, 0x2e, 0x25, 0x22, 0x57, 0x9c, 0x55, 0x23, + 0x0c, 0x6f, 0xed, 0x7c, 0xb6, 0xc7, 0x36, 0x0b, + 0xcb, 0x2b, 0x6a, 0x21, 0xa1, 0x1d, 0x55, 0x77, + 0xd9, 0x91, 0xcd, 0xc1, 0xcd, 0x3d, 0x82, 0x16, + 0x9c, 0xa0, 0x13, 0xa5, 0x83, 0x55, 0x3a, 0x73, + 0x7e, 0x2c, 0x44, 0x3e, 0x70, 0x2e, 0x50, 0x91, + 0x6e, 0xca, 0x3b, 0xef, 0xff, 0x85, 0x35, 0x70, + 0xff, 0x61, 0x0c, 0xb1, 0xb2, 0xb7, 0x94, 0x6f, + 0x65, 0xa4, 0x57, 0x62, 0xef, 0x21, 0x83, 0x0f, + 0x3e, 0x71, 0xae, 0x7d, 0xe4, 0xad, 0xfb, 0xe3, + 0xdd, 0xd6, 0x03, 0xda, 0x9a, 0xd8, 0x8f, 0x2d, + 0xbb, 0x90, 0x87, 0xf8, 0xdb, 0xdc, 0xec, 0x71, + 0xf2, 0xdb, 0x0b, 0x8e, 0xfc, 0x1a, 0x7e, 0x79, + 0xb1, 0x1b, 0x0d, 0xfc, 0x70, 0xec, 0x85, 0xc2, + 0xc5, 0xba, 0xb9, 0x69, 0x3f, 0x88, 0xbc, 0xcb + }; + static const unsigned char expected_q[]= { + 0x99, 0xb6, 0xa0, 0xee, 0xb3, 0xa6, 0x99, 0x1a, + 0xb6, 0x67, 0x8d, 0xc1, 0x2b, 0x9b, 0xce, 0x2b, + 0x01, 0x72, 0x5a, 0x65, 0x76, 0x3d, 0x93, 0x69, + 0xe2, 0x56, 0xae, 0xd7 + }; + static const unsigned char expected_g[]= { + 0x63, 0xf8, 0xb6, 0xee, 0x2a, 0x27, 0xaf, 0x4f, + 0x4c, 0xf6, 0x08, 0x28, 0x87, 0x4a, 0xe7, 0x1f, + 0x45, 0x46, 0x27, 0x52, 0x3b, 0x7f, 0x6f, 0xd2, + 0x29, 0xcb, 0xe8, 0x11, 0x19, 0x25, 0x35, 0x76, + 0x99, 0xcb, 0x4f, 0x1b, 0xe0, 0xed, 0x32, 0x9e, + 0x05, 0xb5, 0xbe, 0xd7, 0xf6, 0x5a, 0xb2, 0xf6, + 0x0e, 0x0c, 0x7e, 0xf5, 0xe1, 0x05, 0xfe, 0xda, + 0xaf, 0x0f, 0x27, 0x1e, 0x40, 0x2a, 0xf7, 0xa7, + 0x23, 0x49, 0x2c, 0xd9, 0x1b, 0x0a, 0xbe, 0xff, + 0xc7, 0x7c, 0x7d, 0x60, 0xca, 0xa3, 0x19, 0xc3, + 0xb7, 0xe4, 0x43, 0xb0, 0xf5, 0x75, 0x44, 0x90, + 0x46, 0x47, 0xb1, 0xa6, 0x48, 0x0b, 0x21, 0x8e, + 0xee, 0x75, 0xe6, 0x3d, 0xa7, 0xd3, 0x7b, 0x31, + 0xd1, 0xd2, 0x9d, 0xe2, 0x8a, 0xfc, 0x57, 0xfd, + 0x8a, 0x10, 0x31, 0xeb, 0x87, 0x36, 0x3f, 0x65, + 0x72, 0x23, 0x2c, 0xd3, 0xd6, 0x17, 0xa5, 0x62, + 0x58, 0x65, 0x57, 0x6a, 0xd4, 0xa8, 0xfe, 0xec, + 0x57, 0x76, 0x0c, 0xb1, 0x4c, 0x93, 0xed, 0xb0, + 0xb4, 0xf9, 0x45, 0xb3, 0x3e, 0xdd, 0x47, 0xf1, + 0xfb, 0x7d, 0x25, 0x79, 0x3d, 0xfc, 0xa7, 0x39, + 0x90, 0x68, 0x6a, 0x6b, 0xae, 0xf2, 0x6e, 0x64, + 0x8c, 0xfb, 0xb8, 0xdd, 0x76, 0x4e, 0x4a, 0x69, + 0x8c, 0x97, 0x15, 0x77, 0xb2, 0x67, 0xdc, 0xeb, + 0x4a, 0x40, 0x6b, 0xb9, 0x47, 0x8f, 0xa6, 0xab, + 0x6e, 0x98, 0xc0, 0x97, 0x9a, 0x0c, 0xea, 0x00, + 0xfd, 0x56, 0x1a, 0x74, 0x9a, 0x32, 0x6b, 0xfe, + 0xbd, 0xdf, 0x6c, 0x82, 0x54, 0x53, 0x4d, 0x70, + 0x65, 0xe3, 0x8b, 0x37, 0xb8, 0xe4, 0x70, 0x08, + 0xb7, 0x3b, 0x30, 0x27, 0xaf, 0x1c, 0x77, 0xf3, + 0x62, 0xd4, 0x9a, 0x59, 0xba, 0xd1, 0x6e, 0x89, + 0x5c, 0x34, 0x9a, 0xa1, 0xb7, 0x4f, 0x7d, 0x8c, + 0xdc, 0xbc, 0x74, 0x25, 0x5e, 0xbf, 0x77, 0x46 + }; + int expected_c = 1316; + int expected_h = 2; + + if (!TEST_ptr(p_in = BN_bin2bn(expected_p, sizeof(expected_p), NULL)) + || !TEST_ptr(q_in = BN_bin2bn(expected_q, sizeof(expected_q), NULL)) + || !TEST_ptr(g_in = BN_bin2bn(expected_g, sizeof(expected_g), NULL))) + goto end; + if (!TEST_ptr(pg_ctx = EVP_PKEY_CTX_new_from_name(NULL, "DSA", NULL)) + || !TEST_int_gt(EVP_PKEY_paramgen_init(pg_ctx), 0) + || !TEST_true(EVP_PKEY_CTX_set_dsa_paramgen_bits(pg_ctx, 2048)) + || !TEST_true(EVP_PKEY_CTX_set_dsa_paramgen_q_bits(pg_ctx, 224)) + || !TEST_true(EVP_PKEY_CTX_set_dsa_paramgen_seed(pg_ctx, seed_data, + sizeof(seed_data))) + || !TEST_true(EVP_PKEY_CTX_set_dsa_paramgen_md_props(pg_ctx, "SHA256", + "")) + || !TEST_int_gt(EVP_PKEY_gen(pg_ctx, ¶m_key), 0) + || !TEST_ptr(kg_ctx = EVP_PKEY_CTX_new_from_pkey(NULL, param_key, NULL)) + || !TEST_int_gt(EVP_PKEY_keygen_init(kg_ctx), 0) + || !TEST_int_gt(EVP_PKEY_gen(kg_ctx, &key), 0)) + goto end; + + if (!TEST_true(EVP_PKEY_get_bn_param(key, OSSL_PKEY_PARAM_FFC_P, &p_out)) + || !TEST_BN_eq(p_in, p_out) + || !TEST_true(EVP_PKEY_get_bn_param(key, OSSL_PKEY_PARAM_FFC_Q, &q_out)) + || !TEST_BN_eq(q_in, q_out) + || !TEST_true(EVP_PKEY_get_bn_param(key, OSSL_PKEY_PARAM_FFC_G, &g_out)) + || !TEST_BN_eq(g_in, g_out) + || !TEST_true(EVP_PKEY_get_octet_string_param( + key, OSSL_PKEY_PARAM_FFC_SEED, seed_out, + sizeof(seed_out), &len)) + || !TEST_mem_eq(seed_out, len, seed_data, sizeof(seed_data)) + || !TEST_true(EVP_PKEY_get_int_param(key, OSSL_PKEY_PARAM_FFC_GINDEX, + &gindex_out)) + || !TEST_int_eq(gindex_out, -1) + || !TEST_true(EVP_PKEY_get_int_param(key, OSSL_PKEY_PARAM_FFC_H, + &hcount_out)) + || !TEST_int_eq(hcount_out, expected_h) + || !TEST_true(EVP_PKEY_get_int_param(key, + OSSL_PKEY_PARAM_FFC_PCOUNTER, + &pcount_out)) + || !TEST_int_eq(pcount_out, expected_c) + || !TEST_false(EVP_PKEY_get_utf8_string_param(key, + OSSL_PKEY_PARAM_FFC_GROUP, + group_out, + sizeof(group_out), &len))) + goto end; + ret = 1; +end: + BN_free(p_in); + BN_free(q_in); + BN_free(g_in); + BN_free(p_out); + BN_free(q_out); + BN_free(g_out); + EVP_PKEY_free(param_key); + EVP_PKEY_free(key); + EVP_PKEY_CTX_free(kg_ctx); + EVP_PKEY_CTX_free(pg_ctx); + return ret; +} + #endif /* OPENSSL_NO_DSA */ int setup_tests(void) { #ifndef OPENSSL_NO_DSA ADD_TEST(dsa_test); + ADD_TEST(dsa_keygen_test); #endif return 1; } diff --git a/test/dtls_mtu_test.c b/test/dtls_mtu_test.c index 33603bae..b45df8a2 100644 --- a/test/dtls_mtu_test.c +++ b/test/dtls_mtu_test.c @@ -20,6 +20,8 @@ /* for SSL_READ_ETM() */ #include "../ssl/ssl_local.h" +DEFINE_STACK_OF(SSL_CIPHER) + static int debug = 0; static unsigned int clnt_psk_callback(SSL *ssl, const char *hint, diff --git a/test/dtlstest.c b/test/dtlstest.c index 60776883..1ac2850f 100644 --- a/test/dtlstest.c +++ b/test/dtlstest.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 @@ -61,7 +61,7 @@ static int test_dtls_unprocessed(int testidx) timer_cb_count = 0; - if (!TEST_true(create_ssl_ctx_pair(DTLS_server_method(), + if (!TEST_true(create_ssl_ctx_pair(NULL, DTLS_server_method(), DTLS_client_method(), DTLS1_VERSION, 0, &sctx, &cctx, cert, privkey))) @@ -156,7 +156,7 @@ static int test_dtls_drop_records(int idx) SSL_SESSION *sess = NULL; int cli_to_srv_epoch0, cli_to_srv_epoch1, srv_to_cli_epoch0; - if (!TEST_true(create_ssl_ctx_pair(DTLS_server_method(), + if (!TEST_true(create_ssl_ctx_pair(NULL, DTLS_server_method(), DTLS_client_method(), DTLS1_VERSION, 0, &sctx, &cctx, cert, privkey))) @@ -267,7 +267,7 @@ static int test_cookie(void) SSL *serverssl = NULL, *clientssl = NULL; int testresult = 0; - if (!TEST_true(create_ssl_ctx_pair(DTLS_server_method(), + if (!TEST_true(create_ssl_ctx_pair(NULL, DTLS_server_method(), DTLS_client_method(), DTLS1_VERSION, 0, &sctx, &cctx, cert, privkey))) @@ -299,7 +299,7 @@ static int test_dtls_duplicate_records(void) SSL *serverssl = NULL, *clientssl = NULL; int testresult = 0; - if (!TEST_true(create_ssl_ctx_pair(DTLS_server_method(), + if (!TEST_true(create_ssl_ctx_pair(NULL, DTLS_server_method(), DTLS_client_method(), DTLS1_VERSION, 0, &sctx, &cctx, cert, privkey))) diff --git a/test/ec_internal_test.c b/test/ec_internal_test.c index a4fb1ea4..38a6ab5b 100644 --- a/test/ec_internal_test.c +++ b/test/ec_internal_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 @@ -188,6 +188,77 @@ static int field_tests_default(int n) return ret; } +#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +/* + * Tests a point known to cause an incorrect underflow in an old version of + * ecp_nist521.c + */ +static int underflow_test(void) +{ + BN_CTX *ctx = NULL; + EC_GROUP *grp = NULL; + EC_POINT *P = NULL, *Q = NULL, *R = NULL; + BIGNUM *x1 = NULL, *y1 = NULL, *z1 = NULL, *x2 = NULL, *y2 = NULL; + BIGNUM *k = NULL; + int testresult = 0; + const char *x1str = + "1534f0077fffffe87e9adcfe000000000000000000003e05a21d2400002e031b1f4" + "b80000c6fafa4f3c1288798d624a247b5e2ffffffffffffffefe099241900004"; + const char *p521m1 = + "1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe"; + + ctx = BN_CTX_new(); + if (!TEST_ptr(ctx)) + return 0; + + BN_CTX_start(ctx); + x1 = BN_CTX_get(ctx); + y1 = BN_CTX_get(ctx); + z1 = BN_CTX_get(ctx); + x2 = BN_CTX_get(ctx); + y2 = BN_CTX_get(ctx); + k = BN_CTX_get(ctx); + if (!TEST_ptr(k)) + goto err; + + grp = EC_GROUP_new_by_curve_name(NID_secp521r1); + P = EC_POINT_new(grp); + Q = EC_POINT_new(grp); + R = EC_POINT_new(grp); + if (!TEST_ptr(grp) || !TEST_ptr(P) || !TEST_ptr(Q) || !TEST_ptr(R)) + goto err; + + if (!TEST_int_gt(BN_hex2bn(&x1, x1str), 0) + || !TEST_int_gt(BN_hex2bn(&y1, p521m1), 0) + || !TEST_int_gt(BN_hex2bn(&z1, p521m1), 0) + || !TEST_int_gt(BN_hex2bn(&k, "02"), 0) + || !TEST_true(ec_GFp_simple_set_Jprojective_coordinates_GFp(grp, P, x1, + y1, z1, ctx)) + || !TEST_true(EC_POINT_mul(grp, Q, NULL, P, k, ctx)) + || !TEST_true(EC_POINT_get_affine_coordinates(grp, Q, x1, y1, ctx)) + || !TEST_true(EC_POINT_dbl(grp, R, P, ctx)) + || !TEST_true(EC_POINT_get_affine_coordinates(grp, R, x2, y2, ctx))) + goto err; + + if (!TEST_int_eq(BN_cmp(x1, x2), 0) + || !TEST_int_eq(BN_cmp(y1, y2), 0)) + goto err; + + testresult = 1; + + err: + BN_CTX_end(ctx); + EC_POINT_free(P); + EC_POINT_free(Q); + EC_POINT_free(R); + EC_GROUP_free(grp); + BN_CTX_free(ctx); + + return testresult; +} +#endif + int setup_tests(void) { crv_len = EC_get_builtin_curves(NULL, 0); @@ -201,6 +272,9 @@ int setup_tests(void) ADD_TEST(field_tests_ec2_simple); #endif ADD_ALL_TESTS(field_tests_default, crv_len); +#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 + ADD_TEST(underflow_test); +#endif return 1; } diff --git a/test/ecdsatest.c b/test/ecdsatest.c index 4e343f08..cbe5e62d 100644 --- a/test/ecdsatest.c +++ b/test/ecdsatest.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/test/ectest.c b/test/ectest.c index 38f12041..5c31efe1 100644 --- a/test/ectest.c +++ b/test/ectest.c @@ -1,5 +1,5 @@ /* - * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -268,15 +268,6 @@ static int prime_field_tests(void) test_output_memory("Generator as octet string, hybrid form:", buf, len); - if (!TEST_true(EC_POINT_get_Jprojective_coordinates_GFp(group, R, x, y, z, - ctx))) - goto err; - TEST_info("A representation of the inverse of that generator in"); - TEST_note("Jacobian projective coordinates"); - test_output_bignum("x", x); - test_output_bignum("y", y); - test_output_bignum("z", z); - if (!TEST_true(EC_POINT_invert(group, P, ctx)) || !TEST_int_eq(0, EC_POINT_cmp(group, P, R, ctx)) @@ -1441,75 +1432,6 @@ err: BN_CTX_free(ctx); return r; } - -/* - * Tests a point known to cause an incorrect underflow in an old version of - * ecp_nist521.c - */ -static int underflow_test(void) -{ - BN_CTX *ctx = NULL; - EC_GROUP *grp = NULL; - EC_POINT *P = NULL, *Q = NULL, *R = NULL; - BIGNUM *x1 = NULL, *y1 = NULL, *z1 = NULL, *x2 = NULL, *y2 = NULL; - BIGNUM *k = NULL; - int testresult = 0; - const char *x1str = - "1534f0077fffffe87e9adcfe000000000000000000003e05a21d2400002e031b1f4" - "b80000c6fafa4f3c1288798d624a247b5e2ffffffffffffffefe099241900004"; - const char *p521m1 = - "1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe"; - - ctx = BN_CTX_new(); - if (!TEST_ptr(ctx)) - return 0; - - BN_CTX_start(ctx); - x1 = BN_CTX_get(ctx); - y1 = BN_CTX_get(ctx); - z1 = BN_CTX_get(ctx); - x2 = BN_CTX_get(ctx); - y2 = BN_CTX_get(ctx); - k = BN_CTX_get(ctx); - if (!TEST_ptr(k)) - goto err; - - grp = EC_GROUP_new_by_curve_name(NID_secp521r1); - P = EC_POINT_new(grp); - Q = EC_POINT_new(grp); - R = EC_POINT_new(grp); - if (!TEST_ptr(grp) || !TEST_ptr(P) || !TEST_ptr(Q) || !TEST_ptr(R)) - goto err; - - if (!TEST_int_gt(BN_hex2bn(&x1, x1str), 0) - || !TEST_int_gt(BN_hex2bn(&y1, p521m1), 0) - || !TEST_int_gt(BN_hex2bn(&z1, p521m1), 0) - || !TEST_int_gt(BN_hex2bn(&k, "02"), 0) - || !TEST_true(EC_POINT_set_Jprojective_coordinates_GFp(grp, P, x1, - y1, z1, ctx)) - || !TEST_true(EC_POINT_mul(grp, Q, NULL, P, k, ctx)) - || !TEST_true(EC_POINT_get_affine_coordinates(grp, Q, x1, y1, ctx)) - || !TEST_true(EC_POINT_dbl(grp, R, P, ctx)) - || !TEST_true(EC_POINT_get_affine_coordinates(grp, R, x2, y2, ctx))) - goto err; - - if (!TEST_int_eq(BN_cmp(x1, x2), 0) - || !TEST_int_eq(BN_cmp(y1, y2), 0)) - goto err; - - testresult = 1; - - err: - BN_CTX_end(ctx); - EC_POINT_free(P); - EC_POINT_free(Q); - EC_POINT_free(R); - EC_GROUP_free(grp); - BN_CTX_free(ctx); - - return testresult; -} # endif static const unsigned char p521_named[] = { @@ -2468,7 +2390,6 @@ int setup_tests(void) # endif # ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 ADD_ALL_TESTS(nistp_single_test, OSSL_NELEM(nistp_tests_params)); - ADD_TEST(underflow_test); # endif ADD_ALL_TESTS(internal_curve_test, crv_len); ADD_ALL_TESTS(internal_curve_test_method, crv_len); diff --git a/test/evp_extra_test.c b/test/evp_extra_test.c index 07161ad8..115a1331 100644 --- a/test/evp_extra_test.c +++ b/test/evp_extra_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 @@ -1540,6 +1540,47 @@ static int test_EVP_PKEY_set1_DH(void) } #endif +/* + * We test what happens with an empty template. For the sake of this test, + * the template must be ignored, and we know that's the case for RSA keys + * (this might arguably be a misfeature, but that's what we currently do, + * even in provider code, since that's how the legacy RSA implementation + * does things) + */ +static int test_keygen_with_empty_template(int n) +{ + EVP_PKEY_CTX *ctx = NULL; + EVP_PKEY *pkey = NULL; + EVP_PKEY *tkey = NULL; + int ret = 0; + + switch (n) { + case 0: + /* We do test with no template at all as well */ + if (!TEST_ptr(ctx = EVP_PKEY_CTX_new_id(EVP_PKEY_RSA, NULL))) + goto err; + break; + case 1: + /* Here we create an empty RSA key that serves as our template */ + if (!TEST_ptr(tkey = EVP_PKEY_new()) + || !TEST_true(EVP_PKEY_set_type(tkey, EVP_PKEY_RSA)) + || !TEST_ptr(ctx = EVP_PKEY_CTX_new(tkey, NULL))) + goto err; + break; + } + + if (!TEST_int_gt(EVP_PKEY_keygen_init(ctx), 0) + || !TEST_int_gt(EVP_PKEY_keygen(ctx, &pkey), 0)) + goto err; + + ret = 1; + err: + EVP_PKEY_CTX_free(ctx); + EVP_PKEY_free(pkey); + EVP_PKEY_free(tkey); + return ret; +} + int setup_tests(void) { ADD_ALL_TESTS(test_EVP_DigestSignInit, 9); @@ -1579,6 +1620,7 @@ int setup_tests(void) #ifndef OPENSSL_NO_DH ADD_TEST(test_EVP_PKEY_set1_DH); #endif + ADD_ALL_TESTS(test_keygen_with_empty_template, 2); return 1; } diff --git a/test/evp_fetch_prov_test.c b/test/evp_fetch_prov_test.c index 14a3bb77..367493b5 100644 --- a/test/evp_fetch_prov_test.c +++ b/test/evp_fetch_prov_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/test/evp_pkey_provided_test.c b/test/evp_pkey_provided_test.c index 9f8d0086..1ded0d9f 100644 --- a/test/evp_pkey_provided_test.c +++ b/test/evp_pkey_provided_test.c @@ -12,12 +12,12 @@ #include #include #include -#include +#include #include #include "crypto/ecx.h" -#include "internal/nelem.h" -#include "openssl/param_build.h" #include "crypto/evp.h" /* For the internal API */ +#include "crypto/bn_dh.h" /* _bignum_ffdhe2048_p */ +#include "internal/nelem.h" #include "testutil.h" static char *datadir = NULL; @@ -49,7 +49,7 @@ static int compare_with_file(const char *alg, int type, BIO *membio) { char filename[80]; BIO *file = NULL; - char buf[1024]; + char buf[4096]; char *memdata, *fullfile = NULL; const char *suffix; size_t readbytes; @@ -391,46 +391,119 @@ static int test_evp_pkey_get_bn_param_large(void) #ifndef OPENSSL_NO_DH -/* Array indexes used in test_fromdata_dh */ -#define PRIV_KEY 0 -#define PUB_KEY 1 -#define FFC_P 2 -#define FFC_G 3 - -static int test_fromdata_dh(void) +static int test_fromdata_dh_named_group(void) { int ret = 0; + int gindex = 0, pcounter = 0, hindex = 0; EVP_PKEY_CTX *ctx = NULL, *key_ctx = NULL; EVP_PKEY *pk = NULL, *copy_pk = NULL; + size_t len; + BIGNUM *pub = NULL, *priv = NULL; + BIGNUM *pub_out = NULL, *priv_out = NULL; + BIGNUM *p = NULL, *q = NULL, *g = NULL, *j = NULL; + OSSL_PARAM *fromdata_params = NULL; + OSSL_PARAM_BLD *bld = NULL; + char name_out[80]; + unsigned char seed_out[32]; + /* - * 32-bit DH key, extracted from this command, - * executed with OpenSSL 1.0.2: - * - * openssl dhparam -out dhp.pem 32 - * openssl genpkey -paramfile dhp.pem | openssl pkey -text + * DH key data was generated using the following: + * openssl genpkey -algorithm DH -pkeyopt group:ffdhe2048 + * -pkeyopt priv_len:224 -text */ - static unsigned long key_numbers[] = { - 0x666c2b06, /* priv-key */ - 0x6fa6de50, /* pub-key */ - 0x8bb45f53, /* P */ - 0x2, /* G */ + static const unsigned char priv_data[] = { + 0x88, 0x85, 0xe7, 0x9f, 0xee, 0x6d, 0xc5, 0x7c, 0x78, 0xaf, 0x63, 0x5d, + 0x38, 0x2a, 0xd0, 0xed, 0x56, 0x4b, 0x47, 0x21, 0x2b, 0xfa, 0x55, 0xfa, + 0x87, 0xe8, 0xa9, 0x7b, }; - OSSL_PARAM fromdata_params[] = { - OSSL_PARAM_ulong(OSSL_PKEY_PARAM_PRIV_KEY, &key_numbers[PRIV_KEY]), - OSSL_PARAM_ulong(OSSL_PKEY_PARAM_PUB_KEY, &key_numbers[PUB_KEY]), - OSSL_PARAM_ulong(OSSL_PKEY_PARAM_FFC_P, &key_numbers[FFC_P]), - OSSL_PARAM_ulong(OSSL_PKEY_PARAM_FFC_G, &key_numbers[FFC_G]), - OSSL_PARAM_END + static const unsigned char pub_data[] = { + 0x00, 0xd6, 0x2d, 0x77, 0xe0, 0xd3, 0x7d, 0xf8, 0xeb, 0x98, 0x50, 0xa1, + 0x82, 0x22, 0x65, 0xd5, 0xd9, 0xfe, 0xc9, 0x3f, 0xbe, 0x16, 0x83, 0xbd, + 0x33, 0xe9, 0xc6, 0x93, 0xcf, 0x08, 0xaf, 0x83, 0xfa, 0x80, 0x8a, 0x6c, + 0x64, 0xdf, 0x70, 0x64, 0xd5, 0x0a, 0x7c, 0x5a, 0x72, 0xda, 0x66, 0xe6, + 0xf9, 0xf5, 0x31, 0x21, 0x92, 0xb0, 0x60, 0x1a, 0xb5, 0xd3, 0xf0, 0xa5, + 0xfa, 0x48, 0x95, 0x2e, 0x38, 0xd9, 0xc5, 0xe6, 0xda, 0xfb, 0x6c, 0x03, + 0x9d, 0x4b, 0x69, 0xb7, 0x95, 0xe4, 0x5c, 0xc0, 0x93, 0x4f, 0x48, 0xd9, + 0x7e, 0x06, 0x22, 0xb2, 0xde, 0xf3, 0x79, 0x24, 0xed, 0xe1, 0xd1, 0x4a, + 0x57, 0xf1, 0x40, 0x86, 0x70, 0x42, 0x25, 0xc5, 0x27, 0x68, 0xc9, 0xfa, + 0xe5, 0x8e, 0x62, 0x7e, 0xff, 0x49, 0x6c, 0x5b, 0xb5, 0xba, 0xf9, 0xef, + 0x9a, 0x1a, 0x10, 0xd4, 0x81, 0x53, 0xcf, 0x83, 0x04, 0x18, 0x1c, 0xe1, + 0xdb, 0xe1, 0x65, 0xa9, 0x7f, 0xe1, 0x33, 0xeb, 0xc3, 0x4f, 0xe3, 0xb7, + 0x22, 0xf7, 0x1c, 0x09, 0x4f, 0xed, 0xc6, 0x07, 0x8e, 0x78, 0x05, 0x8f, + 0x7c, 0x96, 0xd9, 0x12, 0xe0, 0x81, 0x74, 0x1a, 0xe9, 0x13, 0xc0, 0x20, + 0x82, 0x65, 0xbb, 0x42, 0x3b, 0xed, 0x08, 0x6a, 0x84, 0x4f, 0xea, 0x77, + 0x14, 0x32, 0xf9, 0xed, 0xc2, 0x12, 0xd6, 0xc5, 0xc6, 0xb3, 0xe5, 0xf2, + 0x6e, 0xf6, 0x16, 0x7f, 0x37, 0xde, 0xbc, 0x09, 0xc7, 0x06, 0x6b, 0x12, + 0xbc, 0xad, 0x2d, 0x49, 0x25, 0xd5, 0xdc, 0xf4, 0x18, 0x14, 0xd2, 0xf0, + 0xf1, 0x1d, 0x1f, 0x3a, 0xaa, 0x15, 0x55, 0xbb, 0x0d, 0x7f, 0xbe, 0x67, + 0xa1, 0xa7, 0xf0, 0xaa, 0xb3, 0xfb, 0x41, 0x82, 0x39, 0x49, 0x93, 0xbc, + 0xa8, 0xee, 0x72, 0x13, 0x45, 0x65, 0x15, 0x42, 0x17, 0xaa, 0xd8, 0xab, + 0xcf, 0x33, 0x42, 0x83, 0x42 }; + static const char group_name[] = "ffdhe2048"; + + if (!TEST_ptr(bld = OSSL_PARAM_BLD_new()) + || !TEST_ptr(pub = BN_bin2bn(pub_data, sizeof(pub_data), NULL)) + || !TEST_ptr(priv = BN_bin2bn(priv_data, sizeof(priv_data), NULL)) + || !TEST_true(OSSL_PARAM_BLD_push_utf8_string(bld, + OSSL_PKEY_PARAM_FFC_GROUP, + group_name, 0)) + || !TEST_true(OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_PUB_KEY, pub)) + || !TEST_true(OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_PRIV_KEY, priv)) + || !TEST_ptr(fromdata_params = OSSL_PARAM_BLD_to_param(bld))) + goto err; if (!TEST_ptr(ctx = EVP_PKEY_CTX_new_from_name(NULL, "DH", NULL))) goto err; if (!TEST_true(EVP_PKEY_key_fromdata_init(ctx)) || !TEST_true(EVP_PKEY_fromdata(ctx, &pk, fromdata_params)) - || !TEST_int_eq(EVP_PKEY_bits(pk), 32) - || !TEST_int_eq(EVP_PKEY_security_bits(pk), 0) /* Missing Q */ - || !TEST_int_eq(EVP_PKEY_size(pk), 4)) + || !TEST_int_eq(EVP_PKEY_bits(pk), 2048) + || !TEST_int_eq(EVP_PKEY_security_bits(pk), 112) + || !TEST_int_eq(EVP_PKEY_size(pk), 256)) + goto err; + + if (!TEST_true(EVP_PKEY_get_utf8_string_param(pk, OSSL_PKEY_PARAM_FFC_GROUP, + name_out, sizeof(name_out), + &len)) + || !TEST_str_eq(name_out, group_name) + || !TEST_true(EVP_PKEY_get_bn_param(pk, OSSL_PKEY_PARAM_PUB_KEY, + &pub_out)) + + || !TEST_BN_eq(pub, pub_out) + || !TEST_true(EVP_PKEY_get_bn_param(pk, OSSL_PKEY_PARAM_PRIV_KEY, + &priv_out)) + || !TEST_BN_eq(priv, priv_out) + || !TEST_true(EVP_PKEY_get_bn_param(pk, OSSL_PKEY_PARAM_FFC_P, &p)) + || !TEST_BN_eq(&_bignum_ffdhe2048_p, p) + || !TEST_true(EVP_PKEY_get_bn_param(pk, OSSL_PKEY_PARAM_FFC_Q, &q)) + || !TEST_ptr(q) + || !TEST_true(EVP_PKEY_get_bn_param(pk, OSSL_PKEY_PARAM_FFC_G, &g)) + || !TEST_BN_eq(&_bignum_const_2, g) + || !TEST_false(EVP_PKEY_get_bn_param(pk, OSSL_PKEY_PARAM_FFC_COFACTOR, + &j)) + || !TEST_ptr_null(j) + || !TEST_false(EVP_PKEY_get_octet_string_param(pk, + OSSL_PKEY_PARAM_FFC_SEED, + seed_out, + sizeof(seed_out), &len)) + || !TEST_true(EVP_PKEY_get_int_param(pk, OSSL_PKEY_PARAM_FFC_GINDEX, + &gindex)) + || !TEST_int_eq(gindex, -1) + || !TEST_true(EVP_PKEY_get_int_param(pk, OSSL_PKEY_PARAM_FFC_H, &hindex)) + || !TEST_int_eq(hindex, 0) + || !TEST_true(EVP_PKEY_get_int_param(pk, OSSL_PKEY_PARAM_FFC_PCOUNTER, + &pcounter)) + || !TEST_int_eq(pcounter, -1)) + goto err; + + if (!TEST_ptr(key_ctx = EVP_PKEY_CTX_new_from_pkey(NULL, pk, ""))) + goto err; + + if (!TEST_true(EVP_PKEY_check(key_ctx)) + || !TEST_true(EVP_PKEY_public_check(key_ctx)) + || !TEST_true(EVP_PKEY_private_check(key_ctx)) + || !TEST_true(EVP_PKEY_pairwise_check(key_ctx))) goto err; if (!TEST_ptr(copy_pk = EVP_PKEY_new()) @@ -439,26 +512,164 @@ static int test_fromdata_dh(void) ret = test_print_key_using_pem("DH", pk) && test_print_key_using_serializer("DH", pk); +err: + BN_free(p); + BN_free(q); + BN_free(g); + BN_free(j); + BN_free(pub); + BN_free(priv); + BN_free(pub_out); + BN_free(priv_out); + EVP_PKEY_free(copy_pk); + EVP_PKEY_free(pk); + EVP_PKEY_CTX_free(ctx); + EVP_PKEY_CTX_free(key_ctx); + OSSL_PARAM_BLD_free_params(fromdata_params); + OSSL_PARAM_BLD_free(bld); + + return ret; +} + +static int test_fromdata_dh_fips186_4(void) +{ + int ret = 0; + int gindex = 0, pcounter = 0, hindex = 0; + EVP_PKEY_CTX *ctx = NULL, *key_ctx = NULL; + EVP_PKEY *pk = NULL; + size_t len; + BIGNUM *pub = NULL, *priv = NULL; + BIGNUM *pub_out = NULL, *priv_out = NULL; + BIGNUM *p = NULL, *q = NULL, *g = NULL, *j = NULL; + OSSL_PARAM_BLD *bld = NULL; + OSSL_PARAM *fromdata_params = NULL; + char name_out[80]; + unsigned char seed_out[32]; + + /* + * DH key data was generated using the following: + * openssl genpkey -algorithm DH + * -pkeyopt group:ffdhe2048 -pkeyopt priv_len:224 -text + */ + static const unsigned char priv_data[] = { + 0x88, 0x85, 0xe7, 0x9f, 0xee, 0x6d, 0xc5, 0x7c, 0x78, 0xaf, 0x63, 0x5d, + 0x38, 0x2a, 0xd0, 0xed, 0x56, 0x4b, 0x47, 0x21, 0x2b, 0xfa, 0x55, 0xfa, + 0x87, 0xe8, 0xa9, 0x7b, + }; + static const unsigned char pub_data[] = { + 0xd6, 0x2d, 0x77, 0xe0, 0xd3, 0x7d, 0xf8, 0xeb, 0x98, 0x50, 0xa1, 0x82, + 0x22, 0x65, 0xd5, 0xd9, 0xfe, 0xc9, 0x3f, 0xbe, 0x16, 0x83, 0xbd, 0x33, + 0xe9, 0xc6, 0x93, 0xcf, 0x08, 0xaf, 0x83, 0xfa, 0x80, 0x8a, 0x6c, 0x64, + 0xdf, 0x70, 0x64, 0xd5, 0x0a, 0x7c, 0x5a, 0x72, 0xda, 0x66, 0xe6, 0xf9, + 0xf5, 0x31, 0x21, 0x92, 0xb0, 0x60, 0x1a, 0xb5, 0xd3, 0xf0, 0xa5, 0xfa, + 0x48, 0x95, 0x2e, 0x38, 0xd9, 0xc5, 0xe6, 0xda, 0xfb, 0x6c, 0x03, 0x9d, + 0x4b, 0x69, 0xb7, 0x95, 0xe4, 0x5c, 0xc0, 0x93, 0x4f, 0x48, 0xd9, 0x7e, + 0x06, 0x22, 0xb2, 0xde, 0xf3, 0x79, 0x24, 0xed, 0xe1, 0xd1, 0x4a, 0x57, + 0xf1, 0x40, 0x86, 0x70, 0x42, 0x25, 0xc5, 0x27, 0x68, 0xc9, 0xfa, 0xe5, + 0x8e, 0x62, 0x7e, 0xff, 0x49, 0x6c, 0x5b, 0xb5, 0xba, 0xf9, 0xef, 0x9a, + 0x1a, 0x10, 0xd4, 0x81, 0x53, 0xcf, 0x83, 0x04, 0x18, 0x1c, 0xe1, 0xdb, + 0xe1, 0x65, 0xa9, 0x7f, 0xe1, 0x33, 0xeb, 0xc3, 0x4f, 0xe3, 0xb7, 0x22, + 0xf7, 0x1c, 0x09, 0x4f, 0xed, 0xc6, 0x07, 0x8e, 0x78, 0x05, 0x8f, 0x7c, + 0x96, 0xd9, 0x12, 0xe0, 0x81, 0x74, 0x1a, 0xe9, 0x13, 0xc0, 0x20, 0x82, + 0x65, 0xbb, 0x42, 0x3b, 0xed, 0x08, 0x6a, 0x84, 0x4f, 0xea, 0x77, 0x14, + 0x32, 0xf9, 0xed, 0xc2, 0x12, 0xd6, 0xc5, 0xc6, 0xb3, 0xe5, 0xf2, 0x6e, + 0xf6, 0x16, 0x7f, 0x37, 0xde, 0xbc, 0x09, 0xc7, 0x06, 0x6b, 0x12, 0xbc, + 0xad, 0x2d, 0x49, 0x25, 0xd5, 0xdc, 0xf4, 0x18, 0x14, 0xd2, 0xf0, 0xf1, + 0x1d, 0x1f, 0x3a, 0xaa, 0x15, 0x55, 0xbb, 0x0d, 0x7f, 0xbe, 0x67, 0xa1, + 0xa7, 0xf0, 0xaa, 0xb3, 0xfb, 0x41, 0x82, 0x39, 0x49, 0x93, 0xbc, 0xa8, + 0xee, 0x72, 0x13, 0x45, 0x65, 0x15, 0x42, 0x17, 0xaa, 0xd8, 0xab, 0xcf, + 0x33, 0x42, 0x83, 0x42 + }; + static const char group_name[] = "ffdhe2048"; + + + if (!TEST_ptr(bld = OSSL_PARAM_BLD_new()) + || !TEST_ptr(pub = BN_bin2bn(pub_data, sizeof(pub_data), NULL)) + || !TEST_ptr(priv = BN_bin2bn(priv_data, sizeof(priv_data), NULL)) + || !TEST_true(OSSL_PARAM_BLD_push_utf8_string(bld, + OSSL_PKEY_PARAM_FFC_GROUP, + group_name, 0)) + || !TEST_true(OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_PUB_KEY, pub)) + || !TEST_true(OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_PRIV_KEY, priv)) + || !TEST_ptr(fromdata_params = OSSL_PARAM_BLD_to_param(bld))) + goto err; + + if (!TEST_ptr(ctx = EVP_PKEY_CTX_new_from_name(NULL, "DH", NULL))) + goto err; + + if (!TEST_true(EVP_PKEY_key_fromdata_init(ctx)) + || !TEST_true(EVP_PKEY_fromdata(ctx, &pk, fromdata_params)) + || !TEST_int_eq(EVP_PKEY_bits(pk), 2048) + || !TEST_int_eq(EVP_PKEY_security_bits(pk), 112) + || !TEST_int_eq(EVP_PKEY_size(pk), 256)) + goto err; + + if (!TEST_true(EVP_PKEY_get_utf8_string_param(pk, OSSL_PKEY_PARAM_FFC_GROUP, + name_out, sizeof(name_out), + &len)) + || !TEST_str_eq(name_out, group_name) + || !TEST_true(EVP_PKEY_get_bn_param(pk, OSSL_PKEY_PARAM_PUB_KEY, + &pub_out)) + || !TEST_BN_eq(pub, pub_out) + || !TEST_true(EVP_PKEY_get_bn_param(pk, OSSL_PKEY_PARAM_PRIV_KEY, + &priv_out)) + || !TEST_BN_eq(priv, priv_out) + || !TEST_true(EVP_PKEY_get_bn_param(pk, OSSL_PKEY_PARAM_FFC_P, &p)) + || !TEST_BN_eq(&_bignum_ffdhe2048_p, p) + || !TEST_true(EVP_PKEY_get_bn_param(pk, OSSL_PKEY_PARAM_FFC_Q, &q)) + || !TEST_ptr(q) + || !TEST_true(EVP_PKEY_get_bn_param(pk, OSSL_PKEY_PARAM_FFC_G, &g)) + || !TEST_BN_eq(&_bignum_const_2, g) + || !TEST_false(EVP_PKEY_get_bn_param(pk, OSSL_PKEY_PARAM_FFC_COFACTOR, + &j)) + || !TEST_ptr_null(j) + || !TEST_false(EVP_PKEY_get_octet_string_param(pk, + OSSL_PKEY_PARAM_FFC_SEED, + seed_out, + sizeof(seed_out), &len)) + || !TEST_true(EVP_PKEY_get_int_param(pk, OSSL_PKEY_PARAM_FFC_GINDEX, + &gindex)) + || !TEST_int_eq(gindex, -1) + || !TEST_true(EVP_PKEY_get_int_param(pk, OSSL_PKEY_PARAM_FFC_H, &hindex)) + || !TEST_int_eq(hindex, 0) + || !TEST_true(EVP_PKEY_get_int_param(pk, OSSL_PKEY_PARAM_FFC_PCOUNTER, + &pcounter)) + || !TEST_int_eq(pcounter, -1)) + goto err; if (!TEST_ptr(key_ctx = EVP_PKEY_CTX_new_from_pkey(NULL, pk, ""))) goto err; - if (!TEST_false(EVP_PKEY_check(key_ctx)) + if (!TEST_true(EVP_PKEY_check(key_ctx)) || !TEST_true(EVP_PKEY_public_check(key_ctx)) - || !TEST_false(EVP_PKEY_private_check(key_ctx)) /* Need a q */ + || !TEST_true(EVP_PKEY_private_check(key_ctx)) || !TEST_true(EVP_PKEY_pairwise_check(key_ctx))) goto err; - err: + ret = test_print_key_using_pem("DH", pk) + && test_print_key_using_serializer("DH", pk); +err: + BN_free(p); + BN_free(q); + BN_free(g); + BN_free(j); + BN_free(pub); + BN_free(priv); + BN_free(pub_out); + BN_free(priv_out); EVP_PKEY_free(pk); - EVP_PKEY_free(copy_pk); EVP_PKEY_CTX_free(ctx); EVP_PKEY_CTX_free(key_ctx); + OSSL_PARAM_BLD_free_params(fromdata_params); + OSSL_PARAM_BLD_free(bld); return ret; } + #endif + + #ifndef OPENSSL_NO_EC /* Array indexes used in test_fromdata_ecx */ # define PRIV_KEY 0 @@ -678,7 +889,7 @@ static int test_fromdata_ec(void) int ret = 0; EVP_PKEY_CTX *ctx = NULL; EVP_PKEY *pk = NULL, *copy_pk = NULL; - OSSL_PARAM_BLD *bld = OSSL_PARAM_BLD_new(); + OSSL_PARAM_BLD *bld = NULL; BIGNUM *ec_priv_bn = NULL; BIGNUM *bn_priv = NULL; OSSL_PARAM *fromdata_params = NULL; @@ -709,7 +920,7 @@ static int test_fromdata_ec(void) size_t len; - if (!TEST_ptr(bld)) + if (!TEST_ptr(bld = OSSL_PARAM_BLD_new())) goto err; if (!TEST_ptr(ec_priv_bn = BN_bin2bn(ec_priv_keydata, sizeof(ec_priv_keydata), NULL))) @@ -776,6 +987,233 @@ err: #endif /* OPENSSL_NO_EC */ +#ifndef OPENSSL_NO_DSA +static int test_fromdata_dsa_fips186_4(void) +{ + int ret = 0; + EVP_PKEY_CTX *ctx = NULL, *key_ctx = NULL; + EVP_PKEY *pk = NULL, *copy_pk = NULL; + BIGNUM *pub = NULL, *priv = NULL; + BIGNUM *p = NULL, *q = NULL, *g = NULL; + BIGNUM *pub_out = NULL, *priv_out = NULL; + BIGNUM *p_out = NULL, *q_out = NULL, *g_out = NULL, *j_out = NULL; + int gindex_out = 0, pcounter_out = 0, hindex_out = 0; + char name_out[80]; + unsigned char seed_out[32]; + size_t len; + OSSL_PARAM_BLD *bld = NULL; + OSSL_PARAM *fromdata_params = NULL; + + /* + * DSA parameter data was generated using the following: + * openssl genpkey -genparam -algorithm DSA -pkeyopt pbits:2048 \ + * -pkeyopt qbits:256 -pkeyopt type:0 \ + * -pkeyopt gindex:1 -out dsa_params.pem -text + */ + static const unsigned char p_data[] = { + 0x00, 0xa0, 0xb7, 0x02, 0xc4, 0xac, 0xa6, 0x42, 0xab, 0xf2, 0x34, 0x0b, + 0x22, 0x47, 0x1f, 0x33, 0xcf, 0xd5, 0x04, 0xe4, 0x3e, 0xec, 0xa1, 0x21, + 0xc8, 0x41, 0x2b, 0xef, 0xb8, 0x1f, 0x0b, 0x5b, 0x88, 0x8b, 0x67, 0xf8, + 0x68, 0x6d, 0x7c, 0x4d, 0x96, 0x5f, 0x3c, 0x66, 0xef, 0x58, 0x34, 0xd7, + 0xf6, 0xa2, 0x1b, 0xad, 0xc8, 0x12, 0x52, 0xb8, 0xe8, 0x2a, 0x63, 0xcc, + 0xea, 0xe7, 0x4e, 0xc8, 0x34, 0x4c, 0x58, 0x59, 0x0a, 0xc2, 0x4a, 0xe4, + 0xb4, 0x64, 0x20, 0xf4, 0xf6, 0x0a, 0xcf, 0x86, 0x01, 0x6c, 0x7f, 0x23, + 0x4a, 0x51, 0x07, 0x99, 0x42, 0x28, 0x7a, 0xff, 0x18, 0x67, 0x52, 0x64, + 0xf2, 0x9a, 0x62, 0x30, 0xc3, 0x00, 0xde, 0x23, 0xe9, 0x11, 0x95, 0x7e, + 0xd1, 0x3d, 0x8d, 0xb4, 0x0e, 0x9f, 0x9e, 0xb1, 0x30, 0x03, 0xf0, 0x73, + 0xa8, 0x40, 0x48, 0x42, 0x7b, 0x60, 0xa0, 0xc4, 0xf2, 0x3b, 0x2d, 0x0a, + 0x0c, 0xb8, 0x19, 0xfb, 0xb4, 0xf8, 0xe0, 0x2a, 0xc7, 0xf1, 0xc0, 0xc6, + 0x86, 0x14, 0x60, 0x12, 0x0f, 0xc0, 0xde, 0x4a, 0x67, 0xec, 0xc7, 0xde, + 0x76, 0x21, 0x1a, 0x55, 0x7f, 0x86, 0xc3, 0x97, 0x98, 0xce, 0xf5, 0xcd, + 0xf0, 0xe7, 0x12, 0xd6, 0x93, 0xee, 0x1b, 0x9b, 0x61, 0xef, 0x05, 0x8c, + 0x45, 0x46, 0xd9, 0x64, 0x6f, 0xbe, 0x27, 0xaa, 0x67, 0x01, 0xcc, 0x71, + 0xb1, 0x60, 0xce, 0x21, 0xd8, 0x51, 0x17, 0x27, 0x0d, 0x90, 0x3d, 0x18, + 0x7c, 0x87, 0x15, 0x8e, 0x48, 0x4c, 0x6c, 0xc5, 0x72, 0xeb, 0xb7, 0x56, + 0xf5, 0x6b, 0x60, 0x8f, 0xc2, 0xfd, 0x3f, 0x46, 0x5c, 0x00, 0x91, 0x85, + 0x79, 0x45, 0x5b, 0x1c, 0x82, 0xc4, 0x87, 0x50, 0x79, 0xba, 0xcc, 0x1c, + 0x32, 0x7e, 0x2e, 0xb8, 0x2e, 0xc5, 0x4e, 0xd1, 0x9b, 0xdb, 0x66, 0x79, + 0x7c, 0xfe, 0xaf, 0x6a, 0x05 + }; + static const unsigned char q_data[] = { + 0xa8, 0xcd, 0xf4, 0x33, 0x7b, 0x13, 0x0a, 0x24, 0xc1, 0xde, 0x4a, 0x04, + 0x7b, 0x4b, 0x71, 0x51, 0x32, 0xe9, 0x47, 0x74, 0xbd, 0x0c, 0x21, 0x40, + 0x84, 0x12, 0x0a, 0x17, 0x73, 0xdb, 0x29, 0xc7 + }; + static const unsigned char g_data[] = { + 0x6c, 0xc6, 0xa4, 0x3e, 0x61, 0x84, 0xc1, 0xff, 0x6f, 0x4a, 0x1a, 0x6b, + 0xb0, 0x24, 0x4b, 0xd2, 0x92, 0x5b, 0x29, 0x5c, 0x61, 0xb8, 0xc9, 0x2b, + 0xd6, 0xf7, 0x59, 0xfd, 0xd8, 0x70, 0x66, 0x77, 0xfc, 0xc1, 0xa4, 0xd4, + 0xb0, 0x1e, 0xd5, 0xbf, 0x59, 0x98, 0xb3, 0x66, 0x8b, 0xf4, 0x2e, 0xe6, + 0x12, 0x3e, 0xcc, 0xf8, 0x02, 0xb8, 0xc6, 0xc3, 0x47, 0xd2, 0xf5, 0xaa, + 0x0c, 0x5f, 0x51, 0xf5, 0xd0, 0x4c, 0x55, 0x3d, 0x07, 0x73, 0xa6, 0x57, + 0xce, 0x5a, 0xad, 0x42, 0x0c, 0x13, 0x0f, 0xe2, 0x31, 0x25, 0x8e, 0x72, + 0x12, 0x73, 0x10, 0xdb, 0x7f, 0x79, 0xeb, 0x59, 0xfc, 0xfe, 0xf7, 0x0c, + 0x1a, 0x81, 0x53, 0x96, 0x22, 0xb8, 0xe7, 0x58, 0xd8, 0x67, 0x80, 0x60, + 0xad, 0x8b, 0x55, 0x1c, 0x91, 0xf0, 0x72, 0x9a, 0x7e, 0xad, 0x37, 0xf1, + 0x77, 0x18, 0x96, 0x8a, 0x68, 0x70, 0xfc, 0x71, 0xa9, 0xa2, 0xe8, 0x35, + 0x27, 0x78, 0xf2, 0xef, 0x59, 0x36, 0x6d, 0x7c, 0xb6, 0x98, 0xd8, 0x1e, + 0xfa, 0x25, 0x73, 0x97, 0x45, 0x58, 0xe3, 0xae, 0xbd, 0x52, 0x54, 0x05, + 0xd8, 0x26, 0x26, 0xba, 0xba, 0x05, 0xb5, 0xe9, 0xe5, 0x76, 0xae, 0x25, + 0xdd, 0xfc, 0x10, 0x89, 0x5a, 0xa9, 0xee, 0x59, 0xc5, 0x79, 0x8b, 0xeb, + 0x1e, 0x2c, 0x61, 0xab, 0x0d, 0xd1, 0x10, 0x04, 0x91, 0x32, 0x77, 0x4a, + 0xa6, 0x64, 0x53, 0xda, 0x4c, 0xd7, 0x3a, 0x29, 0xd4, 0xf3, 0x82, 0x25, + 0x1d, 0x6f, 0x4a, 0x7f, 0xd3, 0x08, 0x3b, 0x42, 0x30, 0x10, 0xd8, 0xd0, + 0x97, 0x3a, 0xeb, 0x92, 0x63, 0xec, 0x93, 0x2b, 0x6f, 0x32, 0xd8, 0xcd, + 0x80, 0xd3, 0xc0, 0x4c, 0x03, 0xd5, 0xca, 0xbc, 0x8f, 0xc7, 0x43, 0x53, + 0x64, 0x66, 0x1c, 0x82, 0x2d, 0xfb, 0xff, 0x39, 0xba, 0xd6, 0x42, 0x62, + 0x02, 0x6f, 0x96, 0x36 + }; + static const unsigned char seed_data[] = { + 0x64, 0x46, 0x07, 0x32, 0x8d, 0x70, 0x9c, 0xb3, 0x8a, 0x35, 0xde, 0x62, + 0x00, 0xf2, 0x6d, 0x52, 0x37, 0x4d, 0xb3, 0x84, 0xe1, 0x9d, 0x41, 0x04, + 0xda, 0x7b, 0xdc, 0x0d, 0x8b, 0x5e, 0xe0, 0x84 + }; + const int gindex = 1; + const int pcounter = 53; + /* + * The keypair was generated using + * openssl genpkey -paramfile dsa_params.pem --pkeyopt pcounter:53 \ + * -pkeyopt gindex:1 \ + * -pkeyopt hexseed:644607328d709cb38a35de6200f26d -text + */ + static const unsigned char priv_data[] = { + 0x00, 0x8f, 0xc5, 0x9e, 0xd0, 0xf7, 0x2a, 0x0b, 0x66, 0xf1, 0x32, 0x73, + 0xae, 0xf6, 0xd9, 0xd4, 0xdb, 0x2d, 0x96, 0x55, 0x89, 0xff, 0xef, 0xa8, + 0x5f, 0x47, 0x8f, 0xca, 0x02, 0x8a, 0xe1, 0x35, 0x90 + }; + static const unsigned char pub_data[] = { + 0x44, 0x19, 0xc9, 0x46, 0x45, 0x57, 0xc1, 0xa9, 0xd8, 0x30, 0x99, 0x29, + 0x6a, 0x4b, 0x63, 0x71, 0x69, 0x96, 0x35, 0x17, 0xb2, 0x62, 0x9b, 0x80, + 0x0a, 0x95, 0x9d, 0x6a, 0xc0, 0x32, 0x0d, 0x07, 0x5f, 0x19, 0x44, 0x02, + 0xf1, 0xbd, 0xce, 0xdf, 0x10, 0xf8, 0x02, 0x5d, 0x7d, 0x98, 0x8a, 0x73, + 0x89, 0x00, 0xb6, 0x24, 0xd6, 0x33, 0xe7, 0xcf, 0x8b, 0x49, 0x2a, 0xaf, + 0x13, 0x1c, 0xb2, 0x52, 0x15, 0xfd, 0x9b, 0xd5, 0x40, 0x4a, 0x1a, 0xda, + 0x29, 0x4c, 0x92, 0x7e, 0x66, 0x06, 0xdb, 0x61, 0x86, 0xac, 0xb5, 0xda, + 0x3c, 0x7d, 0x73, 0x7e, 0x54, 0x32, 0x68, 0xa5, 0x02, 0xbc, 0x59, 0x47, + 0x84, 0xd3, 0x87, 0x71, 0x5f, 0xeb, 0x43, 0x45, 0x24, 0xd3, 0xec, 0x08, + 0x52, 0xc2, 0x89, 0x2d, 0x9c, 0x1a, 0xcc, 0x91, 0x65, 0x5d, 0xa3, 0xa1, + 0x35, 0x31, 0x10, 0x1c, 0x3a, 0xa8, 0x4d, 0x18, 0xd5, 0x06, 0xaf, 0xb2, + 0xec, 0x5c, 0x89, 0x9e, 0x90, 0x86, 0x10, 0x01, 0xeb, 0x51, 0xd5, 0x1b, + 0x9c, 0xcb, 0x66, 0x07, 0x3f, 0xc4, 0x6e, 0x0a, 0x1b, 0x73, 0xa0, 0x4b, + 0x5f, 0x4d, 0xab, 0x35, 0x28, 0xfa, 0xda, 0x3a, 0x0c, 0x08, 0xe8, 0xf3, + 0xef, 0x42, 0x67, 0xbc, 0x21, 0xf2, 0xc2, 0xb8, 0xff, 0x1a, 0x81, 0x05, + 0x68, 0x73, 0x62, 0xdf, 0xd7, 0xab, 0x0f, 0x22, 0x89, 0x57, 0x96, 0xd4, + 0x93, 0xaf, 0xa1, 0x21, 0xa3, 0x48, 0xe9, 0xf0, 0x97, 0x47, 0xa0, 0x27, + 0xba, 0x87, 0xb8, 0x15, 0x5f, 0xff, 0x2c, 0x50, 0x41, 0xf1, 0x7e, 0xc6, + 0x81, 0xc4, 0x51, 0xf1, 0xfd, 0xd6, 0x86, 0xf7, 0x69, 0x97, 0xf1, 0x49, + 0xc9, 0xf9, 0xf4, 0x9b, 0xf4, 0xe8, 0x85, 0xa7, 0xbd, 0x36, 0x55, 0x4a, + 0x3d, 0xe8, 0x65, 0x09, 0x7b, 0xb7, 0x12, 0x64, 0xd2, 0x0a, 0x53, 0x60, + 0x48, 0xd1, 0x8a, 0xbd + }; + + if (!TEST_ptr(bld = OSSL_PARAM_BLD_new()) + || !TEST_ptr(pub = BN_bin2bn(pub_data, sizeof(pub_data), NULL)) + || !TEST_ptr(priv = BN_bin2bn(priv_data, sizeof(priv_data), NULL)) + || !TEST_ptr(p = BN_bin2bn(p_data, sizeof(p_data), NULL)) + || !TEST_ptr(q = BN_bin2bn(q_data, sizeof(q_data), NULL)) + || !TEST_ptr(g = BN_bin2bn(g_data, sizeof(g_data), NULL)) + + || !TEST_true(OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_FFC_P, p)) + || !TEST_true(OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_FFC_Q, q)) + || !TEST_true(OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_FFC_G, g)) + || !TEST_true(OSSL_PARAM_BLD_push_octet_string(bld, + OSSL_PKEY_PARAM_FFC_SEED, + seed_data, + sizeof(seed_data))) + || !TEST_true(OSSL_PARAM_BLD_push_int(bld, OSSL_PKEY_PARAM_FFC_GINDEX, + gindex)) + || !TEST_true(OSSL_PARAM_BLD_push_int(bld, + OSSL_PKEY_PARAM_FFC_PCOUNTER, + pcounter)) + || !TEST_true(OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_PUB_KEY, + pub)) + || !TEST_true(OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_PRIV_KEY, + priv)) + || !TEST_ptr(fromdata_params = OSSL_PARAM_BLD_to_param(bld))) + goto err; + + if (!TEST_ptr(ctx = EVP_PKEY_CTX_new_from_name(NULL, "DSA", NULL))) + goto err; + + if (!TEST_true(EVP_PKEY_key_fromdata_init(ctx)) + || !TEST_true(EVP_PKEY_fromdata(ctx, &pk, fromdata_params)) + || !TEST_int_eq(EVP_PKEY_bits(pk), 2048) + || !TEST_int_eq(EVP_PKEY_security_bits(pk), 112) + || !TEST_int_eq(EVP_PKEY_size(pk), 2 + 2 * (3 + sizeof(q_data)))) + goto err; + + if (!TEST_false(EVP_PKEY_get_utf8_string_param(pk, OSSL_PKEY_PARAM_FFC_GROUP, + name_out, sizeof(name_out), + &len)) + || !TEST_true(EVP_PKEY_get_bn_param(pk, OSSL_PKEY_PARAM_PUB_KEY, + &pub_out)) + || !TEST_BN_eq(pub, pub_out) + || !TEST_true(EVP_PKEY_get_bn_param(pk, OSSL_PKEY_PARAM_PRIV_KEY, + &priv_out)) + || !TEST_BN_eq(priv, priv_out) + || !TEST_true(EVP_PKEY_get_bn_param(pk, OSSL_PKEY_PARAM_FFC_P, &p_out)) + || !TEST_BN_eq(p, p_out) + || !TEST_true(EVP_PKEY_get_bn_param(pk, OSSL_PKEY_PARAM_FFC_Q, &q_out)) + || !TEST_BN_eq(q, q_out) + || !TEST_true(EVP_PKEY_get_bn_param(pk, OSSL_PKEY_PARAM_FFC_G, &g_out)) + || !TEST_BN_eq(g, g_out) + || !TEST_false(EVP_PKEY_get_bn_param(pk, OSSL_PKEY_PARAM_FFC_COFACTOR, + &j_out)) + || !TEST_ptr_null(j_out) + || !TEST_true(EVP_PKEY_get_octet_string_param(pk, + OSSL_PKEY_PARAM_FFC_SEED, + seed_out, sizeof(seed_out), + &len)) + || !TEST_true(EVP_PKEY_get_int_param(pk, OSSL_PKEY_PARAM_FFC_GINDEX, + &gindex_out)) + || !TEST_int_eq(gindex, gindex_out) + || !TEST_true(EVP_PKEY_get_int_param(pk, OSSL_PKEY_PARAM_FFC_H, + &hindex_out)) + || !TEST_int_eq(hindex_out, 0) + || !TEST_true(EVP_PKEY_get_int_param(pk, OSSL_PKEY_PARAM_FFC_PCOUNTER, + &pcounter_out)) + || !TEST_int_eq(pcounter, pcounter_out)) + goto err; + + if (!TEST_ptr(key_ctx = EVP_PKEY_CTX_new_from_pkey(NULL, pk, ""))) + goto err; + + if (!TEST_true(EVP_PKEY_check(key_ctx)) + || !TEST_true(EVP_PKEY_public_check(key_ctx)) + || !TEST_true(EVP_PKEY_private_check(key_ctx)) + || !TEST_true(EVP_PKEY_pairwise_check(key_ctx))) + goto err; + + if (!TEST_ptr(copy_pk = EVP_PKEY_new()) + || !TEST_true(EVP_PKEY_copy_parameters(copy_pk, pk))) + goto err; + + ret = test_print_key_using_pem("DSA", pk) + && test_print_key_using_serializer("DSA", pk); + err: + OSSL_PARAM_BLD_free_params(fromdata_params); + OSSL_PARAM_BLD_free(bld); + BN_free(p); + BN_free(q); + BN_free(g); + BN_free(pub); + BN_free(priv); + BN_free(p_out); + BN_free(q_out); + BN_free(g_out); + BN_free(pub_out); + BN_free(priv_out); + BN_free(j_out); + EVP_PKEY_free(pk); + EVP_PKEY_free(copy_pk); + EVP_PKEY_CTX_free(ctx); + EVP_PKEY_CTX_free(key_ctx); + + return ret; +} +#endif /* OPENSSL_NO_DSA */ + + int setup_tests(void) { if (!test_skip_common_options()) { @@ -789,7 +1227,11 @@ int setup_tests(void) ADD_TEST(test_evp_pkey_get_bn_param_large); ADD_TEST(test_fromdata_rsa); #ifndef OPENSSL_NO_DH - ADD_TEST(test_fromdata_dh); + ADD_TEST(test_fromdata_dh_fips186_4); + ADD_TEST(test_fromdata_dh_named_group); +#endif +#ifndef OPENSSL_NO_DSA + ADD_TEST(test_fromdata_dsa_fips186_4); #endif #ifndef OPENSSL_NO_EC ADD_ALL_TESTS(test_fromdata_ecx, 4); diff --git a/test/evp_test.c b/test/evp_test.c index 0f272080..6727a007 100644 --- a/test/evp_test.c +++ b/test/evp_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 @@ -25,6 +25,8 @@ #include "testutil.h" #include "evp_test.h" +DEFINE_STACK_OF_STRING() + #define AAD_NUM 4 typedef struct evp_test_method_st EVP_TEST_METHOD; diff --git a/test/fatalerrtest.c b/test/fatalerrtest.c index 184392cf..a2538c59 100644 --- a/test/fatalerrtest.c +++ b/test/fatalerrtest.c @@ -1,5 +1,5 @@ /* - * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2020 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 @@ -28,7 +28,7 @@ static int test_fatalerr(void) 0x17, 0x03, 0x03, 0x00, 0x05, 'D', 'u', 'm', 'm', 'y' }; - if (!TEST_true(create_ssl_ctx_pair(TLS_method(), TLS_method(), + if (!TEST_true(create_ssl_ctx_pair(NULL, TLS_method(), TLS_method(), TLS1_VERSION, 0, &sctx, &cctx, cert, privkey))) goto err; diff --git a/test/ffc_internal_test.c b/test/ffc_internal_test.c index e74dc1bd..c0b8e678 100644 --- a/test/ffc_internal_test.c +++ b/test/ffc_internal_test.c @@ -600,19 +600,19 @@ static int ffc_private_gen_test(int index) N = BN_num_bits(params->q); /* Fail since N < 2*s - where s = 112*/ - if (!TEST_false(ffc_generate_private_key_fips(ctx, params, 220, 112, priv))) + if (!TEST_false(ffc_generate_private_key(ctx, params, 220, 112, priv))) goto err; /* fail since N > len(q) */ - if (!TEST_false(ffc_generate_private_key_fips(ctx, params, N + 1, 112, priv))) + if (!TEST_false(ffc_generate_private_key(ctx, params, N + 1, 112, priv))) goto err; /* pass since 2s <= N <= len(q) */ - if (!TEST_true(ffc_generate_private_key_fips(ctx, params, N, 112, priv))) + if (!TEST_true(ffc_generate_private_key(ctx, params, N, 112, priv))) goto err; /* pass since N = len(q) */ if (!TEST_true(ffc_validate_private_key(params->q, priv, &res))) goto err; /* pass since 2s <= N < len(q) */ - if (!TEST_true(ffc_generate_private_key_fips(ctx, params, N / 2, 112, priv))) + if (!TEST_true(ffc_generate_private_key(ctx, params, N / 2, 112, priv))) goto err; if (!TEST_true(ffc_validate_private_key(params->q, priv, &res))) goto err; diff --git a/test/fips.cnf b/test/fips.cnf index 32c18be6..d6c3c6be 100644 --- a/test/fips.cnf +++ b/test/fips.cnf @@ -1,6 +1,6 @@ openssl_conf = openssl_init -.include fipsinstall.cnf +.include fipsmodule.cnf [openssl_init] providers = provider_sect diff --git a/test/generate_ssl_tests.pl b/test/generate_ssl_tests.pl index 8cfc451f..cdb35cc1 100644 --- a/test/generate_ssl_tests.pl +++ b/test/generate_ssl_tests.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 @@ -127,6 +127,11 @@ sub print_templates { # Shamelessly copied from Configure. sub read_config { my $fname = shift; + my $provider = shift; + local $ssltests::fips_mode = $provider eq "fips"; + local $ssltests::no_deflt_libctx = + $provider eq "default" || $provider eq "fips"; + open(INPUT, "< $fname") or die "Can't open input file '$fname'!\n"; local $/ = undef; my $content = ; @@ -136,8 +141,9 @@ sub read_config { } my $input_file = shift; +my $provider = shift; # Reads the tests into ssltests::tests. -read_config($input_file); +read_config($input_file, $provider); print_templates(); 1; diff --git a/test/gosttest.c b/test/gosttest.c index f619ebd3..b61e4efa 100644 --- a/test/gosttest.c +++ b/test/gosttest.c @@ -46,7 +46,7 @@ static int test_tls13(int idx) SSL *clientssl = NULL, *serverssl = NULL; int testresult = 0; - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + if (!TEST_true(create_ssl_ctx_pair(NULL, TLS_server_method(), TLS_client_method(), TLS1_VERSION, 0, diff --git a/test/handshake_helper.c b/test/handshake_helper.c index 86313c9e..32aa12c4 100644 --- a/test/handshake_helper.c +++ b/test/handshake_helper.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 @@ -26,6 +26,8 @@ #include #endif +DEFINE_STACK_OF(X509_NAME) + HANDSHAKE_RESULT *HANDSHAKE_RESULT_new(void) { HANDSHAKE_RESULT *ret; diff --git a/test/hmactest.c b/test/hmactest.c index ebc07543..babfb0e1 100644 --- a/test/hmactest.c +++ b/test/hmactest.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/test/http_test.c b/test/http_test.c index 6449c6f6..f0b12a7d 100644 --- a/test/http_test.c +++ b/test/http_test.c @@ -15,6 +15,8 @@ #include "testutil.h" +DEFINE_STACK_OF(CONF_VALUE) + static const ASN1_ITEM *x509_it = NULL; static X509 *x509 = NULL; #define SERVER "mock.server" diff --git a/test/ideatest.c b/test/ideatest.c index 2ef5a49c..ff5e4601 100644 --- a/test/ideatest.c +++ b/test/ideatest.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/test/keymgmt_internal_test.c b/test/keymgmt_internal_test.c index d30b3a70..1508123c 100644 --- a/test/keymgmt_internal_test.c +++ b/test/keymgmt_internal_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/test/mdc2_internal_test.c b/test/mdc2_internal_test.c index 0e32331f..56f464b1 100644 --- a/test/mdc2_internal_test.c +++ b/test/mdc2_internal_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/test/mdc2test.c b/test/mdc2test.c index 25cf5a73..619574fb 100644 --- a/test/mdc2test.c +++ b/test/mdc2test.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/test/modes_internal_test.c b/test/modes_internal_test.c index a2585905..dd0a3595 100644 --- a/test/modes_internal_test.c +++ b/test/modes_internal_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/test/namemap_internal_test.c b/test/namemap_internal_test.c index 1d4a657a..9c94440f 100644 --- a/test/namemap_internal_test.c +++ b/test/namemap_internal_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/test/ocspapitest.c b/test/ocspapitest.c index ad3b6cac..4ea6c636 100644 --- a/test/ocspapitest.c +++ b/test/ocspapitest.c @@ -1,5 +1,5 @@ /* - * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2020 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 @@ -18,6 +18,8 @@ #include "testutil.h" +DEFINE_STACK_OF(X509) + static const char *certstr; static const char *privkeystr; diff --git a/test/p_test.c b/test/p_test.c index ac1f4c20..cecb40ec 100644 --- a/test/p_test.c +++ b/test/p_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 diff --git a/test/param_build_test.c b/test/param_build_test.c index c5fcc70a..a253f063 100644 --- a/test/param_build_test.c +++ b/test/param_build_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/test/params_api_test.c b/test/params_api_test.c index c403f39a..110820c8 100644 --- a/test/params_api_test.c +++ b/test/params_api_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -69,6 +69,11 @@ static int test_param_type_extra(OSSL_PARAM *param, const unsigned char *cmp, const int sizet = bit32 && sizeof(size_t) > sizeof(int32_t); const int signd = param->data_type == OSSL_PARAM_INTEGER; + /* + * Set the unmodified sentinal directly because there is no param array + * for these tests. + */ + param->return_size = OSSL_PARAM_UNMODIFIED; if (signd) { if ((bit32 && !TEST_true(OSSL_PARAM_get_int32(param, &i32))) || !TEST_true(OSSL_PARAM_get_int64(param, &i64))) @@ -80,6 +85,8 @@ static int test_param_type_extra(OSSL_PARAM *param, const unsigned char *cmp, || (sizet && !TEST_true(OSSL_PARAM_get_size_t(param, &s)))) return 0; } + if (!TEST_false(OSSL_PARAM_modified(param))) + return 0; /* Check signed types */ if (bit32) { @@ -112,6 +119,8 @@ static int test_param_type_extra(OSSL_PARAM *param, const unsigned char *cmp, || !TEST_size_t_eq((size_t)i64, 12345)) return 0; } + if (!TEST_true(OSSL_PARAM_modified(param))) + return 0; } return 1; } @@ -563,6 +572,33 @@ err: return ret; } +static int test_param_modified(void) +{ + OSSL_PARAM param[3] = { OSSL_PARAM_int("a", NULL), + OSSL_PARAM_int("b", NULL), + OSSL_PARAM_END }; + int a, b; + + param->data = &a; + param[1].data = &b; + if (!TEST_false(OSSL_PARAM_modified(param)) + && !TEST_true(OSSL_PARAM_set_int32(param, 1234)) + && !TEST_true(OSSL_PARAM_modified(param)) + && !TEST_false(OSSL_PARAM_modified(param + 1)) + && !TEST_true(OSSL_PARAM_set_int32(param + 1, 1)) + && !TEST_true(OSSL_PARAM_modified(param + 1))) + return 0; + OSSL_PARAM_set_all_unmodified(param); + if (!TEST_false(OSSL_PARAM_modified(param)) + && !TEST_true(OSSL_PARAM_set_int32(param, 4321)) + && !TEST_true(OSSL_PARAM_modified(param)) + && !TEST_false(OSSL_PARAM_modified(param + 1)) + && !TEST_true(OSSL_PARAM_set_int32(param + 1, 2)) + && !TEST_true(OSSL_PARAM_modified(param + 1))) + return 0; + return 1; +} + int setup_tests(void) { ADD_ALL_TESTS(test_param_int, OSSL_NELEM(raw_values)); @@ -577,5 +613,6 @@ int setup_tests(void) ADD_ALL_TESTS(test_param_bignum, OSSL_NELEM(raw_values)); ADD_TEST(test_param_real); ADD_TEST(test_param_construct); + ADD_TEST(test_param_modified); return 1; } diff --git a/test/params_conversion_test.c b/test/params_conversion_test.c index 838eefa2..1c3a4716 100644 --- a/test/params_conversion_test.c +++ b/test/params_conversion_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/test/params_test.c b/test/params_test.c index 339a5169..8ee2e159 100644 --- a/test/params_test.c +++ b/test/params_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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. @@ -467,8 +467,7 @@ static int test_case_variant(OSSL_PARAM *params, const struct provider_dispatch_ || !TEST_size_t_eq(p->return_size, sizeof(p6_init)) /* "provider" value */ || !TEST_str_eq(app_p6, p6_init) /* "provider" value */ || !TEST_char_eq(foo[0], app_foo_init) /* Should remain untouched */ - || !TEST_ptr(p = OSSL_PARAM_locate(params, "foo")) - || !TEST_int_eq(p->return_size, 0)) + || !TEST_ptr(p = OSSL_PARAM_locate(params, "foo"))) errcnt++; /* @@ -519,8 +518,7 @@ static int test_case_variant(OSSL_PARAM *params, const struct provider_dispatch_ sizeof(app_p6_init)) /* app value */ || !TEST_str_eq(app_p6, app_p6_init) /* app value */ || !TEST_char_eq(foo[0], app_foo_init) /* Should remain untouched */ - || !TEST_ptr(p = OSSL_PARAM_locate(params, "foo")) - || !TEST_int_eq(p->return_size, 0)) + || !TEST_ptr(p = OSSL_PARAM_locate(params, "foo"))) errcnt++; fin: diff --git a/test/rc2test.c b/test/rc2test.c index 7b965094..179b6a53 100644 --- a/test/rc2test.c +++ b/test/rc2test.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/test/rc4test.c b/test/rc4test.c index dad3140e..0ca2ca9a 100644 --- a/test/rc4test.c +++ b/test/rc4test.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/test/rc5test.c b/test/rc5test.c index 70f88f09..8e074760 100644 --- a/test/rc5test.c +++ b/test/rc5test.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 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 diff --git a/test/recipes/02-test_internal_provider.t b/test/recipes/02-test_internal_provider.t index 2b77d4b5..a369553b 100644 --- a/test/recipes/02-test_internal_provider.t +++ b/test/recipes/02-test_internal_provider.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2019-2020 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 diff --git a/test/recipes/03-test_fipsinstall.t b/test/recipes/03-test_fipsinstall.t index 024d8c7c..b35ddfc7 100644 --- a/test/recipes/03-test_fipsinstall.t +++ b/test/recipes/03-test_fipsinstall.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2019-2020 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 @@ -101,19 +101,28 @@ ok(!run(app(['openssl', 'fipsinstall', '-out', 'fips.cnf', '-module', $infile, "fipsinstall fails when the DRBG CTR result is corrupted"); # corrupt a KAS test -ok(!run(app(['openssl', 'fipsinstall', '-out', 'fips.conf', '-module', $infile, - '-provider_name', 'fips', '-mac_name', 'HMAC', - '-macopt', 'digest:SHA256', '-macopt', 'hexkey:00', - '-section_name', 'fips_install', - '-corrupt_desc', 'DH', - '-corrupt_type', 'KAT_KA'])), - "fipsinstall fails when the kas result is corrupted"); +SKIP: { + skip "Skipping KAS DH corruption test because of no dh in this build", 1 + if disabled("dh"); + + ok(!run(app(['openssl', 'fipsinstall', '-out', 'fips.conf', '-module', $infile, + '-provider_name', 'fips', '-mac_name', 'HMAC', + '-macopt', 'digest:SHA256', '-macopt', 'hexkey:00', + '-section_name', 'fips_install', + '-corrupt_desc', 'DH', + '-corrupt_type', 'KAT_KA'])), + "fipsinstall fails when the kas result is corrupted"); +} # corrupt a Signature test -ok(!run(app(['openssl', 'fipsinstall', '-out', 'fips.conf', '-module', $infile, - '-provider_name', 'fips', '-mac_name', 'HMAC', - '-macopt', 'digest:SHA256', '-macopt', 'hexkey:00', - '-section_name', 'fips_install', - '-corrupt_desc', 'DSA', - '-corrupt_type', 'KAT_Signature'])), - "fipsinstall fails when the signature result is corrupted"); +SKIP: { + skip "Skipping Signature DSA corruption test because of no dsa in this build", 1 + if disabled("dsa"); + ok(!run(app(['openssl', 'fipsinstall', '-out', 'fips.conf', '-module', $infile, + '-provider_name', 'fips', '-mac_name', 'HMAC', + '-macopt', 'digest:SHA256', '-macopt', 'hexkey:00', + '-section_name', 'fips_install', + '-corrupt_desc', 'DSA', + '-corrupt_type', 'KAT_Signature'])), + "fipsinstall fails when the signature result is corrupted"); +} diff --git a/test/recipes/04-test_conf.t b/test/recipes/04-test_conf.t index 92a570c5..071233fe 100644 --- a/test/recipes/04-test_conf.t +++ b/test/recipes/04-test_conf.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/test/recipes/05-test_bf.t b/test/recipes/05-test_bf.t index 138046b2..3b8424b2 100644 --- a/test/recipes/05-test_bf.t +++ b/test/recipes/05-test_bf.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/test/recipes/05-test_cast.t b/test/recipes/05-test_cast.t index 3be9721e..b59d1be1 100644 --- a/test/recipes/05-test_cast.t +++ b/test/recipes/05-test_cast.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/test/recipes/05-test_rand.t b/test/recipes/05-test_rand.t index 70035e9b..c1964d50 100644 --- a/test/recipes/05-test_rand.t +++ b/test/recipes/05-test_rand.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/test/recipes/15-test_dsa.t b/test/recipes/15-test_dsa.t index 1495724e..c99b320a 100644 --- a/test/recipes/15-test_dsa.t +++ b/test/recipes/15-test_dsa.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 @@ -21,27 +21,17 @@ plan tests => 7; require_ok(srctop_file('test','recipes','tconversion.pl')); - SKIP: { - skip "Skipping initial dsa tests", 2 - if disabled('deprecated-3.0'); +ok(run(test(["dsatest"])), "running dsatest"); +ok(run(test(["dsa_no_digest_size_test"])), + "running dsa_no_digest_size_test"); - ok(run(test(["dsatest"])), "running dsatest"); - ok(run(test(["dsa_no_digest_size_test"])), - "running dsa_no_digest_size_test"); -} - - SKIP: { - skip "Skipping dsa conversion test using 'openssl dsa'", 2 - if disabled('deprecated-3.0'); - - subtest "dsa conversions using 'openssl dsa' -- private key" => sub { - tconversion("dsa", srctop_file("test","testdsa.pem")); - }; - subtest "dsa conversions using 'openssl dsa' -- public key" => sub { - tconversion("msb", srctop_file("test","testdsapub.pem"), "dsa", - "-pubin", "-pubout"); - }; -} +subtest "dsa conversions using 'openssl dsa' -- private key" => sub { + tconversion("dsa", srctop_file("test","testdsa.pem")); +}; +subtest "dsa conversions using 'openssl dsa' -- public key" => sub { + tconversion("msb", srctop_file("test","testdsapub.pem"), "dsa", + "-pubin", "-pubout"); +}; subtest "dsa conversions using 'openssl pkey' -- private key PKCS#8" => sub { tconversion("dsa", srctop_file("test","testdsa.pem"), "pkey"); diff --git a/test/recipes/15-test_ec.t b/test/recipes/15-test_ec.t index 127c1d12..c65814f6 100644 --- a/test/recipes/15-test_ec.t +++ b/test/recipes/15-test_ec.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 @@ -27,7 +27,7 @@ ok(run(test(["ectest"])), "running ectest"); # the command line tool in addition to the algorithm. SKIP: { skip "Skipping EC conversion test", 3 - if disabled("ec") || disabled('deprecated-3.0'); + if disabled("ec"); subtest 'EC conversions -- private key' => sub { tconversion("ec", srctop_file("test","testec-p256.pem")); diff --git a/test/recipes/15-test_ecparam.t b/test/recipes/15-test_ecparam.t index 22d22d99..4294a00e 100644 --- a/test/recipes/15-test_ecparam.t +++ b/test/recipes/15-test_ecparam.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/test/recipes/15-test_gendh.t b/test/recipes/15-test_gendh.t new file mode 100644 index 00000000..e4e5fb83 --- /dev/null +++ b/test/recipes/15-test_gendh.t @@ -0,0 +1,98 @@ +#! /usr/bin/env perl +# Copyright 2017-2020 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 + + +use strict; +use warnings; + +use File::Spec; +use OpenSSL::Test qw/:DEFAULT srctop_file/; +use OpenSSL::Test::Utils; + +setup("test_gendh"); + +plan skip_all => "This test is unsupported in a no-dh build" if disabled("dh"); + +plan tests => 13; + +ok(run(app([ 'openssl', 'genpkey', '-genparam', + '-algorithm', 'DH', + '-pkeyopt', 'gindex:1', + '-pkeyopt', 'type:fips186_4', + '-text'])), + "genpkey DH params fips186_4 with verifiable g"); + +ok(run(app([ 'openssl', 'genpkey', '-genparam', + '-algorithm', 'DH', + '-pkeyopt', 'type:fips186_4', + '-text'])), + "genpkey DH params fips186_4 with unverifiable g"); + +ok(run(app([ 'openssl', 'genpkey', '-genparam', + '-algorithm', 'DH', + '-pkeyopt', 'type:fips186_2', + '-text'])), + "genpkey DH params fips186_2"); + +ok(run(app([ 'openssl', 'genpkey', '-algorithm', 'DH', + '-pkeyopt', 'type:group', + '-text'])), + "genpkey DH default group"); + +ok(run(app([ 'openssl', 'genpkey', '-algorithm', 'DH', + '-pkeyopt', 'type:group', + '-pkeyopt', 'group:ffdhe2048', + '-text'])), + "genpkey DH group ffdhe2048"); + +ok(run(app([ 'openssl', 'genpkey', '-genparam', + '-algorithm', 'DH', + '-pkeyopt', 'gindex:1', + '-pkeyopt', 'type:fips186_4', + '-out', 'dhgen.pem'])), + "genpkey DH params fips186_4 PEM"); + +ok(run(app([ 'openssl', 'genpkey', '-genparam', + '-algorithm', 'DH', + '-pkeyopt', 'gindex:1', + '-pkeyopt', 'pbits:2048', + '-pkeyopt', 'qbits:256', + '-pkeyopt', 'type:fips186_4', + '-outform', 'DER', + '-out', 'dhgen.der'])), + "genpkey DH params fips186_4 DER"); + +# The seed and counter should be the ones generated from the param generation +# Just put some dummy ones in to show it works. +ok(run(app([ 'openssl', 'genpkey', + '-paramfile', 'dhgen.der', + '-pkeyopt', 'gindex:1', + '-pkeyopt', 'hexseed:0102030405060708090A0B0C0D0E0F1011121314', + '-pkeyopt', 'pcounter:25', + '-text'])), + "genpkey DH fips186_4 with DER params"); + + ok(!run(app([ 'openssl', 'genpkey', + '-algorithm', 'DH'])), + "genpkey DH with no params should fail"); + + ok(!run(app([ 'openssl', 'genpkey', '-algorithm', 'DH', '-pkeyopt', + 'group:ffdhe3072', '-pkeyopt', 'priv_len:255', '-text'])), + 'genpkey DH with a small private len should fail'); + + ok(!run(app([ 'openssl', 'genpkey', '-algorithm', 'DH', '-pkeyopt', + 'group:ffdhe3072', '-pkeyopt', 'priv_len:3072', '-text'])), + 'genpkey DH with a large private len should fail'); + + ok(run(app([ 'openssl', 'genpkey', '-algorithm', 'DH', '-pkeyopt', + 'group:ffdhe3072', '-pkeyopt', 'priv_len:256', '-text'])), + 'genpkey DH with a minimum strength private len'); + + ok(run(app([ 'openssl', 'genpkey', '-algorithm', 'DH', '-pkeyopt', + 'group:ffdhe2048', '-pkeyopt', 'priv_len:224', '-text'])), + 'genpkey 2048 DH with a minimum strength private len'); diff --git a/test/recipes/15-test_gendsa.t b/test/recipes/15-test_gendsa.t new file mode 100644 index 00000000..4344cde9 --- /dev/null +++ b/test/recipes/15-test_gendsa.t @@ -0,0 +1,77 @@ +#! /usr/bin/env perl +# Copyright 2017-2020 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 + + +use strict; +use warnings; + +use File::Spec; +use OpenSSL::Test qw/:DEFAULT srctop_file/; +use OpenSSL::Test::Utils; + +setup("test_gendsa"); + +plan skip_all => "This test is unsupported in a no-dsa build" + if disabled("dsa"); + +plan tests => 8; + +ok(run(app([ 'openssl', 'genpkey', '-genparam', + '-algorithm', 'DSA', + '-pkeyopt', 'gindex:1', + '-pkeyopt', 'type:fips186_4', + '-text'])), + "genpkey DSA params fips186_4 with verifiable g"); + +ok(run(app([ 'openssl', 'genpkey', '-genparam', + '-algorithm', 'DSA', + '-pkeyopt', 'type:fips186_4', + '-text'])), + "genpkey DSA params fips186_4 with unverifiable g"); + +ok(run(app([ 'openssl', 'genpkey', '-genparam', + '-algorithm', 'DSA', + '-pkeyopt', 'type:fips186_2', + '-text'])), + "genpkey DSA params fips186_2"); + +ok(!run(app([ 'openssl', 'genpkey', '-algorithm', 'DSA', + '-pkeyopt', 'type:group', + '-text'])), + "genpkey DSA does not support groups"); + +ok(run(app([ 'openssl', 'genpkey', '-genparam', + '-algorithm', 'DSA', + '-pkeyopt', 'gindex:1', + '-pkeyopt', 'type:fips186_4', + '-out', 'dsagen.pem'])), + "genpkey DSA params fips186_4 PEM"); + +ok(run(app([ 'openssl', 'genpkey', '-genparam', + '-algorithm', 'DSA', + '-pkeyopt', 'gindex:1', + '-pkeyopt', 'pbits:2048', + '-pkeyopt', 'qbits:256', + '-pkeyopt', 'type:fips186_4', + '-outform', 'DER', + '-out', 'dsagen.der'])), + "genpkey DSA params fips186_4 DER"); + +# The seed and counter should be the ones generated from the param generation +# Just put some dummy ones in to show it works. +ok(run(app([ 'openssl', 'genpkey', + '-paramfile', 'dsagen.der', + '-pkeyopt', 'gindex:1', + '-pkeyopt', 'hexseed:0102030405060708090A0B0C0D0E0F1011121314', + '-pkeyopt', 'pcounter:25', + '-text'])), + "genpkey DSA fips186_4 with DER params"); + +ok(!run(app([ 'openssl', 'genpkey', + '-algorithm', 'DSA'])), + "genpkey DSA with no params should fail"); diff --git a/test/recipes/15-test_genrsa.t b/test/recipes/15-test_genrsa.t index d7d146a1..d1b2130d 100644 --- a/test/recipes/15-test_genrsa.t +++ b/test/recipes/15-test_genrsa.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/test/recipes/15-test_mp_rsa.t b/test/recipes/15-test_mp_rsa.t index 4a4ac356..87258ae4 100644 --- a/test/recipes/15-test_mp_rsa.t +++ b/test/recipes/15-test_mp_rsa.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. # Copyright 2017 BaishanCloud. All rights reserved. # # Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/test/recipes/15-test_rsa.t b/test/recipes/15-test_rsa.t index 3b1a0fcd..2f94e6b0 100644 --- a/test/recipes/15-test_rsa.t +++ b/test/recipes/15-test_rsa.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 @@ -16,32 +16,41 @@ use OpenSSL::Test::Utils; setup("test_rsa"); -plan tests => 6; +plan tests => 10; -require_ok(srctop_file('test','recipes','tconversion.pl')); +require_ok(srctop_file('test', 'recipes', 'tconversion.pl')); ok(run(test(["rsa_test"])), "running rsatest"); -ok(run(app([ 'openssl', 'rsa', '-check', '-in', srctop_file('test', 'testrsa.pem'), '-noout'])), "rsa -check"); +run_rsa_tests("pkey"); - SKIP: { - skip "Skipping rsa conversion test", 3 - if disabled("rsa"); +run_rsa_tests("rsa"); - subtest 'rsa conversions -- private key' => sub { - tconversion("rsa", srctop_file("test","testrsa.pem")); - }; - subtest 'rsa conversions -- private key PKCS#8' => sub { - tconversion("rsa", srctop_file("test","testrsa.pem"), "pkey"); - }; -} - - SKIP: { - skip "Skipping msblob conversion test", 1 - if disabled("rsa") || disabled("dsa"); - - subtest 'rsa conversions -- public key' => sub { - tconversion("msb", srctop_file("test","testrsapub.pem"), "rsa", - "-pubin", "-pubout"); - }; +sub run_rsa_tests { + my $cmd = shift; + + ok(run(app([ 'openssl', $cmd, '-check', '-in', srctop_file('test', 'testrsa.pem'), '-noout'])), + "$cmd -check" ); + + SKIP: { + skip "Skipping $cmd conversion test", 3 + if disabled("rsa"); + + subtest "$cmd conversions -- private key" => sub { + tconversion($cmd, srctop_file("test", "testrsa.pem")); + }; + subtest "$cmd conversions -- private key PKCS#8" => sub { + tconversion($cmd, srctop_file("test", "testrsa.pem"), "pkey"); + }; + } + + SKIP: { + skip "Skipping msblob conversion test", 1 + if disabled($cmd) || disabled("dsa") || $cmd == 'pkey'; + + subtest "$cmd conversions -- public key" => sub { + tconversion("msb", srctop_file("test", "testrsapub.pem"), "rsa", + "-pubin", "-pubout"); + }; + } } diff --git a/test/recipes/15-test_rsapss.t b/test/recipes/15-test_rsapss.t index 59144cda..0d7e7bf2 100644 --- a/test/recipes/15-test_rsapss.t +++ b/test/recipes/15-test_rsapss.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/test/recipes/20-test_dgst.t b/test/recipes/20-test_dgst.t index a319d08c..c10da5a9 100644 --- a/test/recipes/20-test_dgst.t +++ b/test/recipes/20-test_dgst.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/test/recipes/20-test_enc.t b/test/recipes/20-test_enc.t index 896de8cd..488253b7 100644 --- a/test/recipes/20-test_enc.t +++ b/test/recipes/20-test_enc.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/test/recipes/20-test_enc_more.t b/test/recipes/20-test_enc_more.t index 7edcff01..b4fb009d 100644 --- a/test/recipes/20-test_enc_more.t +++ b/test/recipes/20-test_enc_more.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. # Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. # # Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/test/recipes/20-test_passwd.t b/test/recipes/20-test_passwd.t index 433eb23a..65d6e0d2 100644 --- a/test/recipes/20-test_passwd.t +++ b/test/recipes/20-test_passwd.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/test/recipes/20-test_pkeyutl.t b/test/recipes/20-test_pkeyutl.t index 2d9aae29..75399542 100644 --- a/test/recipes/20-test_pkeyutl.t +++ b/test/recipes/20-test_pkeyutl.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2018-2020 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 diff --git a/test/recipes/20-test_provider.t b/test/recipes/20-test_provider.t index d7a08214..67136532 100644 --- a/test/recipes/20-test_provider.t +++ b/test/recipes/20-test_provider.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2019-2020 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 diff --git a/test/recipes/25-test_crl.t b/test/recipes/25-test_crl.t index 2dda3619..b7e805cb 100644 --- a/test/recipes/25-test_crl.t +++ b/test/recipes/25-test_crl.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/test/recipes/25-test_req.t b/test/recipes/25-test_req.t index 0567adf7..8d26be2b 100644 --- a/test/recipes/25-test_req.t +++ b/test/recipes/25-test_req.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/test/recipes/25-test_verify.t b/test/recipes/25-test_verify.t index 3df2b5c3..9039a5db 100644 --- a/test/recipes/25-test_verify.t +++ b/test/recipes/25-test_verify.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/test/recipes/25-test_x509.t b/test/recipes/25-test_x509.t index 7ecdc027..14584401 100644 --- a/test/recipes/25-test_x509.t +++ b/test/recipes/25-test_x509.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/test/recipes/30-test_evp.t b/test/recipes/30-test_evp.t index 7263f292..88eb41e1 100644 --- a/test/recipes/30-test_evp.t +++ b/test/recipes/30-test_evp.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 @@ -84,7 +84,7 @@ unless ($no_fips) { $ENV{OPENSSL_CONF_INCLUDE} = bldtop_dir("providers"); ok(run(app(['openssl', 'fipsinstall', - '-out', bldtop_file('providers', 'fipsinstall.cnf'), + '-out', bldtop_file('providers', 'fipsmodule.cnf'), '-module', $infile, '-provider_name', 'fips', '-mac_name', 'HMAC', '-macopt', 'digest:SHA256', '-macopt', 'hexkey:00', diff --git a/test/recipes/30-test_evp_data/evpciph.txt b/test/recipes/30-test_evp_data/evpciph.txt index 1d4d703b..4d7f9f0d 100644 --- a/test/recipes/30-test_evp_data/evpciph.txt +++ b/test/recipes/30-test_evp_data/evpciph.txt @@ -1,5 +1,5 @@ # -# Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2001-2020 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 @@ -37,7 +37,7 @@ Plaintext = "Hello World" Ciphertext = 3CF55D656E9C0664513358 Cipher = DESX-CBC -Availablein = default +Availablein = legacy Key = 0123456789abcdeff1e0d3c2b5a49786fedcba9876543210 IV = fedcba9876543210 Plaintext = 37363534333231204E6F77206973207468652074696D6520666F722000000000 diff --git a/test/recipes/30-test_evp_data/evpmac.txt b/test/recipes/30-test_evp_data/evpmac.txt index 17c3220d..b6dc5b86 100644 --- a/test/recipes/30-test_evp_data/evpmac.txt +++ b/test/recipes/30-test_evp_data/evpmac.txt @@ -1,5 +1,5 @@ # -# Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2001-2020 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 diff --git a/test/recipes/30-test_evp_data/evppkey.txt b/test/recipes/30-test_evp_data/evppkey.txt index 76332917..e4b6497b 100644 --- a/test/recipes/30-test_evp_data/evppkey.txt +++ b/test/recipes/30-test_evp_data/evppkey.txt @@ -1,5 +1,5 @@ # -# Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2001-2020 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 diff --git a/test/recipes/30-test_evp_fetch_prov.t b/test/recipes/30-test_evp_fetch_prov.t index 36c324ee..be06716b 100644 --- a/test/recipes/30-test_evp_fetch_prov.t +++ b/test/recipes/30-test_evp_fetch_prov.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 @@ -48,7 +48,7 @@ my @testdata = ( unless ($no_fips) { push @setups, { cmd => app(['openssl', 'fipsinstall', - '-out', bldtop_file('providers', 'fipsinstall.cnf'), + '-out', bldtop_file('providers', 'fipsmodule.cnf'), '-module', bldtop_file('providers', platform->dso('fips')), '-provider_name', 'fips', '-mac_name', 'HMAC', '-macopt', 'digest:SHA256', '-macopt', 'hexkey:00', diff --git a/test/recipes/30-test_evp_pkey_provided/DH.priv.der b/test/recipes/30-test_evp_pkey_provided/DH.priv.der index 0063e62e..d77f50d8 100644 Binary files a/test/recipes/30-test_evp_pkey_provided/DH.priv.der and b/test/recipes/30-test_evp_pkey_provided/DH.priv.der differ diff --git a/test/recipes/30-test_evp_pkey_provided/DH.priv.pem b/test/recipes/30-test_evp_pkey_provided/DH.priv.pem index 73cc4650..2aa5f49d 100644 --- a/test/recipes/30-test_evp_pkey_provided/DH.priv.pem +++ b/test/recipes/30-test_evp_pkey_provided/DH.priv.pem @@ -1,3 +1,9 @@ -----BEGIN PRIVATE KEY----- -MCQCAQAwFwYJKoZIhvcNAQMBMAoCBQCLtF9TAgECBAYCBGZsKwY= +MIIBQwIBADCCARsGCSqGSIb3DQEDATCCAQwCggEBAP//////////rfhUWKK7Spqv +3FYgJz088di5xYPOLTaVqeE2QRRkM/vMk53OJJs++X0v42NjDHXY9oGyAq7EYXrT +3x7V1f1lYSQz9R9fBm7QhWNlVT3tGvO1VxNef1fJNZhPDHDg5ot34qaJ2vPv6HId +8VihNq3nNTCsyk9IOnl6vAqxgrMk+2HRCKlLssjj+7lq2rdg1/RoHU9Co945TfSu +Vu3nY3K7GQsHp8juCm1wngL84c334uzANATNKDQvYZFy/pzphYP/jk8SMu7ygYPD +/jsbTG+tczu1/LwuwiAFxY7xg30Wg7LG80omwbLv+ohrQjhhKFyX//////////8C +AQICAgDgBB8CHQCIheef7m3FfHivY104KtDtVktHISv6VfqH6Kl7 -----END PRIVATE KEY----- diff --git a/test/recipes/30-test_evp_pkey_provided/DH.priv.txt b/test/recipes/30-test_evp_pkey_provided/DH.priv.txt index cedef996..0e6f9519 100644 --- a/test/recipes/30-test_evp_pkey_provided/DH.priv.txt +++ b/test/recipes/30-test_evp_pkey_provided/DH.priv.txt @@ -1,5 +1,24 @@ -DH Private-Key: (32 bit) - private-key: 1718364934 (0x666c2b06) - public-key: 1873206864 (0x6fa6de50) - prime: 2343853907 (0x8bb45f53) - generator: 2 (0x2) +DH Private-Key: (2048 bit) +private-key: + 00:88:85:e7:9f:ee:6d:c5:7c:78:af:63:5d:38:2a: + d0:ed:56:4b:47:21:2b:fa:55:fa:87:e8:a9:7b +public-key: + 00:d6:2d:77:e0:d3:7d:f8:eb:98:50:a1:82:22:65: + d5:d9:fe:c9:3f:be:16:83:bd:33:e9:c6:93:cf:08: + af:83:fa:80:8a:6c:64:df:70:64:d5:0a:7c:5a:72: + da:66:e6:f9:f5:31:21:92:b0:60:1a:b5:d3:f0:a5: + fa:48:95:2e:38:d9:c5:e6:da:fb:6c:03:9d:4b:69: + b7:95:e4:5c:c0:93:4f:48:d9:7e:06:22:b2:de:f3: + 79:24:ed:e1:d1:4a:57:f1:40:86:70:42:25:c5:27: + 68:c9:fa:e5:8e:62:7e:ff:49:6c:5b:b5:ba:f9:ef: + 9a:1a:10:d4:81:53:cf:83:04:18:1c:e1:db:e1:65: + a9:7f:e1:33:eb:c3:4f:e3:b7:22:f7:1c:09:4f:ed: + c6:07:8e:78:05:8f:7c:96:d9:12:e0:81:74:1a:e9: + 13:c0:20:82:65:bb:42:3b:ed:08:6a:84:4f:ea:77: + 14:32:f9:ed:c2:12:d6:c5:c6:b3:e5:f2:6e:f6:16: + 7f:37:de:bc:09:c7:06:6b:12:bc:ad:2d:49:25:d5: + dc:f4:18:14:d2:f0:f1:1d:1f:3a:aa:15:55:bb:0d: + 7f:be:67:a1:a7:f0:aa:b3:fb:41:82:39:49:93:bc: + a8:ee:72:13:45:65:15:42:17:aa:d8:ab:cf:33:42: + 83:42 +GROUP: ffdhe2048 diff --git a/test/recipes/30-test_evp_pkey_provided/DH.pub.der b/test/recipes/30-test_evp_pkey_provided/DH.pub.der index 95a30014..a2d37305 100644 Binary files a/test/recipes/30-test_evp_pkey_provided/DH.pub.der and b/test/recipes/30-test_evp_pkey_provided/DH.pub.der differ diff --git a/test/recipes/30-test_evp_pkey_provided/DH.pub.pem b/test/recipes/30-test_evp_pkey_provided/DH.pub.pem index 709ac898..b71c143f 100644 --- a/test/recipes/30-test_evp_pkey_provided/DH.pub.pem +++ b/test/recipes/30-test_evp_pkey_provided/DH.pub.pem @@ -1,3 +1,14 @@ -----BEGIN PUBLIC KEY----- -MCIwFwYJKoZIhvcNAQMBMAoCBQCLtF9TAgECAwcAAgRvpt5Q +MIICKTCCARsGCSqGSIb3DQEDATCCAQwCggEBAP//////////rfhUWKK7Spqv3FYg +Jz088di5xYPOLTaVqeE2QRRkM/vMk53OJJs++X0v42NjDHXY9oGyAq7EYXrT3x7V +1f1lYSQz9R9fBm7QhWNlVT3tGvO1VxNef1fJNZhPDHDg5ot34qaJ2vPv6HId8Vih +Nq3nNTCsyk9IOnl6vAqxgrMk+2HRCKlLssjj+7lq2rdg1/RoHU9Co945TfSuVu3n +Y3K7GQsHp8juCm1wngL84c334uzANATNKDQvYZFy/pzphYP/jk8SMu7ygYPD/jsb +TG+tczu1/LwuwiAFxY7xg30Wg7LG80omwbLv+ohrQjhhKFyX//////////8CAQIC +AgDgA4IBBgACggEBANYtd+DTffjrmFChgiJl1dn+yT++FoO9M+nGk88Ir4P6gIps +ZN9wZNUKfFpy2mbm+fUxIZKwYBq10/Cl+kiVLjjZxeba+2wDnUtpt5XkXMCTT0jZ +fgYist7zeSTt4dFKV/FAhnBCJcUnaMn65Y5ifv9JbFu1uvnvmhoQ1IFTz4MEGBzh +2+FlqX/hM+vDT+O3IvccCU/txgeOeAWPfJbZEuCBdBrpE8AggmW7QjvtCGqET+p3 +FDL57cIS1sXGs+XybvYWfzfevAnHBmsSvK0tSSXV3PQYFNLw8R0fOqoVVbsNf75n +oafwqrP7QYI5SZO8qO5yE0VlFUIXqtirzzNCg0I= -----END PUBLIC KEY----- diff --git a/test/recipes/30-test_evp_pkey_provided/DH.pub.txt b/test/recipes/30-test_evp_pkey_provided/DH.pub.txt index b7b465f5..325e160f 100644 --- a/test/recipes/30-test_evp_pkey_provided/DH.pub.txt +++ b/test/recipes/30-test_evp_pkey_provided/DH.pub.txt @@ -1,4 +1,21 @@ -DH Public-Key: (32 bit) - public-key: 1873206864 (0x6fa6de50) - prime: 2343853907 (0x8bb45f53) - generator: 2 (0x2) +DH Public-Key: (2048 bit) +public-key: + 00:d6:2d:77:e0:d3:7d:f8:eb:98:50:a1:82:22:65: + d5:d9:fe:c9:3f:be:16:83:bd:33:e9:c6:93:cf:08: + af:83:fa:80:8a:6c:64:df:70:64:d5:0a:7c:5a:72: + da:66:e6:f9:f5:31:21:92:b0:60:1a:b5:d3:f0:a5: + fa:48:95:2e:38:d9:c5:e6:da:fb:6c:03:9d:4b:69: + b7:95:e4:5c:c0:93:4f:48:d9:7e:06:22:b2:de:f3: + 79:24:ed:e1:d1:4a:57:f1:40:86:70:42:25:c5:27: + 68:c9:fa:e5:8e:62:7e:ff:49:6c:5b:b5:ba:f9:ef: + 9a:1a:10:d4:81:53:cf:83:04:18:1c:e1:db:e1:65: + a9:7f:e1:33:eb:c3:4f:e3:b7:22:f7:1c:09:4f:ed: + c6:07:8e:78:05:8f:7c:96:d9:12:e0:81:74:1a:e9: + 13:c0:20:82:65:bb:42:3b:ed:08:6a:84:4f:ea:77: + 14:32:f9:ed:c2:12:d6:c5:c6:b3:e5:f2:6e:f6:16: + 7f:37:de:bc:09:c7:06:6b:12:bc:ad:2d:49:25:d5: + dc:f4:18:14:d2:f0:f1:1d:1f:3a:aa:15:55:bb:0d: + 7f:be:67:a1:a7:f0:aa:b3:fb:41:82:39:49:93:bc: + a8:ee:72:13:45:65:15:42:17:aa:d8:ab:cf:33:42: + 83:42 +GROUP: ffdhe2048 diff --git a/test/recipes/30-test_evp_pkey_provided/DSA.priv.der b/test/recipes/30-test_evp_pkey_provided/DSA.priv.der new file mode 100644 index 00000000..d10a69db Binary files /dev/null and b/test/recipes/30-test_evp_pkey_provided/DSA.priv.der differ diff --git a/test/recipes/30-test_evp_pkey_provided/DSA.priv.pem b/test/recipes/30-test_evp_pkey_provided/DSA.priv.pem new file mode 100644 index 00000000..8836ac1f --- /dev/null +++ b/test/recipes/30-test_evp_pkey_provided/DSA.priv.pem @@ -0,0 +1,15 @@ +-----BEGIN PRIVATE KEY----- +MIICZQIBADCCAjkGByqGSM44BAEwggIsAoIBAQCgtwLErKZCq/I0CyJHHzPP1QTk +PuyhIchBK++4HwtbiItn+GhtfE2WXzxm71g01/aiG63IElK46CpjzOrnTsg0TFhZ +CsJK5LRkIPT2Cs+GAWx/I0pRB5lCKHr/GGdSZPKaYjDDAN4j6RGVftE9jbQOn56x +MAPwc6hASEJ7YKDE8jstCgy4Gfu0+OAqx/HAxoYUYBIPwN5KZ+zH3nYhGlV/hsOX +mM71zfDnEtaT7hubYe8FjEVG2WRvvieqZwHMcbFgziHYURcnDZA9GHyHFY5ITGzF +cuu3VvVrYI/C/T9GXACRhXlFWxyCxIdQebrMHDJ+LrguxU7Rm9tmeXz+r2oFAiEA +qM30M3sTCiTB3koEe0txUTLpR3S9DCFAhBIKF3PbKccCggEAbMakPmGEwf9vShpr +sCRL0pJbKVxhuMkr1vdZ/dhwZnf8waTUsB7Vv1mYs2aL9C7mEj7M+AK4xsNH0vWq +DF9R9dBMVT0Hc6ZXzlqtQgwTD+IxJY5yEnMQ239561n8/vcMGoFTliK451jYZ4Bg +rYtVHJHwcpp+rTfxdxiWimhw/HGpoug1J3jy71k2bXy2mNge+iVzl0VY4669UlQF +2CYmuroFtenldq4l3fwQiVqp7lnFeYvrHixhqw3REASRMndKpmRT2kzXOinU84Il +HW9Kf9MIO0IwENjQlzrrkmPskytvMtjNgNPATAPVyryPx0NTZGYcgi37/zm61kJi +Am+WNgQjAiEAj8We0PcqC2bxMnOu9tnU2y2WVYn/76hfR4/KAorhNZA= +-----END PRIVATE KEY----- diff --git a/test/recipes/30-test_evp_pkey_provided/DSA.priv.txt b/test/recipes/30-test_evp_pkey_provided/DSA.priv.txt new file mode 100644 index 00000000..1b1b758b --- /dev/null +++ b/test/recipes/30-test_evp_pkey_provided/DSA.priv.txt @@ -0,0 +1,72 @@ +Private-Key: (2048 bit) +priv: + 00:8f:c5:9e:d0:f7:2a:0b:66:f1:32:73:ae:f6:d9: + d4:db:2d:96:55:89:ff:ef:a8:5f:47:8f:ca:02:8a: + e1:35:90 +pub: + 44:19:c9:46:45:57:c1:a9:d8:30:99:29:6a:4b:63: + 71:69:96:35:17:b2:62:9b:80:0a:95:9d:6a:c0:32: + 0d:07:5f:19:44:02:f1:bd:ce:df:10:f8:02:5d:7d: + 98:8a:73:89:00:b6:24:d6:33:e7:cf:8b:49:2a:af: + 13:1c:b2:52:15:fd:9b:d5:40:4a:1a:da:29:4c:92: + 7e:66:06:db:61:86:ac:b5:da:3c:7d:73:7e:54:32: + 68:a5:02:bc:59:47:84:d3:87:71:5f:eb:43:45:24: + d3:ec:08:52:c2:89:2d:9c:1a:cc:91:65:5d:a3:a1: + 35:31:10:1c:3a:a8:4d:18:d5:06:af:b2:ec:5c:89: + 9e:90:86:10:01:eb:51:d5:1b:9c:cb:66:07:3f:c4: + 6e:0a:1b:73:a0:4b:5f:4d:ab:35:28:fa:da:3a:0c: + 08:e8:f3:ef:42:67:bc:21:f2:c2:b8:ff:1a:81:05: + 68:73:62:df:d7:ab:0f:22:89:57:96:d4:93:af:a1: + 21:a3:48:e9:f0:97:47:a0:27:ba:87:b8:15:5f:ff: + 2c:50:41:f1:7e:c6:81:c4:51:f1:fd:d6:86:f7:69: + 97:f1:49:c9:f9:f4:9b:f4:e8:85:a7:bd:36:55:4a: + 3d:e8:65:09:7b:b7:12:64:d2:0a:53:60:48:d1:8a: + bd +P: + 00:a0:b7:02:c4:ac:a6:42:ab:f2:34:0b:22:47:1f: + 33:cf:d5:04:e4:3e:ec:a1:21:c8:41:2b:ef:b8:1f: + 0b:5b:88:8b:67:f8:68:6d:7c:4d:96:5f:3c:66:ef: + 58:34:d7:f6:a2:1b:ad:c8:12:52:b8:e8:2a:63:cc: + ea:e7:4e:c8:34:4c:58:59:0a:c2:4a:e4:b4:64:20: + f4:f6:0a:cf:86:01:6c:7f:23:4a:51:07:99:42:28: + 7a:ff:18:67:52:64:f2:9a:62:30:c3:00:de:23:e9: + 11:95:7e:d1:3d:8d:b4:0e:9f:9e:b1:30:03:f0:73: + a8:40:48:42:7b:60:a0:c4:f2:3b:2d:0a:0c:b8:19: + fb:b4:f8:e0:2a:c7:f1:c0:c6:86:14:60:12:0f:c0: + de:4a:67:ec:c7:de:76:21:1a:55:7f:86:c3:97:98: + ce:f5:cd:f0:e7:12:d6:93:ee:1b:9b:61:ef:05:8c: + 45:46:d9:64:6f:be:27:aa:67:01:cc:71:b1:60:ce: + 21:d8:51:17:27:0d:90:3d:18:7c:87:15:8e:48:4c: + 6c:c5:72:eb:b7:56:f5:6b:60:8f:c2:fd:3f:46:5c: + 00:91:85:79:45:5b:1c:82:c4:87:50:79:ba:cc:1c: + 32:7e:2e:b8:2e:c5:4e:d1:9b:db:66:79:7c:fe:af: + 6a:05 +Q: + 00:a8:cd:f4:33:7b:13:0a:24:c1:de:4a:04:7b:4b: + 71:51:32:e9:47:74:bd:0c:21:40:84:12:0a:17:73: + db:29:c7 +G: + 6c:c6:a4:3e:61:84:c1:ff:6f:4a:1a:6b:b0:24:4b: + d2:92:5b:29:5c:61:b8:c9:2b:d6:f7:59:fd:d8:70: + 66:77:fc:c1:a4:d4:b0:1e:d5:bf:59:98:b3:66:8b: + f4:2e:e6:12:3e:cc:f8:02:b8:c6:c3:47:d2:f5:aa: + 0c:5f:51:f5:d0:4c:55:3d:07:73:a6:57:ce:5a:ad: + 42:0c:13:0f:e2:31:25:8e:72:12:73:10:db:7f:79: + eb:59:fc:fe:f7:0c:1a:81:53:96:22:b8:e7:58:d8: + 67:80:60:ad:8b:55:1c:91:f0:72:9a:7e:ad:37:f1: + 77:18:96:8a:68:70:fc:71:a9:a2:e8:35:27:78:f2: + ef:59:36:6d:7c:b6:98:d8:1e:fa:25:73:97:45:58: + e3:ae:bd:52:54:05:d8:26:26:ba:ba:05:b5:e9:e5: + 76:ae:25:dd:fc:10:89:5a:a9:ee:59:c5:79:8b:eb: + 1e:2c:61:ab:0d:d1:10:04:91:32:77:4a:a6:64:53: + da:4c:d7:3a:29:d4:f3:82:25:1d:6f:4a:7f:d3:08: + 3b:42:30:10:d8:d0:97:3a:eb:92:63:ec:93:2b:6f: + 32:d8:cd:80:d3:c0:4c:03:d5:ca:bc:8f:c7:43:53: + 64:66:1c:82:2d:fb:ff:39:ba:d6:42:62:02:6f:96: + 36 +SEED: + 64:46:07:32:8d:70:9c:b3:8a:35:de:62:00:f2:6d: + 52:37:4d:b3:84:e1:9d:41:04:da:7b:dc:0d:8b:5e: + e0:84 +gindex: 1 +pcounter: 53 diff --git a/test/recipes/30-test_evp_pkey_provided/DSA.pub.der b/test/recipes/30-test_evp_pkey_provided/DSA.pub.der new file mode 100644 index 00000000..7432479d Binary files /dev/null and b/test/recipes/30-test_evp_pkey_provided/DSA.pub.der differ diff --git a/test/recipes/30-test_evp_pkey_provided/DSA.pub.pem b/test/recipes/30-test_evp_pkey_provided/DSA.pub.pem new file mode 100644 index 00000000..98242b49 --- /dev/null +++ b/test/recipes/30-test_evp_pkey_provided/DSA.pub.pem @@ -0,0 +1,20 @@ +-----BEGIN PUBLIC KEY----- +MIIDRjCCAjkGByqGSM44BAEwggIsAoIBAQCgtwLErKZCq/I0CyJHHzPP1QTkPuyh +IchBK++4HwtbiItn+GhtfE2WXzxm71g01/aiG63IElK46CpjzOrnTsg0TFhZCsJK +5LRkIPT2Cs+GAWx/I0pRB5lCKHr/GGdSZPKaYjDDAN4j6RGVftE9jbQOn56xMAPw +c6hASEJ7YKDE8jstCgy4Gfu0+OAqx/HAxoYUYBIPwN5KZ+zH3nYhGlV/hsOXmM71 +zfDnEtaT7hubYe8FjEVG2WRvvieqZwHMcbFgziHYURcnDZA9GHyHFY5ITGzFcuu3 +VvVrYI/C/T9GXACRhXlFWxyCxIdQebrMHDJ+LrguxU7Rm9tmeXz+r2oFAiEAqM30 +M3sTCiTB3koEe0txUTLpR3S9DCFAhBIKF3PbKccCggEAbMakPmGEwf9vShprsCRL +0pJbKVxhuMkr1vdZ/dhwZnf8waTUsB7Vv1mYs2aL9C7mEj7M+AK4xsNH0vWqDF9R +9dBMVT0Hc6ZXzlqtQgwTD+IxJY5yEnMQ239561n8/vcMGoFTliK451jYZ4BgrYtV +HJHwcpp+rTfxdxiWimhw/HGpoug1J3jy71k2bXy2mNge+iVzl0VY4669UlQF2CYm +uroFtenldq4l3fwQiVqp7lnFeYvrHixhqw3REASRMndKpmRT2kzXOinU84IlHW9K +f9MIO0IwENjQlzrrkmPskytvMtjNgNPATAPVyryPx0NTZGYcgi37/zm61kJiAm+W +NgOCAQUAAoIBAEQZyUZFV8Gp2DCZKWpLY3FpljUXsmKbgAqVnWrAMg0HXxlEAvG9 +zt8Q+AJdfZiKc4kAtiTWM+fPi0kqrxMcslIV/ZvVQEoa2ilMkn5mBtthhqy12jx9 +c35UMmilArxZR4TTh3Ff60NFJNPsCFLCiS2cGsyRZV2joTUxEBw6qE0Y1Qavsuxc +iZ6QhhAB61HVG5zLZgc/xG4KG3OgS19NqzUo+to6DAjo8+9CZ7wh8sK4/xqBBWhz +Yt/Xqw8iiVeW1JOvoSGjSOnwl0egJ7qHuBVf/yxQQfF+xoHEUfH91ob3aZfxScn5 +9Jv06IWnvTZVSj3oZQl7txJk0gpTYEjRir0= +-----END PUBLIC KEY----- diff --git a/test/recipes/30-test_evp_pkey_provided/DSA.pub.txt b/test/recipes/30-test_evp_pkey_provided/DSA.pub.txt new file mode 100644 index 00000000..1b1b758b --- /dev/null +++ b/test/recipes/30-test_evp_pkey_provided/DSA.pub.txt @@ -0,0 +1,72 @@ +Private-Key: (2048 bit) +priv: + 00:8f:c5:9e:d0:f7:2a:0b:66:f1:32:73:ae:f6:d9: + d4:db:2d:96:55:89:ff:ef:a8:5f:47:8f:ca:02:8a: + e1:35:90 +pub: + 44:19:c9:46:45:57:c1:a9:d8:30:99:29:6a:4b:63: + 71:69:96:35:17:b2:62:9b:80:0a:95:9d:6a:c0:32: + 0d:07:5f:19:44:02:f1:bd:ce:df:10:f8:02:5d:7d: + 98:8a:73:89:00:b6:24:d6:33:e7:cf:8b:49:2a:af: + 13:1c:b2:52:15:fd:9b:d5:40:4a:1a:da:29:4c:92: + 7e:66:06:db:61:86:ac:b5:da:3c:7d:73:7e:54:32: + 68:a5:02:bc:59:47:84:d3:87:71:5f:eb:43:45:24: + d3:ec:08:52:c2:89:2d:9c:1a:cc:91:65:5d:a3:a1: + 35:31:10:1c:3a:a8:4d:18:d5:06:af:b2:ec:5c:89: + 9e:90:86:10:01:eb:51:d5:1b:9c:cb:66:07:3f:c4: + 6e:0a:1b:73:a0:4b:5f:4d:ab:35:28:fa:da:3a:0c: + 08:e8:f3:ef:42:67:bc:21:f2:c2:b8:ff:1a:81:05: + 68:73:62:df:d7:ab:0f:22:89:57:96:d4:93:af:a1: + 21:a3:48:e9:f0:97:47:a0:27:ba:87:b8:15:5f:ff: + 2c:50:41:f1:7e:c6:81:c4:51:f1:fd:d6:86:f7:69: + 97:f1:49:c9:f9:f4:9b:f4:e8:85:a7:bd:36:55:4a: + 3d:e8:65:09:7b:b7:12:64:d2:0a:53:60:48:d1:8a: + bd +P: + 00:a0:b7:02:c4:ac:a6:42:ab:f2:34:0b:22:47:1f: + 33:cf:d5:04:e4:3e:ec:a1:21:c8:41:2b:ef:b8:1f: + 0b:5b:88:8b:67:f8:68:6d:7c:4d:96:5f:3c:66:ef: + 58:34:d7:f6:a2:1b:ad:c8:12:52:b8:e8:2a:63:cc: + ea:e7:4e:c8:34:4c:58:59:0a:c2:4a:e4:b4:64:20: + f4:f6:0a:cf:86:01:6c:7f:23:4a:51:07:99:42:28: + 7a:ff:18:67:52:64:f2:9a:62:30:c3:00:de:23:e9: + 11:95:7e:d1:3d:8d:b4:0e:9f:9e:b1:30:03:f0:73: + a8:40:48:42:7b:60:a0:c4:f2:3b:2d:0a:0c:b8:19: + fb:b4:f8:e0:2a:c7:f1:c0:c6:86:14:60:12:0f:c0: + de:4a:67:ec:c7:de:76:21:1a:55:7f:86:c3:97:98: + ce:f5:cd:f0:e7:12:d6:93:ee:1b:9b:61:ef:05:8c: + 45:46:d9:64:6f:be:27:aa:67:01:cc:71:b1:60:ce: + 21:d8:51:17:27:0d:90:3d:18:7c:87:15:8e:48:4c: + 6c:c5:72:eb:b7:56:f5:6b:60:8f:c2:fd:3f:46:5c: + 00:91:85:79:45:5b:1c:82:c4:87:50:79:ba:cc:1c: + 32:7e:2e:b8:2e:c5:4e:d1:9b:db:66:79:7c:fe:af: + 6a:05 +Q: + 00:a8:cd:f4:33:7b:13:0a:24:c1:de:4a:04:7b:4b: + 71:51:32:e9:47:74:bd:0c:21:40:84:12:0a:17:73: + db:29:c7 +G: + 6c:c6:a4:3e:61:84:c1:ff:6f:4a:1a:6b:b0:24:4b: + d2:92:5b:29:5c:61:b8:c9:2b:d6:f7:59:fd:d8:70: + 66:77:fc:c1:a4:d4:b0:1e:d5:bf:59:98:b3:66:8b: + f4:2e:e6:12:3e:cc:f8:02:b8:c6:c3:47:d2:f5:aa: + 0c:5f:51:f5:d0:4c:55:3d:07:73:a6:57:ce:5a:ad: + 42:0c:13:0f:e2:31:25:8e:72:12:73:10:db:7f:79: + eb:59:fc:fe:f7:0c:1a:81:53:96:22:b8:e7:58:d8: + 67:80:60:ad:8b:55:1c:91:f0:72:9a:7e:ad:37:f1: + 77:18:96:8a:68:70:fc:71:a9:a2:e8:35:27:78:f2: + ef:59:36:6d:7c:b6:98:d8:1e:fa:25:73:97:45:58: + e3:ae:bd:52:54:05:d8:26:26:ba:ba:05:b5:e9:e5: + 76:ae:25:dd:fc:10:89:5a:a9:ee:59:c5:79:8b:eb: + 1e:2c:61:ab:0d:d1:10:04:91:32:77:4a:a6:64:53: + da:4c:d7:3a:29:d4:f3:82:25:1d:6f:4a:7f:d3:08: + 3b:42:30:10:d8:d0:97:3a:eb:92:63:ec:93:2b:6f: + 32:d8:cd:80:d3:c0:4c:03:d5:ca:bc:8f:c7:43:53: + 64:66:1c:82:2d:fb:ff:39:ba:d6:42:62:02:6f:96: + 36 +SEED: + 64:46:07:32:8d:70:9c:b3:8a:35:de:62:00:f2:6d: + 52:37:4d:b3:84:e1:9d:41:04:da:7b:dc:0d:8b:5e: + e0:84 +gindex: 1 +pcounter: 53 diff --git a/test/recipes/65-test_cmp_client.t b/test/recipes/65-test_cmp_client.t index 52019942..1b54940e 100644 --- a/test/recipes/65-test_cmp_client.t +++ b/test/recipes/65-test_cmp_client.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. # Copyright Nokia 2007-2019 # Copyright Siemens AG 2015-2019 # @@ -14,8 +14,8 @@ use OpenSSL::Test::Utils; setup("test_cmp_client"); -plan skip_all => "This test is not supported in a no-cmp build" - if disabled("cmp"); +plan skip_all => "This test is not supported in a no-cmp or no-ec build" + if disabled("cmp") || disabled("ec"); plan tests => 1; diff --git a/test/recipes/65-test_cmp_vfy.t b/test/recipes/65-test_cmp_vfy.t index c07e693f..8b3911ea 100644 --- a/test/recipes/65-test_cmp_vfy.t +++ b/test/recipes/65-test_cmp_vfy.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. # Copyright Nokia 2007-2019 # Copyright Siemens AG 2015-2019 # diff --git a/test/recipes/70-test_comp.t b/test/recipes/70-test_comp.t index 9dc0cbb9..4a00652c 100644 --- a/test/recipes/70-test_comp.t +++ b/test/recipes/70-test_comp.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/test/recipes/70-test_sslmessages.t b/test/recipes/70-test_sslmessages.t index 95c4cbe5..b90eae57 100644 --- a/test/recipes/70-test_sslmessages.t +++ b/test/recipes/70-test_sslmessages.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/test/recipes/70-test_sslsigalgs.t b/test/recipes/70-test_sslsigalgs.t index 98482079..f3b8ffb6 100644 --- a/test/recipes/70-test_sslsigalgs.t +++ b/test/recipes/70-test_sslsigalgs.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 @@ -44,7 +44,9 @@ use constant { COMPAT_SIGALGS => 6, SIGALGS_CERT_ALL => 7, SIGALGS_CERT_PKCS => 8, - SIGALGS_CERT_INVALID => 9 + SIGALGS_CERT_INVALID => 9, + UNRECOGNIZED_SIGALGS_CERT => 10, + UNRECOGNIZED_SIGALG => 11 }; #Note: Throughout this test we override the default ciphersuites where TLSv1.2 @@ -53,7 +55,7 @@ use constant { #Test 1: Default sig algs should succeed $proxy->start() or plan skip_all => "Unable to start up Proxy for tests"; -plan tests => 24; +plan tests => 26; ok(TLSProxy::Message->success, "Default sigalgs"); my $testtype; @@ -282,6 +284,39 @@ SKIP: { ok(TLSProxy::Message->fail, "No matching certificate for sigalgs_cert"); } +SKIP: { + skip "TLS 1.3 disabled", 2 if disabled("tls1_3"); + #Test 25: Send an unrecognized signature_algorithms_cert + # We should be able to skip over the unrecognized value and use a + # valid one that appears later in the list. + $proxy->clear(); + $proxy->filter(\&inject_unrecognized_sigalg); + $proxy->clientflags("-tls1_3"); + # Use -xcert to get SSL_check_chain() to run in the cert_cb. This is + # needed to trigger (e.g.) CVE-2020-1967 + $proxy->serverflags("" . + " -xcert " . srctop_file("test", "certs", "servercert.pem") . + " -xkey " . srctop_file("test", "certs", "serverkey.pem") . + " -xchain " . srctop_file("test", "certs", "rootcert.pem")); + $testtype = UNRECOGNIZED_SIGALGS_CERT; + $proxy->start(); + ok(TLSProxy::Message->success(), "Unrecognized sigalg_cert in ClientHello"); + + #Test 26: Send an unrecognized signature_algorithms + # We should be able to skip over the unrecognized value and use a + # valid one that appears later in the list. + $proxy->clear(); + $proxy->filter(\&inject_unrecognized_sigalg); + $proxy->clientflags("-tls1_3"); + $proxy->serverflags("" . + " -xcert " . srctop_file("test", "certs", "servercert.pem") . + " -xkey " . srctop_file("test", "certs", "serverkey.pem") . + " -xchain " . srctop_file("test", "certs", "rootcert.pem")); + $testtype = UNRECOGNIZED_SIGALG; + $proxy->start(); + ok(TLSProxy::Message->success(), "Unrecognized sigalg in ClientHello"); +} + sub sigalgs_filter @@ -427,3 +462,30 @@ sub modify_cert_verify_sigalg } } } + +sub inject_unrecognized_sigalg +{ + my $proxy = shift; + my $type; + + # We're only interested in the initial ClientHello + if ($proxy->flight != 0) { + return; + } + if ($testtype == UNRECOGNIZED_SIGALGS_CERT) { + $type = TLSProxy::Message::EXT_SIG_ALGS_CERT; + } elsif ($testtype == UNRECOGNIZED_SIGALG) { + $type = TLSProxy::Message::EXT_SIG_ALGS; + } else { + return; + } + + my $ext = pack "C8", + 0x00, 0x06, #Extension length + 0xfe, 0x18, #private use + 0x04, 0x01, #rsa_pkcs1_sha256 + 0x08, 0x04; #rsa_pss_rsae_sha256; + my $message = ${$proxy->message_list}[0]; + $message->set_extension($type, $ext); + $message->repack; +} diff --git a/test/recipes/70-test_sslversions.t b/test/recipes/70-test_sslversions.t index 636d2e79..f3cc7121 100644 --- a/test/recipes/70-test_sslversions.t +++ b/test/recipes/70-test_sslversions.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/test/recipes/70-test_tls13kexmodes.t b/test/recipes/70-test_tls13kexmodes.t index 27cec7ad..2751a3f1 100644 --- a/test/recipes/70-test_tls13kexmodes.t +++ b/test/recipes/70-test_tls13kexmodes.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/test/recipes/70-test_tls13messages.t b/test/recipes/70-test_tls13messages.t index d9ea2118..21fd6f28 100644 --- a/test/recipes/70-test_tls13messages.t +++ b/test/recipes/70-test_tls13messages.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/test/recipes/70-test_tls13psk.t b/test/recipes/70-test_tls13psk.t index ea48599d..f20150f6 100644 --- a/test/recipes/70-test_tls13psk.t +++ b/test/recipes/70-test_tls13psk.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/test/recipes/80-test_ca.t b/test/recipes/80-test_ca.t index 5b4f59b6..3d4dfcd0 100644 --- a/test/recipes/80-test_ca.t +++ b/test/recipes/80-test_ca.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 @@ -32,12 +32,12 @@ plan tests => 6; $ENV{OPENSSL_CONFIG} = '-config "'.srctop_file("test", "Uss.cnf").'"'; skip "failed creating new certificate request", 3 - if !ok(run(perlapp(["CA.pl","-newreq"])), + if !ok(run(perlapp(["CA.pl","-newreq", + "-extra-req","-outform DER"])), 'creating certificate request'); - - $ENV{OPENSSL_CONFIG} = '-rand_serial -config "'.$std_openssl_cnf.'"'; + $ENV{OPENSSL_CONFIG} = '-rand_serial -inform DER -config "'.$std_openssl_cnf.'"'; skip "failed to sign certificate request", 2 - if !is(yes(cmdstr(perlapp(["CA.pl", "-sign"]))), 0, + if !is(yes(cmdstr(perlapp(["CA.pl", "-sign", "-extra-ca"]))), 0, 'signing certificate request'); ok(run(perlapp(["CA.pl", "-verify", "newcert.pem"])), diff --git a/test/recipes/80-test_cms.t b/test/recipes/80-test_cms.t index 0e2969de..db2fce65 100644 --- a/test/recipes/80-test_cms.t +++ b/test/recipes/80-test_cms.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 @@ -640,8 +640,8 @@ subtest "CMS Decrypt message encrypted with OpenSSL 1.1.1\n" => sub { plan tests => 1; SKIP: { - skip "EC isn't supported in this build", 1 - if disabled("ec"); + skip "EC or DES isn't supported in this build", 1 + if disabled("ec") || disabled("des"); my $out = "smtst.txt"; diff --git a/test/recipes/80-test_ct.t b/test/recipes/80-test_ct.t index 0017cfdc..8350467f 100644 --- a/test/recipes/80-test_ct.t +++ b/test/recipes/80-test_ct.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/test/recipes/80-test_ocsp.t b/test/recipes/80-test_ocsp.t index 74ef7e36..3aedd093 100644 --- a/test/recipes/80-test_ocsp.t +++ b/test/recipes/80-test_ocsp.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/test/recipes/80-test_ssl_new.t b/test/recipes/80-test_ssl_new.t index 3b1857cc..8a26119f 100644 --- a/test/recipes/80-test_ssl_new.t +++ b/test/recipes/80-test_ssl_new.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 @@ -13,11 +13,21 @@ use warnings; use File::Basename; use File::Compare qw/compare_text/; use OpenSSL::Glob; -use OpenSSL::Test qw/:DEFAULT srctop_dir srctop_file/; +use OpenSSL::Test qw/:DEFAULT srctop_dir srctop_file bldtop_file bldtop_dir/; use OpenSSL::Test::Utils qw/disabled alldisabled available_protocols/; +BEGIN { setup("test_ssl_new"); +} +use lib srctop_dir('Configurations'); +use lib bldtop_dir('.'); +use platform; + +my $no_fips = disabled('fips') || ($ENV{NO_FIPS} // 0); + +$ENV{OPENSSL_MODULES} = bldtop_dir("providers"); +$ENV{OPENSSL_CONF_INCLUDE} = bldtop_dir("providers"); $ENV{TEST_CERTS_DIR} = srctop_dir("test", "certs"); $ENV{CTLOG_FILE} = srctop_file("test", "ct", "log_list.cnf"); @@ -28,7 +38,8 @@ map { s/\^// } @conf_files if $^O eq "VMS"; # We hard-code the number of tests to double-check that the globbing above # finds all files as expected. -plan tests => 30; # = scalar @conf_srcs +plan tests => 30 # = scalar @conf_srcs + + ($no_fips ? 0 : 1); # fipsinstall # Some test results depend on the configuration of enabled protocols. We only # verify generated sources in the default configuration. @@ -106,28 +117,46 @@ my %skip = ( "29-dtls-sctp-label-bug.cnf" => disabled("sctp") || disabled("sock"), ); +unless ($no_fips) { + ok(run(app(['openssl', 'fipsinstall', + '-out', bldtop_file('providers', 'fipsmodule.cnf'), + '-module', bldtop_file('providers', platform->dso('fips')), + '-provider_name', 'fips', '-mac_name', 'HMAC', + '-macopt', 'digest:SHA256', '-macopt', 'hexkey:00', + '-section_name', 'fips_sect'])), + "fipsinstall"); +} + foreach my $conf (@conf_files) { subtest "Test configuration $conf" => sub { + plan tests => 6 + ($no_fips ? 0 : 3); test_conf($conf, $conf_dependent_tests{$conf} || $^O eq "VMS" ? 0 : 1, - defined($skip{$conf}) ? $skip{$conf} : $no_tls); + defined($skip{$conf}) ? $skip{$conf} : $no_tls, + "none"); + test_conf($conf, + 0, + defined($skip{$conf}) ? $skip{$conf} : $no_tls, + "default"); + test_conf($conf, + 0, + defined($skip{$conf}) ? $skip{$conf} : $no_tls, + "fips") unless $no_fips; } } sub test_conf { - plan tests => 3; - - my ($conf, $check_source, $skip) = @_; + my ($conf, $check_source, $skip, $provider) = @_; my $conf_file = srctop_file("test", "ssl-tests", $conf); my $input_file = $conf_file . ".in"; - my $output_file = $conf; + my $output_file = $conf . "." . $provider; my $run_test = 1; SKIP: { # "Test" 1. Generate the source. skip 'failure', 2 unless - ok(run(perltest(["generate_ssl_tests.pl", $input_file], + ok(run(perltest(["generate_ssl_tests.pl", $input_file, $provider], interpreter_args => [ "-I", srctop_dir("util", "perl")], stdout => $output_file)), "Getting output from generate_ssl_tests.pl."); @@ -145,7 +174,14 @@ sub test_conf { skip "No tests available; skipping tests", 1 if $skip; skip "Stale sources; skipping tests", 1 if !$run_test; - ok(run(test(["ssl_test", $output_file])), "running ssl_test $conf"); + if ($provider eq "fips") { + ok(run(test(["ssl_test", $output_file, $provider, + srctop_file("test", "fips.cnf")])), + "running ssl_test $conf"); + } else { + ok(run(test(["ssl_test", $output_file, $provider])), + "running ssl_test $conf"); + } } } diff --git a/test/recipes/80-test_ssl_old.t b/test/recipes/80-test_ssl_old.t index a4bdb6dd..42963c36 100644 --- a/test/recipes/80-test_ssl_old.t +++ b/test/recipes/80-test_ssl_old.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 @@ -13,13 +13,22 @@ use warnings; use POSIX; use File::Basename; use File::Copy; -use OpenSSL::Test qw/:DEFAULT with bldtop_file srctop_file cmdstr/; +use OpenSSL::Test qw/:DEFAULT with bldtop_file bldtop_dir srctop_file srctop_dir cmdstr/; use OpenSSL::Test::Utils; +BEGIN { setup("test_ssl"); +} + +use lib srctop_dir('Configurations'); +use lib bldtop_dir('.'); +use platform; $ENV{CTLOG_FILE} = srctop_file("test", "ct", "log_list.cnf"); +$ENV{OPENSSL_MODULES} = bldtop_dir("providers"); +$ENV{OPENSSL_CONF_INCLUDE} = bldtop_dir("providers"); +my $no_fips = disabled('fips') || ($ENV{NO_FIPS} // 0); my ($no_rsa, $no_dsa, $no_dh, $no_ec, $no_psk, $no_ssl3, $no_tls1, $no_tls1_1, $no_tls1_2, $no_tls1_3, $no_dtls, $no_dtls1, $no_dtls1_2, $no_ct) = @@ -78,10 +87,21 @@ my $client_sess="client.ss"; # If you're adding tests here, you probably want to convert them to the # new format in ssl_test.c and add recipes to 80-test_ssl_new.t instead. plan tests => - 1 # For testss - +5 # For the first testssl + ($no_fips ? 0 : 1 + 5) # For fipsinstall + testssl with fips provider + + 1 # For testss + + 5 # For the testssl with default provider ; +unless ($no_fips) { + ok(run(app(['openssl', 'fipsinstall', + '-out', bldtop_file('providers', 'fipsmodule.cnf'), + '-module', bldtop_file('providers', platform->dso('fips')), + '-provider_name', 'fips', '-mac_name', 'HMAC', + '-macopt', 'digest:SHA256', '-macopt', 'hexkey:00', + '-section_name', 'fips_sect'])), + "fipsinstall"); +} + subtest 'test_ss' => sub { if (testss()) { open OUT, ">", "intP1.ss"; @@ -95,7 +115,10 @@ subtest 'test_ss' => sub { }; note('test_ssl -- key U'); -testssl("keyU.ss", $Ucert, $CAcert); +testssl("keyU.ss", $Ucert, $CAcert, "default", srctop_file("test","default.cnf")); +unless ($no_fips) { + testssl("keyU.ss", $Ucert, $CAcert, "fips", srctop_file("test","fips.cnf")); +} # ----------- # subtest functions @@ -310,12 +333,14 @@ sub testss { } sub testssl { - my ($key, $cert, $CAtmp) = @_; + my ($key, $cert, $CAtmp, $provider, $configfile) = @_; my @CA = $CAtmp ? ("-CAfile", $CAtmp) : ("-CApath", bldtop_dir("certs")); my @ssltest = ("ssltest_old", "-s_key", $key, "-s_cert", $cert, - "-c_key", $key, "-c_cert", $cert); + "-c_key", $key, "-c_cert", $cert, + "-provider", $provider, + "-config", $configfile); my $serverinfo = srctop_file("test","serverinfo.pem"); @@ -336,6 +361,9 @@ sub testssl { skip "SSLv3 is not supported by this OpenSSL build", 4 if disabled("ssl3"); + skip "SSLv3 is not supported by the FIPS provider", 4 + if $provider eq "fips"; + ok(run(test([@ssltest, "-bio_pair", "-ssl3"])), 'test sslv3 via BIO pair'); ok(run(test([@ssltest, "-bio_pair", "-ssl3", "-server_auth", @CA])), @@ -409,8 +437,8 @@ sub testssl { # We only use the flags that ssltest_old understands push @protocols, "-tls1_3" unless $no_tls1_3; push @protocols, "-tls1_2" unless $no_tls1_2; - push @protocols, "-tls1" unless $no_tls1; - push @protocols, "-ssl3" unless $no_ssl3; + push @protocols, "-tls1" unless $no_tls1 || $provider eq "fips"; + push @protocols, "-ssl3" unless $no_ssl3 || $provider eq "fips"; my $protocolciphersuitecount = 0; my %ciphersuites = (); my %ciphersstatus = (); @@ -419,6 +447,7 @@ sub testssl { my @ciphers = run(app(["openssl", "ciphers", "-s", $protocol, "ALL:$ciphers"]), capture => 1, statusvar => \$ciphersstatus); + @ciphers = grep {!/CAMELLIA|ARIA|CHACHA/} @ciphers; $ciphersstatus{$protocol} = $ciphersstatus; if ($ciphersstatus) { $ciphersuites{$protocol} = [ map { s|\R||; split(/:/, $_) } @@ -479,7 +508,7 @@ sub testssl { SKIP: { skip "TLSv1.0 is not supported by this OpenSSL build", 5 - if $no_tls1; + if $no_tls1 || $provider eq "fips"; SKIP: { skip "skipping anonymous DH tests", 1 @@ -493,13 +522,13 @@ sub testssl { skip "skipping RSA tests", 2 if $no_rsa; - ok(run(test(["ssltest_old", "-v", "-bio_pair", "-tls1", "-s_cert", srctop_file("apps","server2.pem"), "-no_dhe", "-no_ecdhe", "-num", "10", "-f", "-time"])), + ok(run(test(["ssltest_old", "-provider", "default", "-v", "-bio_pair", "-tls1", "-s_cert", srctop_file("apps","server2.pem"), "-no_dhe", "-no_ecdhe", "-num", "10", "-f", "-time"])), 'test tlsv1 with 1024bit RSA, no (EC)DHE, multiple handshakes'); skip "skipping RSA+DHE tests", 1 if $no_dh; - ok(run(test(["ssltest_old", "-v", "-bio_pair", "-tls1", "-s_cert", srctop_file("apps","server2.pem"), "-dhe1024dsa", "-num", "10", "-f", "-time"])), + ok(run(test(["ssltest_old", "-provider", "default", "-v", "-bio_pair", "-tls1", "-s_cert", srctop_file("apps","server2.pem"), "-dhe1024dsa", "-num", "10", "-f", "-time"])), 'test tlsv1 with 1024bit RSA, 1024bit DHE, multiple handshakes'); } @@ -524,7 +553,7 @@ sub testssl { SKIP: { skip "TLSv1.0 is not supported by this OpenSSL build", 1 - if $no_tls1; + if $no_tls1 || $provider eq "fips"; ok(run(test([@ssltest, "-bio_pair", "-tls1", "-custom_ext"])), 'test tls1 with custom extensions'); @@ -538,7 +567,7 @@ sub testssl { SKIP: { skip "TLSv1.0 is not supported by this OpenSSL build", 5 - if $no_tls1; + if $no_tls1 || $provider eq "fips"; note('echo test tls1 with serverinfo'); ok(run(test([@ssltest, "-bio_pair", "-tls1", "-serverinfo_file", $serverinfo]))); diff --git a/test/recipes/80-test_ssl_test_ctx.t b/test/recipes/80-test_ssl_test_ctx.t index 7775bd93..ba908ca9 100644 --- a/test/recipes/80-test_ssl_test_ctx.t +++ b/test/recipes/80-test_ssl_test_ctx.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/test/recipes/90-test_gost.t b/test/recipes/90-test_gost.t index f2010967..929bca2f 100644 --- a/test/recipes/90-test_gost.t +++ b/test/recipes/90-test_gost.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2018-2020 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 @@ -24,6 +24,9 @@ plan skip_all => "TLSv1.3 or TLSv1.2 are disabled in this OpenSSL build" plan skip_all => "EC is disabled in this OpenSSL build" if disabled("ec"); +#Gost engine uses some deprecated functions +plan skip_all => "Deprecated functions are disabled in this OpenSSL build" + if disabled("deprecated"); plan skip_all => "No test GOST engine found" if !$ENV{OPENSSL_GOST_ENGINE_SO}; diff --git a/test/recipes/90-test_ige.t b/test/recipes/90-test_ige.t index 50ccdd74..30456e87 100644 --- a/test/recipes/90-test_ige.t +++ b/test/recipes/90-test_ige.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/test/recipes/90-test_sslapi.t b/test/recipes/90-test_sslapi.t index f01056c6..b89b7838 100644 --- a/test/recipes/90-test_sslapi.t +++ b/test/recipes/90-test_sslapi.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 @@ -8,21 +8,51 @@ use OpenSSL::Test::Utils; -use OpenSSL::Test qw/:DEFAULT srctop_file srctop_dir/; +use OpenSSL::Test qw/:DEFAULT srctop_file srctop_dir bldtop_dir bldtop_file/; use File::Temp qw(tempfile); +BEGIN { setup("test_sslapi"); +} + +use lib srctop_dir('Configurations'); +use lib bldtop_dir('.'); +use platform; + +my $no_fips = disabled('fips') || ($ENV{NO_FIPS} // 0); plan skip_all => "No TLS/SSL protocols are supported by this OpenSSL build" if alldisabled(grep { $_ ne "ssl3" } available_protocols("tls")); -plan tests => 1; +plan tests => + ($no_fips ? 0 : 2) # FIPS install test + sslapitest with fips + + 1; # sslapitest with default provider (undef, my $tmpfilename) = tempfile(); +$ENV{OPENSSL_MODULES} = bldtop_dir("providers"); +$ENV{OPENSSL_CONF_INCLUDE} = bldtop_dir("providers"); + ok(run(test(["sslapitest", srctop_dir("test", "certs"), srctop_file("test", "recipes", "90-test_sslapi_data", - "passwd.txt"), $tmpfilename])), + "passwd.txt"), $tmpfilename, "default", + srctop_file("test", "default.cnf")])), "running sslapitest"); +unless ($no_fips) { + ok(run(app(['openssl', 'fipsinstall', + '-out', bldtop_file('providers', 'fipsmodule.cnf'), + '-module', bldtop_file('providers', platform->dso('fips')), + '-provider_name', 'fips', '-mac_name', 'HMAC', + '-macopt', 'digest:SHA256', '-macopt', 'hexkey:00', + '-section_name', 'fips_sect'])), + "fipsinstall"); + + ok(run(test(["sslapitest", srctop_dir("test", "certs"), + srctop_file("test", "recipes", "90-test_sslapi_data", + "passwd.txt"), $tmpfilename, "fips", + srctop_file("test", "fips.cnf")])), + "running sslapitest"); +} + unlink $tmpfilename; diff --git a/test/recipes/90-test_sslprovider.t b/test/recipes/90-test_sslprovider.t index f0ff38a3..793756bc 100644 --- a/test/recipes/90-test_sslprovider.t +++ b/test/recipes/90-test_sslprovider.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 @@ -31,7 +31,7 @@ SKIP: { if disabled("fips"); ok(run(app(['openssl', 'fipsinstall', - '-out', bldtop_file('providers', 'fipsinstall.cnf'), + '-out', bldtop_file('providers', 'fipsmodule.cnf'), '-module', bldtop_file('providers', platform->dso('fips')), '-provider_name', 'fips', '-mac_name', 'HMAC', '-macopt', 'digest:SHA256', '-macopt', 'hexkey:00', diff --git a/test/recipes/95-test_external_krb5.t b/test/recipes/95-test_external_krb5.t index 85bca445..c431d966 100644 --- a/test/recipes/95-test_external_krb5.t +++ b/test/recipes/95-test_external_krb5.t @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/test/recipes/99-test_fuzz.t b/test/recipes/99-test_fuzz.t index e3255789..c9e2c961 100644 --- a/test/recipes/99-test_fuzz.t +++ b/test/recipes/99-test_fuzz.t @@ -1,5 +1,5 @@ #!/usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 @@ -16,6 +16,9 @@ use OpenSSL::Test::Utils; setup("test_fuzz"); my @fuzzers = ('asn1', 'asn1parse', 'bignum', 'bndiv', 'client', 'conf', 'crl', 'server', 'x509'); +if (!disabled("cmp")) { + push @fuzzers, 'cmp'; +} if (!disabled("cms")) { push @fuzzers, 'cms'; } diff --git a/test/recipes/tconversion.pl b/test/recipes/tconversion.pl index 2cecb9fc..828c822c 100644 --- a/test/recipes/tconversion.pl +++ b/test/recipes/tconversion.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2015-2020 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 diff --git a/test/recordlentest.c b/test/recordlentest.c index 01cc5346..cfd1a7cb 100644 --- a/test/recordlentest.c +++ b/test/recordlentest.c @@ -1,5 +1,5 @@ /* - * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2020 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 @@ -102,7 +102,8 @@ static int test_record_overflow(int idx) ERR_clear_error(); - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), + if (!TEST_true(create_ssl_ctx_pair(NULL, TLS_server_method(), + TLS_client_method(), TLS1_VERSION, 0, &sctx, &cctx, cert, privkey))) goto end; diff --git a/test/rsa_mp_test.c b/test/rsa_mp_test.c index baa9dd22..89033ee8 100644 --- a/test/rsa_mp_test.c +++ b/test/rsa_mp_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright 2017 BaishanCloud. All rights reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/test/rsa_test.c b/test/rsa_test.c index 084f533a..df9246d3 100644 --- a/test/rsa_test.c +++ b/test/rsa_test.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2020 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 diff --git a/test/secmemtest.c b/test/secmemtest.c index 549795d7..d0f9ba2e 100644 --- a/test/secmemtest.c +++ b/test/secmemtest.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 diff --git a/test/servername_test.c b/test/servername_test.c index 33e62a16..cf9cdd17 100644 --- a/test/servername_test.c +++ b/test/servername_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright 2017 BaishanCloud. All rights reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -190,7 +190,7 @@ static int server_setup_sni(void) SSL *clientssl = NULL, *serverssl = NULL; int testresult = 0; - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + if (!TEST_true(create_ssl_ctx_pair(NULL, TLS_server_method(), TLS_client_method(), TLS1_VERSION, 0, &sctx, &cctx, cert, privkey)) diff --git a/test/sm2_internal_test.c b/test/sm2_internal_test.c index 216333cf..7dae25cf 100644 --- a/test/sm2_internal_test.c +++ b/test/sm2_internal_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2020 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 diff --git a/test/ssl-tests/01-simple.cnf.in b/test/ssl-tests/01-simple.cnf.in index ccc751a6..645b1138 100644 --- a/test/ssl-tests/01-simple.cnf.in +++ b/test/ssl-tests/01-simple.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/test/ssl-tests/02-protocol-version.cnf.in b/test/ssl-tests/02-protocol-version.cnf.in index a6799df0..ac71fc65 100644 --- a/test/ssl-tests/02-protocol-version.cnf.in +++ b/test/ssl-tests/02-protocol-version.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 @@ -16,4 +16,6 @@ use warnings; use protocol_version; -our @tests = generate_version_tests("TLS"); +our $fips_mode; + +our @tests = generate_version_tests("TLS", $fips_mode); diff --git a/test/ssl-tests/03-custom_verify.cnf.in b/test/ssl-tests/03-custom_verify.cnf.in index b3b16c95..28b57216 100644 --- a/test/ssl-tests/03-custom_verify.cnf.in +++ b/test/ssl-tests/03-custom_verify.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/test/ssl-tests/04-client_auth.cnf.in b/test/ssl-tests/04-client_auth.cnf.in index b9c014d2..f90f7eb7 100644 --- a/test/ssl-tests/04-client_auth.cnf.in +++ b/test/ssl-tests/04-client_auth.cnf.in @@ -11,12 +11,19 @@ use OpenSSL::Test; use OpenSSL::Test::Utils qw(anydisabled disabled); setup("no_test_here"); -# We test version-flexible negotiation (undef) and each protocol version. -my @protocols = (undef, "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2", "DTLSv1", "DTLSv1.2"); +our $fips_mode; +my @protocols; my @is_disabled = (0); push @is_disabled, anydisabled("ssl3", "tls1", "tls1_1", "tls1_2", "dtls1", "dtls1_2"); +# We test version-flexible negotiation (undef) and each protocol version. +if ($fips_mode) { + @protocols = (undef, "TLSv1.2", "DTLSv1.2"); +} else { + @protocols = (undef, "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2", "DTLSv1", "DTLSv1.2"); +} + our @tests = (); sub generate_tests() { diff --git a/test/ssl-tests/05-sni.cnf.in b/test/ssl-tests/05-sni.cnf.in index 66518996..45db5e85 100644 --- a/test/ssl-tests/05-sni.cnf.in +++ b/test/ssl-tests/05-sni.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 @@ -15,6 +15,8 @@ use warnings; package ssltests; use OpenSSL::Test::Utils; +our $fips_mode; + our @tests = ( { name => "SNI-switch-context", @@ -166,4 +168,4 @@ our @tests_tls_1_1 = ( }, ); -push @tests, @tests_tls_1_1 unless disabled("tls1_1"); +push @tests, @tests_tls_1_1 unless disabled("tls1_1") || $fips_mode; diff --git a/test/ssl-tests/06-sni-ticket.cnf.in b/test/ssl-tests/06-sni-ticket.cnf.in index 6a22afcd..3b82c834 100644 --- a/test/ssl-tests/06-sni-ticket.cnf.in +++ b/test/ssl-tests/06-sni-ticket.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/test/ssl-tests/07-dtls-protocol-version.cnf.in b/test/ssl-tests/07-dtls-protocol-version.cnf.in index 2a53433b..19c9c09e 100644 --- a/test/ssl-tests/07-dtls-protocol-version.cnf.in +++ b/test/ssl-tests/07-dtls-protocol-version.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 @@ -16,4 +16,6 @@ use warnings; use protocol_version; -our @tests = generate_version_tests("DTLS"); +our $fips_mode; + +our @tests = generate_version_tests("DTLS", $fips_mode); diff --git a/test/ssl-tests/08-npn.cnf.in b/test/ssl-tests/08-npn.cnf.in index aec6b7ad..30783e45 100644 --- a/test/ssl-tests/08-npn.cnf.in +++ b/test/ssl-tests/08-npn.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/test/ssl-tests/09-alpn.cnf.in b/test/ssl-tests/09-alpn.cnf.in index 75141bf8..81330756 100644 --- a/test/ssl-tests/09-alpn.cnf.in +++ b/test/ssl-tests/09-alpn.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/test/ssl-tests/10-resumption.cnf.in b/test/ssl-tests/10-resumption.cnf.in index 39c69395..93621f0e 100644 --- a/test/ssl-tests/10-resumption.cnf.in +++ b/test/ssl-tests/10-resumption.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 @@ -16,4 +16,6 @@ package ssltests; use protocol_version; -our @tests = generate_resumption_tests("TLS"); +our $fips_mode; + +our @tests = generate_resumption_tests("TLS", $fips_mode); diff --git a/test/ssl-tests/11-dtls_resumption.cnf.in b/test/ssl-tests/11-dtls_resumption.cnf.in index 9f600e66..211f43d9 100644 --- a/test/ssl-tests/11-dtls_resumption.cnf.in +++ b/test/ssl-tests/11-dtls_resumption.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 @@ -16,4 +16,6 @@ package ssltests; use protocol_version; -our @tests = generate_resumption_tests("DTLS"); +our $fips_mode; + +our @tests = generate_resumption_tests("DTLS", $fips_mode); diff --git a/test/ssl-tests/12-ct.cnf.in b/test/ssl-tests/12-ct.cnf.in index e87a1de4..bf34e4b5 100644 --- a/test/ssl-tests/12-ct.cnf.in +++ b/test/ssl-tests/12-ct.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/test/ssl-tests/13-fragmentation.cnf.in b/test/ssl-tests/13-fragmentation.cnf.in index ea208396..5e3b0c66 100644 --- a/test/ssl-tests/13-fragmentation.cnf.in +++ b/test/ssl-tests/13-fragmentation.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/test/ssl-tests/14-curves.cnf b/test/ssl-tests/14-curves.cnf index f76f08fd..26d0949f 100644 --- a/test/ssl-tests/14-curves.cnf +++ b/test/ssl-tests/14-curves.cnf @@ -3,35 +3,35 @@ num_tests = 30 test-0 = 0-curve-sect163k1 -test-1 = 1-curve-sect163r1 -test-2 = 2-curve-sect163r2 -test-3 = 3-curve-sect193r1 -test-4 = 4-curve-sect193r2 -test-5 = 5-curve-sect233k1 -test-6 = 6-curve-sect233r1 -test-7 = 7-curve-sect239k1 -test-8 = 8-curve-sect283k1 -test-9 = 9-curve-sect283r1 -test-10 = 10-curve-sect409k1 -test-11 = 11-curve-sect409r1 -test-12 = 12-curve-sect571k1 -test-13 = 13-curve-sect571r1 -test-14 = 14-curve-secp160k1 -test-15 = 15-curve-secp160r1 -test-16 = 16-curve-secp160r2 -test-17 = 17-curve-secp192k1 -test-18 = 18-curve-prime192v1 -test-19 = 19-curve-secp224k1 -test-20 = 20-curve-secp224r1 -test-21 = 21-curve-secp256k1 -test-22 = 22-curve-prime256v1 -test-23 = 23-curve-secp384r1 -test-24 = 24-curve-secp521r1 -test-25 = 25-curve-brainpoolP256r1 -test-26 = 26-curve-brainpoolP384r1 -test-27 = 27-curve-brainpoolP512r1 -test-28 = 28-curve-X25519 -test-29 = 29-curve-X448 +test-1 = 1-curve-sect163r2 +test-2 = 2-curve-sect233k1 +test-3 = 3-curve-sect233r1 +test-4 = 4-curve-sect283k1 +test-5 = 5-curve-sect283r1 +test-6 = 6-curve-sect409k1 +test-7 = 7-curve-sect409r1 +test-8 = 8-curve-sect571k1 +test-9 = 9-curve-sect571r1 +test-10 = 10-curve-prime192v1 +test-11 = 11-curve-secp224r1 +test-12 = 12-curve-prime256v1 +test-13 = 13-curve-secp384r1 +test-14 = 14-curve-secp521r1 +test-15 = 15-curve-X25519 +test-16 = 16-curve-X448 +test-17 = 17-curve-sect163r1 +test-18 = 18-curve-sect193r1 +test-19 = 19-curve-sect193r2 +test-20 = 20-curve-sect239k1 +test-21 = 21-curve-secp160k1 +test-22 = 22-curve-secp160r1 +test-23 = 23-curve-secp160r2 +test-24 = 24-curve-secp192k1 +test-25 = 25-curve-secp224k1 +test-26 = 26-curve-secp256k1 +test-27 = 27-curve-brainpoolP256r1 +test-28 = 28-curve-brainpoolP384r1 +test-29 = 29-curve-brainpoolP512r1 # =========================================================== [0-curve-sect163k1] @@ -62,813 +62,813 @@ ExpectedTmpKeyType = sect163k1 # =========================================================== -[1-curve-sect163r1] -ssl_conf = 1-curve-sect163r1-ssl +[1-curve-sect163r2] +ssl_conf = 1-curve-sect163r2-ssl -[1-curve-sect163r1-ssl] -server = 1-curve-sect163r1-server -client = 1-curve-sect163r1-client +[1-curve-sect163r2-ssl] +server = 1-curve-sect163r2-server +client = 1-curve-sect163r2-client -[1-curve-sect163r1-server] +[1-curve-sect163r2-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = sect163r1 +Curves = sect163r2 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[1-curve-sect163r1-client] +[1-curve-sect163r2-client] CipherString = ECDHE -Curves = sect163r1 +Curves = sect163r2 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-1] ExpectedResult = Success -ExpectedTmpKeyType = sect163r1 +ExpectedTmpKeyType = sect163r2 # =========================================================== -[2-curve-sect163r2] -ssl_conf = 2-curve-sect163r2-ssl +[2-curve-sect233k1] +ssl_conf = 2-curve-sect233k1-ssl -[2-curve-sect163r2-ssl] -server = 2-curve-sect163r2-server -client = 2-curve-sect163r2-client +[2-curve-sect233k1-ssl] +server = 2-curve-sect233k1-server +client = 2-curve-sect233k1-client -[2-curve-sect163r2-server] +[2-curve-sect233k1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = sect163r2 +Curves = sect233k1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[2-curve-sect163r2-client] +[2-curve-sect233k1-client] CipherString = ECDHE -Curves = sect163r2 +Curves = sect233k1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-2] ExpectedResult = Success -ExpectedTmpKeyType = sect163r2 +ExpectedTmpKeyType = sect233k1 # =========================================================== -[3-curve-sect193r1] -ssl_conf = 3-curve-sect193r1-ssl +[3-curve-sect233r1] +ssl_conf = 3-curve-sect233r1-ssl -[3-curve-sect193r1-ssl] -server = 3-curve-sect193r1-server -client = 3-curve-sect193r1-client +[3-curve-sect233r1-ssl] +server = 3-curve-sect233r1-server +client = 3-curve-sect233r1-client -[3-curve-sect193r1-server] +[3-curve-sect233r1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = sect193r1 +Curves = sect233r1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[3-curve-sect193r1-client] +[3-curve-sect233r1-client] CipherString = ECDHE -Curves = sect193r1 +Curves = sect233r1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-3] ExpectedResult = Success -ExpectedTmpKeyType = sect193r1 +ExpectedTmpKeyType = sect233r1 # =========================================================== -[4-curve-sect193r2] -ssl_conf = 4-curve-sect193r2-ssl +[4-curve-sect283k1] +ssl_conf = 4-curve-sect283k1-ssl -[4-curve-sect193r2-ssl] -server = 4-curve-sect193r2-server -client = 4-curve-sect193r2-client +[4-curve-sect283k1-ssl] +server = 4-curve-sect283k1-server +client = 4-curve-sect283k1-client -[4-curve-sect193r2-server] +[4-curve-sect283k1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = sect193r2 +Curves = sect283k1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[4-curve-sect193r2-client] +[4-curve-sect283k1-client] CipherString = ECDHE -Curves = sect193r2 +Curves = sect283k1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-4] ExpectedResult = Success -ExpectedTmpKeyType = sect193r2 +ExpectedTmpKeyType = sect283k1 # =========================================================== -[5-curve-sect233k1] -ssl_conf = 5-curve-sect233k1-ssl +[5-curve-sect283r1] +ssl_conf = 5-curve-sect283r1-ssl -[5-curve-sect233k1-ssl] -server = 5-curve-sect233k1-server -client = 5-curve-sect233k1-client +[5-curve-sect283r1-ssl] +server = 5-curve-sect283r1-server +client = 5-curve-sect283r1-client -[5-curve-sect233k1-server] +[5-curve-sect283r1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = sect233k1 +Curves = sect283r1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[5-curve-sect233k1-client] +[5-curve-sect283r1-client] CipherString = ECDHE -Curves = sect233k1 +Curves = sect283r1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-5] ExpectedResult = Success -ExpectedTmpKeyType = sect233k1 +ExpectedTmpKeyType = sect283r1 # =========================================================== -[6-curve-sect233r1] -ssl_conf = 6-curve-sect233r1-ssl +[6-curve-sect409k1] +ssl_conf = 6-curve-sect409k1-ssl -[6-curve-sect233r1-ssl] -server = 6-curve-sect233r1-server -client = 6-curve-sect233r1-client +[6-curve-sect409k1-ssl] +server = 6-curve-sect409k1-server +client = 6-curve-sect409k1-client -[6-curve-sect233r1-server] +[6-curve-sect409k1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = sect233r1 +Curves = sect409k1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[6-curve-sect233r1-client] +[6-curve-sect409k1-client] CipherString = ECDHE -Curves = sect233r1 +Curves = sect409k1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-6] ExpectedResult = Success -ExpectedTmpKeyType = sect233r1 +ExpectedTmpKeyType = sect409k1 # =========================================================== -[7-curve-sect239k1] -ssl_conf = 7-curve-sect239k1-ssl +[7-curve-sect409r1] +ssl_conf = 7-curve-sect409r1-ssl -[7-curve-sect239k1-ssl] -server = 7-curve-sect239k1-server -client = 7-curve-sect239k1-client +[7-curve-sect409r1-ssl] +server = 7-curve-sect409r1-server +client = 7-curve-sect409r1-client -[7-curve-sect239k1-server] +[7-curve-sect409r1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = sect239k1 +Curves = sect409r1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[7-curve-sect239k1-client] +[7-curve-sect409r1-client] CipherString = ECDHE -Curves = sect239k1 +Curves = sect409r1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-7] ExpectedResult = Success -ExpectedTmpKeyType = sect239k1 +ExpectedTmpKeyType = sect409r1 # =========================================================== -[8-curve-sect283k1] -ssl_conf = 8-curve-sect283k1-ssl +[8-curve-sect571k1] +ssl_conf = 8-curve-sect571k1-ssl -[8-curve-sect283k1-ssl] -server = 8-curve-sect283k1-server -client = 8-curve-sect283k1-client +[8-curve-sect571k1-ssl] +server = 8-curve-sect571k1-server +client = 8-curve-sect571k1-client -[8-curve-sect283k1-server] +[8-curve-sect571k1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = sect283k1 +Curves = sect571k1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[8-curve-sect283k1-client] +[8-curve-sect571k1-client] CipherString = ECDHE -Curves = sect283k1 +Curves = sect571k1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-8] ExpectedResult = Success -ExpectedTmpKeyType = sect283k1 +ExpectedTmpKeyType = sect571k1 # =========================================================== -[9-curve-sect283r1] -ssl_conf = 9-curve-sect283r1-ssl +[9-curve-sect571r1] +ssl_conf = 9-curve-sect571r1-ssl -[9-curve-sect283r1-ssl] -server = 9-curve-sect283r1-server -client = 9-curve-sect283r1-client +[9-curve-sect571r1-ssl] +server = 9-curve-sect571r1-server +client = 9-curve-sect571r1-client -[9-curve-sect283r1-server] +[9-curve-sect571r1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = sect283r1 +Curves = sect571r1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[9-curve-sect283r1-client] +[9-curve-sect571r1-client] CipherString = ECDHE -Curves = sect283r1 +Curves = sect571r1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-9] ExpectedResult = Success -ExpectedTmpKeyType = sect283r1 +ExpectedTmpKeyType = sect571r1 # =========================================================== -[10-curve-sect409k1] -ssl_conf = 10-curve-sect409k1-ssl +[10-curve-prime192v1] +ssl_conf = 10-curve-prime192v1-ssl -[10-curve-sect409k1-ssl] -server = 10-curve-sect409k1-server -client = 10-curve-sect409k1-client +[10-curve-prime192v1-ssl] +server = 10-curve-prime192v1-server +client = 10-curve-prime192v1-client -[10-curve-sect409k1-server] +[10-curve-prime192v1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = sect409k1 +Curves = prime192v1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[10-curve-sect409k1-client] +[10-curve-prime192v1-client] CipherString = ECDHE -Curves = sect409k1 +Curves = prime192v1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-10] ExpectedResult = Success -ExpectedTmpKeyType = sect409k1 +ExpectedTmpKeyType = prime192v1 # =========================================================== -[11-curve-sect409r1] -ssl_conf = 11-curve-sect409r1-ssl +[11-curve-secp224r1] +ssl_conf = 11-curve-secp224r1-ssl -[11-curve-sect409r1-ssl] -server = 11-curve-sect409r1-server -client = 11-curve-sect409r1-client +[11-curve-secp224r1-ssl] +server = 11-curve-secp224r1-server +client = 11-curve-secp224r1-client -[11-curve-sect409r1-server] +[11-curve-secp224r1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = sect409r1 +Curves = secp224r1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[11-curve-sect409r1-client] +[11-curve-secp224r1-client] CipherString = ECDHE -Curves = sect409r1 +Curves = secp224r1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-11] ExpectedResult = Success -ExpectedTmpKeyType = sect409r1 +ExpectedTmpKeyType = secp224r1 # =========================================================== -[12-curve-sect571k1] -ssl_conf = 12-curve-sect571k1-ssl +[12-curve-prime256v1] +ssl_conf = 12-curve-prime256v1-ssl -[12-curve-sect571k1-ssl] -server = 12-curve-sect571k1-server -client = 12-curve-sect571k1-client +[12-curve-prime256v1-ssl] +server = 12-curve-prime256v1-server +client = 12-curve-prime256v1-client -[12-curve-sect571k1-server] +[12-curve-prime256v1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = sect571k1 +Curves = prime256v1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[12-curve-sect571k1-client] +[12-curve-prime256v1-client] CipherString = ECDHE -Curves = sect571k1 +Curves = prime256v1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-12] ExpectedResult = Success -ExpectedTmpKeyType = sect571k1 +ExpectedTmpKeyType = prime256v1 # =========================================================== -[13-curve-sect571r1] -ssl_conf = 13-curve-sect571r1-ssl +[13-curve-secp384r1] +ssl_conf = 13-curve-secp384r1-ssl -[13-curve-sect571r1-ssl] -server = 13-curve-sect571r1-server -client = 13-curve-sect571r1-client +[13-curve-secp384r1-ssl] +server = 13-curve-secp384r1-server +client = 13-curve-secp384r1-client -[13-curve-sect571r1-server] +[13-curve-secp384r1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = sect571r1 +Curves = secp384r1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[13-curve-sect571r1-client] +[13-curve-secp384r1-client] CipherString = ECDHE -Curves = sect571r1 +Curves = secp384r1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-13] ExpectedResult = Success -ExpectedTmpKeyType = sect571r1 +ExpectedTmpKeyType = secp384r1 # =========================================================== -[14-curve-secp160k1] -ssl_conf = 14-curve-secp160k1-ssl +[14-curve-secp521r1] +ssl_conf = 14-curve-secp521r1-ssl -[14-curve-secp160k1-ssl] -server = 14-curve-secp160k1-server -client = 14-curve-secp160k1-client +[14-curve-secp521r1-ssl] +server = 14-curve-secp521r1-server +client = 14-curve-secp521r1-client -[14-curve-secp160k1-server] +[14-curve-secp521r1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = secp160k1 +Curves = secp521r1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[14-curve-secp160k1-client] +[14-curve-secp521r1-client] CipherString = ECDHE -Curves = secp160k1 +Curves = secp521r1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-14] ExpectedResult = Success -ExpectedTmpKeyType = secp160k1 +ExpectedTmpKeyType = secp521r1 # =========================================================== -[15-curve-secp160r1] -ssl_conf = 15-curve-secp160r1-ssl +[15-curve-X25519] +ssl_conf = 15-curve-X25519-ssl -[15-curve-secp160r1-ssl] -server = 15-curve-secp160r1-server -client = 15-curve-secp160r1-client +[15-curve-X25519-ssl] +server = 15-curve-X25519-server +client = 15-curve-X25519-client -[15-curve-secp160r1-server] +[15-curve-X25519-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = secp160r1 +Curves = X25519 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[15-curve-secp160r1-client] +[15-curve-X25519-client] CipherString = ECDHE -Curves = secp160r1 +Curves = X25519 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-15] ExpectedResult = Success -ExpectedTmpKeyType = secp160r1 +ExpectedTmpKeyType = X25519 # =========================================================== -[16-curve-secp160r2] -ssl_conf = 16-curve-secp160r2-ssl +[16-curve-X448] +ssl_conf = 16-curve-X448-ssl -[16-curve-secp160r2-ssl] -server = 16-curve-secp160r2-server -client = 16-curve-secp160r2-client +[16-curve-X448-ssl] +server = 16-curve-X448-server +client = 16-curve-X448-client -[16-curve-secp160r2-server] +[16-curve-X448-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = secp160r2 +Curves = X448 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[16-curve-secp160r2-client] +[16-curve-X448-client] CipherString = ECDHE -Curves = secp160r2 +Curves = X448 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-16] ExpectedResult = Success -ExpectedTmpKeyType = secp160r2 +ExpectedTmpKeyType = X448 # =========================================================== -[17-curve-secp192k1] -ssl_conf = 17-curve-secp192k1-ssl +[17-curve-sect163r1] +ssl_conf = 17-curve-sect163r1-ssl -[17-curve-secp192k1-ssl] -server = 17-curve-secp192k1-server -client = 17-curve-secp192k1-client +[17-curve-sect163r1-ssl] +server = 17-curve-sect163r1-server +client = 17-curve-sect163r1-client -[17-curve-secp192k1-server] +[17-curve-sect163r1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = secp192k1 +Curves = sect163r1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[17-curve-secp192k1-client] +[17-curve-sect163r1-client] CipherString = ECDHE -Curves = secp192k1 +Curves = sect163r1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-17] ExpectedResult = Success -ExpectedTmpKeyType = secp192k1 +ExpectedTmpKeyType = sect163r1 # =========================================================== -[18-curve-prime192v1] -ssl_conf = 18-curve-prime192v1-ssl +[18-curve-sect193r1] +ssl_conf = 18-curve-sect193r1-ssl -[18-curve-prime192v1-ssl] -server = 18-curve-prime192v1-server -client = 18-curve-prime192v1-client +[18-curve-sect193r1-ssl] +server = 18-curve-sect193r1-server +client = 18-curve-sect193r1-client -[18-curve-prime192v1-server] +[18-curve-sect193r1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = prime192v1 +Curves = sect193r1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[18-curve-prime192v1-client] +[18-curve-sect193r1-client] CipherString = ECDHE -Curves = prime192v1 +Curves = sect193r1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-18] ExpectedResult = Success -ExpectedTmpKeyType = prime192v1 +ExpectedTmpKeyType = sect193r1 # =========================================================== -[19-curve-secp224k1] -ssl_conf = 19-curve-secp224k1-ssl +[19-curve-sect193r2] +ssl_conf = 19-curve-sect193r2-ssl -[19-curve-secp224k1-ssl] -server = 19-curve-secp224k1-server -client = 19-curve-secp224k1-client +[19-curve-sect193r2-ssl] +server = 19-curve-sect193r2-server +client = 19-curve-sect193r2-client -[19-curve-secp224k1-server] +[19-curve-sect193r2-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = secp224k1 +Curves = sect193r2 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[19-curve-secp224k1-client] +[19-curve-sect193r2-client] CipherString = ECDHE -Curves = secp224k1 +Curves = sect193r2 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-19] ExpectedResult = Success -ExpectedTmpKeyType = secp224k1 +ExpectedTmpKeyType = sect193r2 # =========================================================== -[20-curve-secp224r1] -ssl_conf = 20-curve-secp224r1-ssl +[20-curve-sect239k1] +ssl_conf = 20-curve-sect239k1-ssl -[20-curve-secp224r1-ssl] -server = 20-curve-secp224r1-server -client = 20-curve-secp224r1-client +[20-curve-sect239k1-ssl] +server = 20-curve-sect239k1-server +client = 20-curve-sect239k1-client -[20-curve-secp224r1-server] +[20-curve-sect239k1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = secp224r1 +Curves = sect239k1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[20-curve-secp224r1-client] +[20-curve-sect239k1-client] CipherString = ECDHE -Curves = secp224r1 +Curves = sect239k1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-20] ExpectedResult = Success -ExpectedTmpKeyType = secp224r1 +ExpectedTmpKeyType = sect239k1 # =========================================================== -[21-curve-secp256k1] -ssl_conf = 21-curve-secp256k1-ssl +[21-curve-secp160k1] +ssl_conf = 21-curve-secp160k1-ssl -[21-curve-secp256k1-ssl] -server = 21-curve-secp256k1-server -client = 21-curve-secp256k1-client +[21-curve-secp160k1-ssl] +server = 21-curve-secp160k1-server +client = 21-curve-secp160k1-client -[21-curve-secp256k1-server] +[21-curve-secp160k1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = secp256k1 +Curves = secp160k1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[21-curve-secp256k1-client] +[21-curve-secp160k1-client] CipherString = ECDHE -Curves = secp256k1 +Curves = secp160k1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-21] ExpectedResult = Success -ExpectedTmpKeyType = secp256k1 +ExpectedTmpKeyType = secp160k1 # =========================================================== -[22-curve-prime256v1] -ssl_conf = 22-curve-prime256v1-ssl +[22-curve-secp160r1] +ssl_conf = 22-curve-secp160r1-ssl -[22-curve-prime256v1-ssl] -server = 22-curve-prime256v1-server -client = 22-curve-prime256v1-client +[22-curve-secp160r1-ssl] +server = 22-curve-secp160r1-server +client = 22-curve-secp160r1-client -[22-curve-prime256v1-server] +[22-curve-secp160r1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = prime256v1 +Curves = secp160r1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[22-curve-prime256v1-client] +[22-curve-secp160r1-client] CipherString = ECDHE -Curves = prime256v1 +Curves = secp160r1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-22] ExpectedResult = Success -ExpectedTmpKeyType = prime256v1 +ExpectedTmpKeyType = secp160r1 # =========================================================== -[23-curve-secp384r1] -ssl_conf = 23-curve-secp384r1-ssl +[23-curve-secp160r2] +ssl_conf = 23-curve-secp160r2-ssl -[23-curve-secp384r1-ssl] -server = 23-curve-secp384r1-server -client = 23-curve-secp384r1-client +[23-curve-secp160r2-ssl] +server = 23-curve-secp160r2-server +client = 23-curve-secp160r2-client -[23-curve-secp384r1-server] +[23-curve-secp160r2-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = secp384r1 +Curves = secp160r2 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[23-curve-secp384r1-client] +[23-curve-secp160r2-client] CipherString = ECDHE -Curves = secp384r1 +Curves = secp160r2 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-23] ExpectedResult = Success -ExpectedTmpKeyType = secp384r1 +ExpectedTmpKeyType = secp160r2 # =========================================================== -[24-curve-secp521r1] -ssl_conf = 24-curve-secp521r1-ssl +[24-curve-secp192k1] +ssl_conf = 24-curve-secp192k1-ssl -[24-curve-secp521r1-ssl] -server = 24-curve-secp521r1-server -client = 24-curve-secp521r1-client +[24-curve-secp192k1-ssl] +server = 24-curve-secp192k1-server +client = 24-curve-secp192k1-client -[24-curve-secp521r1-server] +[24-curve-secp192k1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = secp521r1 +Curves = secp192k1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[24-curve-secp521r1-client] +[24-curve-secp192k1-client] CipherString = ECDHE -Curves = secp521r1 +Curves = secp192k1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-24] ExpectedResult = Success -ExpectedTmpKeyType = secp521r1 +ExpectedTmpKeyType = secp192k1 # =========================================================== -[25-curve-brainpoolP256r1] -ssl_conf = 25-curve-brainpoolP256r1-ssl +[25-curve-secp224k1] +ssl_conf = 25-curve-secp224k1-ssl -[25-curve-brainpoolP256r1-ssl] -server = 25-curve-brainpoolP256r1-server -client = 25-curve-brainpoolP256r1-client +[25-curve-secp224k1-ssl] +server = 25-curve-secp224k1-server +client = 25-curve-secp224k1-client -[25-curve-brainpoolP256r1-server] +[25-curve-secp224k1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = brainpoolP256r1 +Curves = secp224k1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[25-curve-brainpoolP256r1-client] +[25-curve-secp224k1-client] CipherString = ECDHE -Curves = brainpoolP256r1 +Curves = secp224k1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-25] ExpectedResult = Success -ExpectedTmpKeyType = brainpoolP256r1 +ExpectedTmpKeyType = secp224k1 # =========================================================== -[26-curve-brainpoolP384r1] -ssl_conf = 26-curve-brainpoolP384r1-ssl +[26-curve-secp256k1] +ssl_conf = 26-curve-secp256k1-ssl -[26-curve-brainpoolP384r1-ssl] -server = 26-curve-brainpoolP384r1-server -client = 26-curve-brainpoolP384r1-client +[26-curve-secp256k1-ssl] +server = 26-curve-secp256k1-server +client = 26-curve-secp256k1-client -[26-curve-brainpoolP384r1-server] +[26-curve-secp256k1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = brainpoolP384r1 +Curves = secp256k1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[26-curve-brainpoolP384r1-client] +[26-curve-secp256k1-client] CipherString = ECDHE -Curves = brainpoolP384r1 +Curves = secp256k1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-26] ExpectedResult = Success -ExpectedTmpKeyType = brainpoolP384r1 +ExpectedTmpKeyType = secp256k1 # =========================================================== -[27-curve-brainpoolP512r1] -ssl_conf = 27-curve-brainpoolP512r1-ssl +[27-curve-brainpoolP256r1] +ssl_conf = 27-curve-brainpoolP256r1-ssl -[27-curve-brainpoolP512r1-ssl] -server = 27-curve-brainpoolP512r1-server -client = 27-curve-brainpoolP512r1-client +[27-curve-brainpoolP256r1-ssl] +server = 27-curve-brainpoolP256r1-server +client = 27-curve-brainpoolP256r1-client -[27-curve-brainpoolP512r1-server] +[27-curve-brainpoolP256r1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = brainpoolP512r1 +Curves = brainpoolP256r1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[27-curve-brainpoolP512r1-client] +[27-curve-brainpoolP256r1-client] CipherString = ECDHE -Curves = brainpoolP512r1 +Curves = brainpoolP256r1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-27] ExpectedResult = Success -ExpectedTmpKeyType = brainpoolP512r1 +ExpectedTmpKeyType = brainpoolP256r1 # =========================================================== -[28-curve-X25519] -ssl_conf = 28-curve-X25519-ssl +[28-curve-brainpoolP384r1] +ssl_conf = 28-curve-brainpoolP384r1-ssl -[28-curve-X25519-ssl] -server = 28-curve-X25519-server -client = 28-curve-X25519-client +[28-curve-brainpoolP384r1-ssl] +server = 28-curve-brainpoolP384r1-server +client = 28-curve-brainpoolP384r1-client -[28-curve-X25519-server] +[28-curve-brainpoolP384r1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = X25519 +Curves = brainpoolP384r1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[28-curve-X25519-client] +[28-curve-brainpoolP384r1-client] CipherString = ECDHE -Curves = X25519 +Curves = brainpoolP384r1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-28] ExpectedResult = Success -ExpectedTmpKeyType = X25519 +ExpectedTmpKeyType = brainpoolP384r1 # =========================================================== -[29-curve-X448] -ssl_conf = 29-curve-X448-ssl +[29-curve-brainpoolP512r1] +ssl_conf = 29-curve-brainpoolP512r1-ssl -[29-curve-X448-ssl] -server = 29-curve-X448-server -client = 29-curve-X448-client +[29-curve-brainpoolP512r1-ssl] +server = 29-curve-brainpoolP512r1-server +client = 29-curve-brainpoolP512r1-client -[29-curve-X448-server] +[29-curve-brainpoolP512r1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -Curves = X448 +Curves = brainpoolP512r1 MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[29-curve-X448-client] +[29-curve-brainpoolP512r1-client] CipherString = ECDHE -Curves = X448 +Curves = brainpoolP512r1 MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-29] ExpectedResult = Success -ExpectedTmpKeyType = X448 +ExpectedTmpKeyType = brainpoolP512r1 diff --git a/test/ssl-tests/14-curves.cnf.in b/test/ssl-tests/14-curves.cnf.in index 2f8077c4..d074e561 100644 --- a/test/ssl-tests/14-curves.cnf.in +++ b/test/ssl-tests/14-curves.cnf.in @@ -10,14 +10,20 @@ use warnings; use OpenSSL::Test; use OpenSSL::Test::Utils qw(anydisabled); -my @curves = ("sect163k1", "sect163r1", "sect163r2", "sect193r1", - "sect193r2", "sect233k1", "sect233r1", "sect239k1", +our $fips_mode; + +my @curves = ("sect163k1", "sect163r2", "sect233k1", "sect233r1", "sect283k1", "sect283r1", "sect409k1", "sect409r1", - "sect571k1", "sect571r1", "secp160k1", "secp160r1", - "secp160r2", "secp192k1", "prime192v1", "secp224k1", - "secp224r1", "secp256k1", "prime256v1", "secp384r1", - "secp521r1", "brainpoolP256r1", "brainpoolP384r1", - "brainpoolP512r1", "X25519", "X448"); + "sect571k1", "sect571r1", "prime192v1", "secp224r1", + "prime256v1", "secp384r1", "secp521r1", "X25519", + "X448"); + +my @curves_non_fips = ("sect163r1", "sect193r1", "sect193r2", "sect239k1", + "secp160k1", "secp160r1", "secp160r2", "secp192k1", + "secp224k1", "secp256k1", "brainpoolP256r1", + "brainpoolP384r1", "brainpoolP512r1"); + +push @curves, @curves_non_fips if !$fips_mode; our @tests = (); diff --git a/test/ssl-tests/15-certstatus.cnf.in b/test/ssl-tests/15-certstatus.cnf.in index 67b0602b..f2c5b633 100644 --- a/test/ssl-tests/15-certstatus.cnf.in +++ b/test/ssl-tests/15-certstatus.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/test/ssl-tests/16-dtls-certstatus.cnf.in b/test/ssl-tests/16-dtls-certstatus.cnf.in index 742de63f..c5545991 100644 --- a/test/ssl-tests/16-dtls-certstatus.cnf.in +++ b/test/ssl-tests/16-dtls-certstatus.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/test/ssl-tests/17-renegotiate.cnf.in b/test/ssl-tests/17-renegotiate.cnf.in index 636f9fb0..2cc21815 100644 --- a/test/ssl-tests/17-renegotiate.cnf.in +++ b/test/ssl-tests/17-renegotiate.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/test/ssl-tests/18-dtls-renegotiate.cnf.in b/test/ssl-tests/18-dtls-renegotiate.cnf.in index 56623b43..b8ec735e 100644 --- a/test/ssl-tests/18-dtls-renegotiate.cnf.in +++ b/test/ssl-tests/18-dtls-renegotiate.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/test/ssl-tests/19-mac-then-encrypt.cnf.in b/test/ssl-tests/19-mac-then-encrypt.cnf.in index 968f5ac6..32b7b7df 100644 --- a/test/ssl-tests/19-mac-then-encrypt.cnf.in +++ b/test/ssl-tests/19-mac-then-encrypt.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/test/ssl-tests/20-cert-select.cnf b/test/ssl-tests/20-cert-select.cnf index 757b973e..f788069f 100644 --- a/test/ssl-tests/20-cert-select.cnf +++ b/test/ssl-tests/20-cert-select.cnf @@ -5,37 +5,37 @@ num_tests = 56 test-0 = 0-ECDSA CipherString Selection test-1 = 1-ECDSA CipherString Selection test-2 = 2-ECDSA CipherString Selection -test-3 = 3-Ed25519 CipherString and Signature Algorithm Selection -test-4 = 4-Ed448 CipherString and Signature Algorithm Selection -test-5 = 5-ECDSA with brainpool -test-6 = 6-RSA CipherString Selection -test-7 = 7-RSA-PSS Certificate CipherString Selection -test-8 = 8-P-256 CipherString and Signature Algorithm Selection -test-9 = 9-Ed25519 CipherString and Curves Selection -test-10 = 10-Ed448 CipherString and Curves Selection -test-11 = 11-ECDSA CipherString Selection, no ECDSA certificate -test-12 = 12-ECDSA Signature Algorithm Selection -test-13 = 13-ECDSA Signature Algorithm Selection SHA384 -test-14 = 14-ECDSA Signature Algorithm Selection SHA1 -test-15 = 15-ECDSA Signature Algorithm Selection compressed point -test-16 = 16-ECDSA Signature Algorithm Selection, no ECDSA certificate -test-17 = 17-RSA Signature Algorithm Selection -test-18 = 18-RSA-PSS Signature Algorithm Selection -test-19 = 19-RSA-PSS Certificate Legacy Signature Algorithm Selection -test-20 = 20-RSA-PSS Certificate Unified Signature Algorithm Selection -test-21 = 21-Only RSA-PSS Certificate -test-22 = 22-Only RSA-PSS Certificate Valid Signature Algorithms -test-23 = 23-RSA-PSS Certificate, no PSS signature algorithms -test-24 = 24-Only RSA-PSS Restricted Certificate -test-25 = 25-RSA-PSS Restricted Certificate Valid Signature Algorithms -test-26 = 26-RSA-PSS Restricted Cert client prefers invalid Signature Algorithm -test-27 = 27-RSA-PSS Restricted Certificate Invalid Signature Algorithms -test-28 = 28-RSA key exchange with all RSA certificate types -test-29 = 29-RSA key exchange with only RSA-PSS certificate -test-30 = 30-Suite B P-256 Hash Algorithm Selection -test-31 = 31-Suite B P-384 Hash Algorithm Selection -test-32 = 32-TLS 1.2 Ed25519 Client Auth -test-33 = 33-TLS 1.2 Ed448 Client Auth +test-3 = 3-RSA CipherString Selection +test-4 = 4-P-256 CipherString and Signature Algorithm Selection +test-5 = 5-ECDSA CipherString Selection, no ECDSA certificate +test-6 = 6-ECDSA Signature Algorithm Selection +test-7 = 7-ECDSA Signature Algorithm Selection SHA384 +test-8 = 8-ECDSA Signature Algorithm Selection SHA1 +test-9 = 9-ECDSA Signature Algorithm Selection compressed point +test-10 = 10-ECDSA Signature Algorithm Selection, no ECDSA certificate +test-11 = 11-RSA Signature Algorithm Selection +test-12 = 12-RSA-PSS Signature Algorithm Selection +test-13 = 13-RSA key exchange with all RSA certificate types +test-14 = 14-Suite B P-256 Hash Algorithm Selection +test-15 = 15-Suite B P-384 Hash Algorithm Selection +test-16 = 16-Ed25519 CipherString and Signature Algorithm Selection +test-17 = 17-Ed448 CipherString and Signature Algorithm Selection +test-18 = 18-ECDSA with brainpool +test-19 = 19-Ed25519 CipherString and Curves Selection +test-20 = 20-Ed448 CipherString and Curves Selection +test-21 = 21-TLS 1.2 Ed25519 Client Auth +test-22 = 22-TLS 1.2 Ed448 Client Auth +test-23 = 23-RSA-PSS Certificate CipherString Selection +test-24 = 24-RSA-PSS Certificate Legacy Signature Algorithm Selection +test-25 = 25-RSA-PSS Certificate Unified Signature Algorithm Selection +test-26 = 26-Only RSA-PSS Certificate +test-27 = 27-Only RSA-PSS Certificate Valid Signature Algorithms +test-28 = 28-RSA-PSS Certificate, no PSS signature algorithms +test-29 = 29-Only RSA-PSS Restricted Certificate +test-30 = 30-RSA-PSS Restricted Certificate Valid Signature Algorithms +test-31 = 31-RSA-PSS Restricted Cert client prefers invalid Signature Algorithm +test-32 = 32-RSA-PSS Restricted Certificate Invalid Signature Algorithms +test-33 = 33-RSA key exchange with only RSA-PSS certificate test-34 = 34-Only RSA-PSS Certificate, TLS v1.1 test-35 = 35-TLS 1.3 ECDSA Signature Algorithm Selection test-36 = 36-TLS 1.3 ECDSA Signature Algorithm Selection compressed point @@ -45,13 +45,13 @@ test-39 = 39-TLS 1.3 RSA Signature Algorithm Selection SHA384 with PSS test-40 = 40-TLS 1.3 ECDSA Signature Algorithm Selection, no ECDSA certificate test-41 = 41-TLS 1.3 RSA Signature Algorithm Selection, no PSS test-42 = 42-TLS 1.3 RSA-PSS Signature Algorithm Selection -test-43 = 43-TLS 1.3 Ed25519 Signature Algorithm Selection -test-44 = 44-TLS 1.3 Ed448 Signature Algorithm Selection -test-45 = 45-TLS 1.3 Ed25519 CipherString and Groups Selection -test-46 = 46-TLS 1.3 Ed448 CipherString and Groups Selection -test-47 = 47-TLS 1.3 RSA Client Auth Signature Algorithm Selection -test-48 = 48-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names -test-49 = 49-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection +test-43 = 43-TLS 1.3 RSA Client Auth Signature Algorithm Selection +test-44 = 44-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names +test-45 = 45-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection +test-46 = 46-TLS 1.3 Ed25519 Signature Algorithm Selection +test-47 = 47-TLS 1.3 Ed448 Signature Algorithm Selection +test-48 = 48-TLS 1.3 Ed25519 CipherString and Groups Selection +test-49 = 49-TLS 1.3 Ed448 CipherString and Groups Selection test-50 = 50-TLS 1.3 Ed25519 Client Auth test-51 = 51-TLS 1.3 Ed448 Client Auth test-52 = 52-TLS 1.3 ECDSA with brainpool @@ -158,14 +158,14 @@ ExpectedResult = ServerFail # =========================================================== -[3-Ed25519 CipherString and Signature Algorithm Selection] -ssl_conf = 3-Ed25519 CipherString and Signature Algorithm Selection-ssl +[3-RSA CipherString Selection] +ssl_conf = 3-RSA CipherString Selection-ssl -[3-Ed25519 CipherString and Signature Algorithm Selection-ssl] -server = 3-Ed25519 CipherString and Signature Algorithm Selection-server -client = 3-Ed25519 CipherString and Signature Algorithm Selection-client +[3-RSA CipherString Selection-ssl] +server = 3-RSA CipherString Selection-server +client = 3-RSA CipherString Selection-client -[3-Ed25519 CipherString and Signature Algorithm Selection-server] +[3-RSA CipherString Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -177,114 +177,13 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[3-Ed25519 CipherString and Signature Algorithm Selection-client] -CipherString = aECDSA -MaxProtocol = TLSv1.2 -RequestCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem -SignatureAlgorithms = ed25519:ECDSA+SHA256 -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem -VerifyMode = Peer - -[test-3] -ExpectedResult = Success -ExpectedServerCANames = empty -ExpectedServerCertType = Ed25519 -ExpectedServerSignType = Ed25519 - - -# =========================================================== - -[4-Ed448 CipherString and Signature Algorithm Selection] -ssl_conf = 4-Ed448 CipherString and Signature Algorithm Selection-ssl - -[4-Ed448 CipherString and Signature Algorithm Selection-ssl] -server = 4-Ed448 CipherString and Signature Algorithm Selection-server -client = 4-Ed448 CipherString and Signature Algorithm Selection-client - -[4-Ed448 CipherString and Signature Algorithm Selection-server] -Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem -CipherString = DEFAULT -ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem -ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-key.pem -Ed25519.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed25519-cert.pem -Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed25519-key.pem -Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem -Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem -MaxProtocol = TLSv1.2 -PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem - -[4-Ed448 CipherString and Signature Algorithm Selection-client] -CipherString = aECDSA -MaxProtocol = TLSv1.2 -RequestCAFile = ${ENV::TEST_CERTS_DIR}/root-ed448-cert.pem -SignatureAlgorithms = ed448:ECDSA+SHA256 -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-ed448-cert.pem -VerifyMode = Peer - -[test-4] -ExpectedResult = Success -ExpectedServerCANames = empty -ExpectedServerCertType = Ed448 -ExpectedServerSignType = Ed448 - - -# =========================================================== - -[5-ECDSA with brainpool] -ssl_conf = 5-ECDSA with brainpool-ssl - -[5-ECDSA with brainpool-ssl] -server = 5-ECDSA with brainpool-server -client = 5-ECDSA with brainpool-client - -[5-ECDSA with brainpool-server] -Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-brainpoolP256r1-cert.pem -CipherString = DEFAULT -Groups = brainpoolP256r1 -PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-brainpoolP256r1-key.pem - -[5-ECDSA with brainpool-client] -CipherString = aECDSA -Groups = brainpoolP256r1 -RequestCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem -VerifyMode = Peer - -[test-5] -ExpectedResult = Success -ExpectedServerCANames = empty -ExpectedServerCertType = brainpoolP256r1 -ExpectedServerSignType = EC - - -# =========================================================== - -[6-RSA CipherString Selection] -ssl_conf = 6-RSA CipherString Selection-ssl - -[6-RSA CipherString Selection-ssl] -server = 6-RSA CipherString Selection-server -client = 6-RSA CipherString Selection-client - -[6-RSA CipherString Selection-server] -Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem -CipherString = DEFAULT -ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem -ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-key.pem -Ed25519.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed25519-cert.pem -Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed25519-key.pem -Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem -Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem -MaxProtocol = TLSv1.2 -PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem - -[6-RSA CipherString Selection-client] +[3-RSA CipherString Selection-client] CipherString = aRSA MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-6] +[test-3] ExpectedResult = Success ExpectedServerCertType = RSA ExpectedServerSignType = RSA-PSS @@ -292,49 +191,14 @@ ExpectedServerSignType = RSA-PSS # =========================================================== -[7-RSA-PSS Certificate CipherString Selection] -ssl_conf = 7-RSA-PSS Certificate CipherString Selection-ssl +[4-P-256 CipherString and Signature Algorithm Selection] +ssl_conf = 4-P-256 CipherString and Signature Algorithm Selection-ssl -[7-RSA-PSS Certificate CipherString Selection-ssl] -server = 7-RSA-PSS Certificate CipherString Selection-server -client = 7-RSA-PSS Certificate CipherString Selection-client +[4-P-256 CipherString and Signature Algorithm Selection-ssl] +server = 4-P-256 CipherString and Signature Algorithm Selection-server +client = 4-P-256 CipherString and Signature Algorithm Selection-client -[7-RSA-PSS Certificate CipherString Selection-server] -Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem -CipherString = DEFAULT -ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem -ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-key.pem -Ed25519.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed25519-cert.pem -Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed25519-key.pem -Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem -Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem -MaxProtocol = TLSv1.2 -PSS.Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem -PSS.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem -PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem - -[7-RSA-PSS Certificate CipherString Selection-client] -CipherString = aRSA -MaxProtocol = TLSv1.2 -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem -VerifyMode = Peer - -[test-7] -ExpectedResult = Success -ExpectedServerCertType = RSA-PSS -ExpectedServerSignType = RSA-PSS - - -# =========================================================== - -[8-P-256 CipherString and Signature Algorithm Selection] -ssl_conf = 8-P-256 CipherString and Signature Algorithm Selection-ssl - -[8-P-256 CipherString and Signature Algorithm Selection-ssl] -server = 8-P-256 CipherString and Signature Algorithm Selection-server -client = 8-P-256 CipherString and Signature Algorithm Selection-client - -[8-P-256 CipherString and Signature Algorithm Selection-server] +[4-P-256 CipherString and Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -346,14 +210,14 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[8-P-256 CipherString and Signature Algorithm Selection-client] +[4-P-256 CipherString and Signature Algorithm Selection-client] CipherString = aECDSA MaxProtocol = TLSv1.2 SignatureAlgorithms = ECDSA+SHA256:ed25519 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-8] +[test-4] ExpectedResult = Success ExpectedServerCertType = P-256 ExpectedServerSignHash = SHA256 @@ -362,109 +226,39 @@ ExpectedServerSignType = EC # =========================================================== -[9-Ed25519 CipherString and Curves Selection] -ssl_conf = 9-Ed25519 CipherString and Curves Selection-ssl +[5-ECDSA CipherString Selection, no ECDSA certificate] +ssl_conf = 5-ECDSA CipherString Selection, no ECDSA certificate-ssl -[9-Ed25519 CipherString and Curves Selection-ssl] -server = 9-Ed25519 CipherString and Curves Selection-server -client = 9-Ed25519 CipherString and Curves Selection-client +[5-ECDSA CipherString Selection, no ECDSA certificate-ssl] +server = 5-ECDSA CipherString Selection, no ECDSA certificate-server +client = 5-ECDSA CipherString Selection, no ECDSA certificate-client -[9-Ed25519 CipherString and Curves Selection-server] -Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem -CipherString = DEFAULT -ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem -ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-key.pem -Ed25519.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed25519-cert.pem -Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed25519-key.pem -Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem -Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem -MaxProtocol = TLSv1.2 -PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem - -[9-Ed25519 CipherString and Curves Selection-client] -CipherString = aECDSA -Curves = X25519 -MaxProtocol = TLSv1.2 -SignatureAlgorithms = ECDSA+SHA256:ed25519 -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem -VerifyMode = Peer - -[test-9] -ExpectedResult = Success -ExpectedServerCertType = Ed25519 -ExpectedServerSignType = Ed25519 - - -# =========================================================== - -[10-Ed448 CipherString and Curves Selection] -ssl_conf = 10-Ed448 CipherString and Curves Selection-ssl - -[10-Ed448 CipherString and Curves Selection-ssl] -server = 10-Ed448 CipherString and Curves Selection-server -client = 10-Ed448 CipherString and Curves Selection-client - -[10-Ed448 CipherString and Curves Selection-server] -Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem -CipherString = DEFAULT -ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem -ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-key.pem -Ed25519.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed25519-cert.pem -Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed25519-key.pem -Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem -Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem -MaxProtocol = TLSv1.2 -PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem - -[10-Ed448 CipherString and Curves Selection-client] -CipherString = aECDSA -Curves = X448 -MaxProtocol = TLSv1.2 -SignatureAlgorithms = ECDSA+SHA256:ed448 -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-ed448-cert.pem -VerifyMode = Peer - -[test-10] -ExpectedResult = Success -ExpectedServerCertType = Ed448 -ExpectedServerSignType = Ed448 - - -# =========================================================== - -[11-ECDSA CipherString Selection, no ECDSA certificate] -ssl_conf = 11-ECDSA CipherString Selection, no ECDSA certificate-ssl - -[11-ECDSA CipherString Selection, no ECDSA certificate-ssl] -server = 11-ECDSA CipherString Selection, no ECDSA certificate-server -client = 11-ECDSA CipherString Selection, no ECDSA certificate-client - -[11-ECDSA CipherString Selection, no ECDSA certificate-server] +[5-ECDSA CipherString Selection, no ECDSA certificate-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[11-ECDSA CipherString Selection, no ECDSA certificate-client] +[5-ECDSA CipherString Selection, no ECDSA certificate-client] CipherString = aECDSA MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-11] +[test-5] ExpectedResult = ServerFail # =========================================================== -[12-ECDSA Signature Algorithm Selection] -ssl_conf = 12-ECDSA Signature Algorithm Selection-ssl +[6-ECDSA Signature Algorithm Selection] +ssl_conf = 6-ECDSA Signature Algorithm Selection-ssl -[12-ECDSA Signature Algorithm Selection-ssl] -server = 12-ECDSA Signature Algorithm Selection-server -client = 12-ECDSA Signature Algorithm Selection-client +[6-ECDSA Signature Algorithm Selection-ssl] +server = 6-ECDSA Signature Algorithm Selection-server +client = 6-ECDSA Signature Algorithm Selection-client -[12-ECDSA Signature Algorithm Selection-server] +[6-ECDSA Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -476,13 +270,13 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[12-ECDSA Signature Algorithm Selection-client] +[6-ECDSA Signature Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-12] +[test-6] ExpectedResult = Success ExpectedServerCertType = P-256 ExpectedServerSignHash = SHA256 @@ -491,14 +285,14 @@ ExpectedServerSignType = EC # =========================================================== -[13-ECDSA Signature Algorithm Selection SHA384] -ssl_conf = 13-ECDSA Signature Algorithm Selection SHA384-ssl +[7-ECDSA Signature Algorithm Selection SHA384] +ssl_conf = 7-ECDSA Signature Algorithm Selection SHA384-ssl -[13-ECDSA Signature Algorithm Selection SHA384-ssl] -server = 13-ECDSA Signature Algorithm Selection SHA384-server -client = 13-ECDSA Signature Algorithm Selection SHA384-client +[7-ECDSA Signature Algorithm Selection SHA384-ssl] +server = 7-ECDSA Signature Algorithm Selection SHA384-server +client = 7-ECDSA Signature Algorithm Selection SHA384-client -[13-ECDSA Signature Algorithm Selection SHA384-server] +[7-ECDSA Signature Algorithm Selection SHA384-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -510,13 +304,13 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[13-ECDSA Signature Algorithm Selection SHA384-client] +[7-ECDSA Signature Algorithm Selection SHA384-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA384 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-13] +[test-7] ExpectedResult = Success ExpectedServerCertType = P-256 ExpectedServerSignHash = SHA384 @@ -525,14 +319,14 @@ ExpectedServerSignType = EC # =========================================================== -[14-ECDSA Signature Algorithm Selection SHA1] -ssl_conf = 14-ECDSA Signature Algorithm Selection SHA1-ssl +[8-ECDSA Signature Algorithm Selection SHA1] +ssl_conf = 8-ECDSA Signature Algorithm Selection SHA1-ssl -[14-ECDSA Signature Algorithm Selection SHA1-ssl] -server = 14-ECDSA Signature Algorithm Selection SHA1-server -client = 14-ECDSA Signature Algorithm Selection SHA1-client +[8-ECDSA Signature Algorithm Selection SHA1-ssl] +server = 8-ECDSA Signature Algorithm Selection SHA1-server +client = 8-ECDSA Signature Algorithm Selection SHA1-client -[14-ECDSA Signature Algorithm Selection SHA1-server] +[8-ECDSA Signature Algorithm Selection SHA1-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -544,13 +338,13 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[14-ECDSA Signature Algorithm Selection SHA1-client] +[8-ECDSA Signature Algorithm Selection SHA1-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA1 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-14] +[test-8] ExpectedResult = Success ExpectedServerCertType = P-256 ExpectedServerSignHash = SHA1 @@ -559,14 +353,14 @@ ExpectedServerSignType = EC # =========================================================== -[15-ECDSA Signature Algorithm Selection compressed point] -ssl_conf = 15-ECDSA Signature Algorithm Selection compressed point-ssl +[9-ECDSA Signature Algorithm Selection compressed point] +ssl_conf = 9-ECDSA Signature Algorithm Selection compressed point-ssl -[15-ECDSA Signature Algorithm Selection compressed point-ssl] -server = 15-ECDSA Signature Algorithm Selection compressed point-server -client = 15-ECDSA Signature Algorithm Selection compressed point-client +[9-ECDSA Signature Algorithm Selection compressed point-ssl] +server = 9-ECDSA Signature Algorithm Selection compressed point-server +client = 9-ECDSA Signature Algorithm Selection compressed point-client -[15-ECDSA Signature Algorithm Selection compressed point-server] +[9-ECDSA Signature Algorithm Selection compressed point-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-cecdsa-cert.pem @@ -574,13 +368,13 @@ ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-cecdsa-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[15-ECDSA Signature Algorithm Selection compressed point-client] +[9-ECDSA Signature Algorithm Selection compressed point-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-15] +[test-9] ExpectedResult = Success ExpectedServerCertType = P-256 ExpectedServerSignHash = SHA256 @@ -589,39 +383,39 @@ ExpectedServerSignType = EC # =========================================================== -[16-ECDSA Signature Algorithm Selection, no ECDSA certificate] -ssl_conf = 16-ECDSA Signature Algorithm Selection, no ECDSA certificate-ssl +[10-ECDSA Signature Algorithm Selection, no ECDSA certificate] +ssl_conf = 10-ECDSA Signature Algorithm Selection, no ECDSA certificate-ssl -[16-ECDSA Signature Algorithm Selection, no ECDSA certificate-ssl] -server = 16-ECDSA Signature Algorithm Selection, no ECDSA certificate-server -client = 16-ECDSA Signature Algorithm Selection, no ECDSA certificate-client +[10-ECDSA Signature Algorithm Selection, no ECDSA certificate-ssl] +server = 10-ECDSA Signature Algorithm Selection, no ECDSA certificate-server +client = 10-ECDSA Signature Algorithm Selection, no ECDSA certificate-client -[16-ECDSA Signature Algorithm Selection, no ECDSA certificate-server] +[10-ECDSA Signature Algorithm Selection, no ECDSA certificate-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[16-ECDSA Signature Algorithm Selection, no ECDSA certificate-client] +[10-ECDSA Signature Algorithm Selection, no ECDSA certificate-client] CipherString = DEFAULT SignatureAlgorithms = ECDSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-16] +[test-10] ExpectedResult = ServerFail # =========================================================== -[17-RSA Signature Algorithm Selection] -ssl_conf = 17-RSA Signature Algorithm Selection-ssl +[11-RSA Signature Algorithm Selection] +ssl_conf = 11-RSA Signature Algorithm Selection-ssl -[17-RSA Signature Algorithm Selection-ssl] -server = 17-RSA Signature Algorithm Selection-server -client = 17-RSA Signature Algorithm Selection-client +[11-RSA Signature Algorithm Selection-ssl] +server = 11-RSA Signature Algorithm Selection-server +client = 11-RSA Signature Algorithm Selection-client -[17-RSA Signature Algorithm Selection-server] +[11-RSA Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -633,13 +427,13 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[17-RSA Signature Algorithm Selection-client] +[11-RSA Signature Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = RSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-17] +[test-11] ExpectedResult = Success ExpectedServerCertType = RSA ExpectedServerSignHash = SHA256 @@ -648,14 +442,14 @@ ExpectedServerSignType = RSA # =========================================================== -[18-RSA-PSS Signature Algorithm Selection] -ssl_conf = 18-RSA-PSS Signature Algorithm Selection-ssl +[12-RSA-PSS Signature Algorithm Selection] +ssl_conf = 12-RSA-PSS Signature Algorithm Selection-ssl -[18-RSA-PSS Signature Algorithm Selection-ssl] -server = 18-RSA-PSS Signature Algorithm Selection-server -client = 18-RSA-PSS Signature Algorithm Selection-client +[12-RSA-PSS Signature Algorithm Selection-ssl] +server = 12-RSA-PSS Signature Algorithm Selection-server +client = 12-RSA-PSS Signature Algorithm Selection-client -[18-RSA-PSS Signature Algorithm Selection-server] +[12-RSA-PSS Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -667,29 +461,217 @@ Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[18-RSA-PSS Signature Algorithm Selection-client] +[12-RSA-PSS Signature Algorithm Selection-client] CipherString = DEFAULT SignatureAlgorithms = RSA-PSS+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer +[test-12] +ExpectedResult = Success +ExpectedServerCertType = RSA +ExpectedServerSignHash = SHA256 +ExpectedServerSignType = RSA-PSS + + +# =========================================================== + +[13-RSA key exchange with all RSA certificate types] +ssl_conf = 13-RSA key exchange with all RSA certificate types-ssl + +[13-RSA key exchange with all RSA certificate types-ssl] +server = 13-RSA key exchange with all RSA certificate types-server +client = 13-RSA key exchange with all RSA certificate types-client + +[13-RSA key exchange with all RSA certificate types-server] +Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem +CipherString = DEFAULT +PSS.Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem +PSS.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem +PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem + +[13-RSA key exchange with all RSA certificate types-client] +CipherString = kRSA +MaxProtocol = TLSv1.2 +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyMode = Peer + +[test-13] +ExpectedResult = Success +ExpectedServerCertType = RSA + + +# =========================================================== + +[14-Suite B P-256 Hash Algorithm Selection] +ssl_conf = 14-Suite B P-256 Hash Algorithm Selection-ssl + +[14-Suite B P-256 Hash Algorithm Selection-ssl] +server = 14-Suite B P-256 Hash Algorithm Selection-server +client = 14-Suite B P-256 Hash Algorithm Selection-client + +[14-Suite B P-256 Hash Algorithm Selection-server] +Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem +CipherString = SUITEB128 +ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/p256-server-cert.pem +ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/p256-server-key.pem +MaxProtocol = TLSv1.2 +PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem + +[14-Suite B P-256 Hash Algorithm Selection-client] +CipherString = DEFAULT +SignatureAlgorithms = ECDSA+SHA384:ECDSA+SHA256 +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/p384-root.pem +VerifyMode = Peer + +[test-14] +ExpectedResult = Success +ExpectedServerCertType = P-256 +ExpectedServerSignHash = SHA256 +ExpectedServerSignType = EC + + +# =========================================================== + +[15-Suite B P-384 Hash Algorithm Selection] +ssl_conf = 15-Suite B P-384 Hash Algorithm Selection-ssl + +[15-Suite B P-384 Hash Algorithm Selection-ssl] +server = 15-Suite B P-384 Hash Algorithm Selection-server +client = 15-Suite B P-384 Hash Algorithm Selection-client + +[15-Suite B P-384 Hash Algorithm Selection-server] +Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem +CipherString = SUITEB128 +ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/p384-server-cert.pem +ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/p384-server-key.pem +MaxProtocol = TLSv1.2 +PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem + +[15-Suite B P-384 Hash Algorithm Selection-client] +CipherString = DEFAULT +SignatureAlgorithms = ECDSA+SHA256:ECDSA+SHA384 +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/p384-root.pem +VerifyMode = Peer + +[test-15] +ExpectedResult = Success +ExpectedServerCertType = P-384 +ExpectedServerSignHash = SHA384 +ExpectedServerSignType = EC + + +# =========================================================== + +[16-Ed25519 CipherString and Signature Algorithm Selection] +ssl_conf = 16-Ed25519 CipherString and Signature Algorithm Selection-ssl + +[16-Ed25519 CipherString and Signature Algorithm Selection-ssl] +server = 16-Ed25519 CipherString and Signature Algorithm Selection-server +client = 16-Ed25519 CipherString and Signature Algorithm Selection-client + +[16-Ed25519 CipherString and Signature Algorithm Selection-server] +Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem +CipherString = DEFAULT +ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem +ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-key.pem +Ed25519.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed25519-cert.pem +Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed25519-key.pem +Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem +Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem +MaxProtocol = TLSv1.2 +PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem + +[16-Ed25519 CipherString and Signature Algorithm Selection-client] +CipherString = aECDSA +MaxProtocol = TLSv1.2 +RequestCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem +SignatureAlgorithms = ed25519:ECDSA+SHA256 +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyMode = Peer + +[test-16] +ExpectedResult = Success +ExpectedServerCANames = empty +ExpectedServerCertType = Ed25519 +ExpectedServerSignType = Ed25519 + + +# =========================================================== + +[17-Ed448 CipherString and Signature Algorithm Selection] +ssl_conf = 17-Ed448 CipherString and Signature Algorithm Selection-ssl + +[17-Ed448 CipherString and Signature Algorithm Selection-ssl] +server = 17-Ed448 CipherString and Signature Algorithm Selection-server +client = 17-Ed448 CipherString and Signature Algorithm Selection-client + +[17-Ed448 CipherString and Signature Algorithm Selection-server] +Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem +CipherString = DEFAULT +ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem +ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-key.pem +Ed25519.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed25519-cert.pem +Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed25519-key.pem +Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem +Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem +MaxProtocol = TLSv1.2 +PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem + +[17-Ed448 CipherString and Signature Algorithm Selection-client] +CipherString = aECDSA +MaxProtocol = TLSv1.2 +RequestCAFile = ${ENV::TEST_CERTS_DIR}/root-ed448-cert.pem +SignatureAlgorithms = ed448:ECDSA+SHA256 +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-ed448-cert.pem +VerifyMode = Peer + +[test-17] +ExpectedResult = Success +ExpectedServerCANames = empty +ExpectedServerCertType = Ed448 +ExpectedServerSignType = Ed448 + + +# =========================================================== + +[18-ECDSA with brainpool] +ssl_conf = 18-ECDSA with brainpool-ssl + +[18-ECDSA with brainpool-ssl] +server = 18-ECDSA with brainpool-server +client = 18-ECDSA with brainpool-client + +[18-ECDSA with brainpool-server] +Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-brainpoolP256r1-cert.pem +CipherString = DEFAULT +Groups = brainpoolP256r1 +PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-brainpoolP256r1-key.pem + +[18-ECDSA with brainpool-client] +CipherString = aECDSA +Groups = brainpoolP256r1 +RequestCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyMode = Peer + [test-18] ExpectedResult = Success -ExpectedServerCertType = RSA -ExpectedServerSignHash = SHA256 -ExpectedServerSignType = RSA-PSS +ExpectedServerCANames = empty +ExpectedServerCertType = brainpoolP256r1 +ExpectedServerSignType = EC # =========================================================== -[19-RSA-PSS Certificate Legacy Signature Algorithm Selection] -ssl_conf = 19-RSA-PSS Certificate Legacy Signature Algorithm Selection-ssl +[19-Ed25519 CipherString and Curves Selection] +ssl_conf = 19-Ed25519 CipherString and Curves Selection-ssl -[19-RSA-PSS Certificate Legacy Signature Algorithm Selection-ssl] -server = 19-RSA-PSS Certificate Legacy Signature Algorithm Selection-server -client = 19-RSA-PSS Certificate Legacy Signature Algorithm Selection-client +[19-Ed25519 CipherString and Curves Selection-ssl] +server = 19-Ed25519 CipherString and Curves Selection-server +client = 19-Ed25519 CipherString and Curves Selection-client -[19-RSA-PSS Certificate Legacy Signature Algorithm Selection-server] +[19-Ed25519 CipherString and Curves Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -699,33 +681,129 @@ Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed25519-key.pem Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem MaxProtocol = TLSv1.2 -PSS.Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem -PSS.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[19-RSA-PSS Certificate Legacy Signature Algorithm Selection-client] -CipherString = DEFAULT -SignatureAlgorithms = RSA-PSS+SHA256 +[19-Ed25519 CipherString and Curves Selection-client] +CipherString = aECDSA +Curves = X25519 +MaxProtocol = TLSv1.2 +SignatureAlgorithms = ECDSA+SHA256:ed25519 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-19] ExpectedResult = Success -ExpectedServerCertType = RSA -ExpectedServerSignHash = SHA256 -ExpectedServerSignType = RSA-PSS +ExpectedServerCertType = Ed25519 +ExpectedServerSignType = Ed25519 # =========================================================== -[20-RSA-PSS Certificate Unified Signature Algorithm Selection] -ssl_conf = 20-RSA-PSS Certificate Unified Signature Algorithm Selection-ssl +[20-Ed448 CipherString and Curves Selection] +ssl_conf = 20-Ed448 CipherString and Curves Selection-ssl -[20-RSA-PSS Certificate Unified Signature Algorithm Selection-ssl] -server = 20-RSA-PSS Certificate Unified Signature Algorithm Selection-server -client = 20-RSA-PSS Certificate Unified Signature Algorithm Selection-client +[20-Ed448 CipherString and Curves Selection-ssl] +server = 20-Ed448 CipherString and Curves Selection-server +client = 20-Ed448 CipherString and Curves Selection-client -[20-RSA-PSS Certificate Unified Signature Algorithm Selection-server] +[20-Ed448 CipherString and Curves Selection-server] +Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem +CipherString = DEFAULT +ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem +ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-key.pem +Ed25519.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed25519-cert.pem +Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed25519-key.pem +Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem +Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem +MaxProtocol = TLSv1.2 +PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem + +[20-Ed448 CipherString and Curves Selection-client] +CipherString = aECDSA +Curves = X448 +MaxProtocol = TLSv1.2 +SignatureAlgorithms = ECDSA+SHA256:ed448 +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-ed448-cert.pem +VerifyMode = Peer + +[test-20] +ExpectedResult = Success +ExpectedServerCertType = Ed448 +ExpectedServerSignType = Ed448 + + +# =========================================================== + +[21-TLS 1.2 Ed25519 Client Auth] +ssl_conf = 21-TLS 1.2 Ed25519 Client Auth-ssl + +[21-TLS 1.2 Ed25519 Client Auth-ssl] +server = 21-TLS 1.2 Ed25519 Client Auth-server +client = 21-TLS 1.2 Ed25519 Client Auth-client + +[21-TLS 1.2 Ed25519 Client Auth-server] +Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem +CipherString = DEFAULT +PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem +VerifyMode = Require + +[21-TLS 1.2 Ed25519 Client Auth-client] +CipherString = DEFAULT +Ed25519.Certificate = ${ENV::TEST_CERTS_DIR}/client-ed25519-cert.pem +Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/client-ed25519-key.pem +MaxProtocol = TLSv1.2 +MinProtocol = TLSv1.2 +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyMode = Peer + +[test-21] +ExpectedClientCertType = Ed25519 +ExpectedClientSignType = Ed25519 +ExpectedResult = Success + + +# =========================================================== + +[22-TLS 1.2 Ed448 Client Auth] +ssl_conf = 22-TLS 1.2 Ed448 Client Auth-ssl + +[22-TLS 1.2 Ed448 Client Auth-ssl] +server = 22-TLS 1.2 Ed448 Client Auth-server +client = 22-TLS 1.2 Ed448 Client Auth-client + +[22-TLS 1.2 Ed448 Client Auth-server] +Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem +CipherString = DEFAULT +PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem +VerifyMode = Require + +[22-TLS 1.2 Ed448 Client Auth-client] +CipherString = DEFAULT +Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/client-ed448-cert.pem +Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/client-ed448-key.pem +MaxProtocol = TLSv1.2 +MinProtocol = TLSv1.2 +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyMode = Peer + +[test-22] +ExpectedClientCertType = Ed448 +ExpectedClientSignType = Ed448 +ExpectedResult = Success + + +# =========================================================== + +[23-RSA-PSS Certificate CipherString Selection] +ssl_conf = 23-RSA-PSS Certificate CipherString Selection-ssl + +[23-RSA-PSS Certificate CipherString Selection-ssl] +server = 23-RSA-PSS Certificate CipherString Selection-server +client = 23-RSA-PSS Certificate CipherString Selection-client + +[23-RSA-PSS Certificate CipherString Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem @@ -739,139 +817,80 @@ PSS.Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem PSS.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[20-RSA-PSS Certificate Unified Signature Algorithm Selection-client] -CipherString = DEFAULT -SignatureAlgorithms = rsa_pss_pss_sha256 -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem -VerifyMode = Peer - -[test-20] -ExpectedResult = Success -ExpectedServerCertType = RSA-PSS -ExpectedServerSignHash = SHA256 -ExpectedServerSignType = RSA-PSS - - -# =========================================================== - -[21-Only RSA-PSS Certificate] -ssl_conf = 21-Only RSA-PSS Certificate-ssl - -[21-Only RSA-PSS Certificate-ssl] -server = 21-Only RSA-PSS Certificate-server -client = 21-Only RSA-PSS Certificate-client - -[21-Only RSA-PSS Certificate-server] -Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem -CipherString = DEFAULT -PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem - -[21-Only RSA-PSS Certificate-client] -CipherString = DEFAULT -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem -VerifyMode = Peer - -[test-21] -ExpectedResult = Success -ExpectedServerCertType = RSA-PSS -ExpectedServerSignHash = SHA256 -ExpectedServerSignType = RSA-PSS - - -# =========================================================== - -[22-Only RSA-PSS Certificate Valid Signature Algorithms] -ssl_conf = 22-Only RSA-PSS Certificate Valid Signature Algorithms-ssl - -[22-Only RSA-PSS Certificate Valid Signature Algorithms-ssl] -server = 22-Only RSA-PSS Certificate Valid Signature Algorithms-server -client = 22-Only RSA-PSS Certificate Valid Signature Algorithms-client - -[22-Only RSA-PSS Certificate Valid Signature Algorithms-server] -Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem -CipherString = DEFAULT -PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem - -[22-Only RSA-PSS Certificate Valid Signature Algorithms-client] -CipherString = DEFAULT -SignatureAlgorithms = rsa_pss_pss_sha512 -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem -VerifyMode = Peer - -[test-22] -ExpectedResult = Success -ExpectedServerCertType = RSA-PSS -ExpectedServerSignHash = SHA512 -ExpectedServerSignType = RSA-PSS - - -# =========================================================== - -[23-RSA-PSS Certificate, no PSS signature algorithms] -ssl_conf = 23-RSA-PSS Certificate, no PSS signature algorithms-ssl - -[23-RSA-PSS Certificate, no PSS signature algorithms-ssl] -server = 23-RSA-PSS Certificate, no PSS signature algorithms-server -client = 23-RSA-PSS Certificate, no PSS signature algorithms-client - -[23-RSA-PSS Certificate, no PSS signature algorithms-server] -Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem -CipherString = DEFAULT -PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem - -[23-RSA-PSS Certificate, no PSS signature algorithms-client] -CipherString = DEFAULT -SignatureAlgorithms = RSA+SHA256 +[23-RSA-PSS Certificate CipherString Selection-client] +CipherString = aRSA +MaxProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-23] -ExpectedResult = ServerFail +ExpectedResult = Success +ExpectedServerCertType = RSA-PSS +ExpectedServerSignType = RSA-PSS # =========================================================== -[24-Only RSA-PSS Restricted Certificate] -ssl_conf = 24-Only RSA-PSS Restricted Certificate-ssl +[24-RSA-PSS Certificate Legacy Signature Algorithm Selection] +ssl_conf = 24-RSA-PSS Certificate Legacy Signature Algorithm Selection-ssl -[24-Only RSA-PSS Restricted Certificate-ssl] -server = 24-Only RSA-PSS Restricted Certificate-server -client = 24-Only RSA-PSS Restricted Certificate-client +[24-RSA-PSS Certificate Legacy Signature Algorithm Selection-ssl] +server = 24-RSA-PSS Certificate Legacy Signature Algorithm Selection-server +client = 24-RSA-PSS Certificate Legacy Signature Algorithm Selection-client -[24-Only RSA-PSS Restricted Certificate-server] -Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-restrict-cert.pem +[24-RSA-PSS Certificate Legacy Signature Algorithm Selection-server] +Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-restrict-key.pem +ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem +ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-key.pem +Ed25519.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed25519-cert.pem +Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed25519-key.pem +Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem +Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem +MaxProtocol = TLSv1.2 +PSS.Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem +PSS.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem +PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[24-Only RSA-PSS Restricted Certificate-client] +[24-RSA-PSS Certificate Legacy Signature Algorithm Selection-client] CipherString = DEFAULT +SignatureAlgorithms = RSA-PSS+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-24] ExpectedResult = Success -ExpectedServerCertType = RSA-PSS +ExpectedServerCertType = RSA ExpectedServerSignHash = SHA256 ExpectedServerSignType = RSA-PSS # =========================================================== -[25-RSA-PSS Restricted Certificate Valid Signature Algorithms] -ssl_conf = 25-RSA-PSS Restricted Certificate Valid Signature Algorithms-ssl +[25-RSA-PSS Certificate Unified Signature Algorithm Selection] +ssl_conf = 25-RSA-PSS Certificate Unified Signature Algorithm Selection-ssl -[25-RSA-PSS Restricted Certificate Valid Signature Algorithms-ssl] -server = 25-RSA-PSS Restricted Certificate Valid Signature Algorithms-server -client = 25-RSA-PSS Restricted Certificate Valid Signature Algorithms-client +[25-RSA-PSS Certificate Unified Signature Algorithm Selection-ssl] +server = 25-RSA-PSS Certificate Unified Signature Algorithm Selection-server +client = 25-RSA-PSS Certificate Unified Signature Algorithm Selection-client -[25-RSA-PSS Restricted Certificate Valid Signature Algorithms-server] -Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-restrict-cert.pem +[25-RSA-PSS Certificate Unified Signature Algorithm Selection-server] +Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT -PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-restrict-key.pem +ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem +ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-key.pem +Ed25519.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed25519-cert.pem +Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed25519-key.pem +Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem +Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem +MaxProtocol = TLSv1.2 +PSS.Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem +PSS.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem +PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -[25-RSA-PSS Restricted Certificate Valid Signature Algorithms-client] +[25-RSA-PSS Certificate Unified Signature Algorithm Selection-client] CipherString = DEFAULT -SignatureAlgorithms = rsa_pss_pss_sha256:rsa_pss_pss_sha512 +SignatureAlgorithms = rsa_pss_pss_sha256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer @@ -884,21 +903,20 @@ ExpectedServerSignType = RSA-PSS # =========================================================== -[26-RSA-PSS Restricted Cert client prefers invalid Signature Algorithm] -ssl_conf = 26-RSA-PSS Restricted Cert client prefers invalid Signature Algorithm-ssl +[26-Only RSA-PSS Certificate] +ssl_conf = 26-Only RSA-PSS Certificate-ssl -[26-RSA-PSS Restricted Cert client prefers invalid Signature Algorithm-ssl] -server = 26-RSA-PSS Restricted Cert client prefers invalid Signature Algorithm-server -client = 26-RSA-PSS Restricted Cert client prefers invalid Signature Algorithm-client +[26-Only RSA-PSS Certificate-ssl] +server = 26-Only RSA-PSS Certificate-server +client = 26-Only RSA-PSS Certificate-client -[26-RSA-PSS Restricted Cert client prefers invalid Signature Algorithm-server] -Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-restrict-cert.pem +[26-Only RSA-PSS Certificate-server] +Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem CipherString = DEFAULT -PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-restrict-key.pem +PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem -[26-RSA-PSS Restricted Cert client prefers invalid Signature Algorithm-client] +[26-Only RSA-PSS Certificate-client] CipherString = DEFAULT -SignatureAlgorithms = rsa_pss_pss_sha512:rsa_pss_pss_sha256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer @@ -911,199 +929,181 @@ ExpectedServerSignType = RSA-PSS # =========================================================== -[27-RSA-PSS Restricted Certificate Invalid Signature Algorithms] -ssl_conf = 27-RSA-PSS Restricted Certificate Invalid Signature Algorithms-ssl +[27-Only RSA-PSS Certificate Valid Signature Algorithms] +ssl_conf = 27-Only RSA-PSS Certificate Valid Signature Algorithms-ssl -[27-RSA-PSS Restricted Certificate Invalid Signature Algorithms-ssl] -server = 27-RSA-PSS Restricted Certificate Invalid Signature Algorithms-server -client = 27-RSA-PSS Restricted Certificate Invalid Signature Algorithms-client +[27-Only RSA-PSS Certificate Valid Signature Algorithms-ssl] +server = 27-Only RSA-PSS Certificate Valid Signature Algorithms-server +client = 27-Only RSA-PSS Certificate Valid Signature Algorithms-client -[27-RSA-PSS Restricted Certificate Invalid Signature Algorithms-server] -Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-restrict-cert.pem +[27-Only RSA-PSS Certificate Valid Signature Algorithms-server] +Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem CipherString = DEFAULT -PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-restrict-key.pem +PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem -[27-RSA-PSS Restricted Certificate Invalid Signature Algorithms-client] +[27-Only RSA-PSS Certificate Valid Signature Algorithms-client] CipherString = DEFAULT SignatureAlgorithms = rsa_pss_pss_sha512 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-27] -ExpectedResult = ServerFail - - -# =========================================================== - -[28-RSA key exchange with all RSA certificate types] -ssl_conf = 28-RSA key exchange with all RSA certificate types-ssl - -[28-RSA key exchange with all RSA certificate types-ssl] -server = 28-RSA key exchange with all RSA certificate types-server -client = 28-RSA key exchange with all RSA certificate types-client - -[28-RSA key exchange with all RSA certificate types-server] -Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem -CipherString = DEFAULT -PSS.Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem -PSS.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem -PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem - -[28-RSA key exchange with all RSA certificate types-client] -CipherString = kRSA -MaxProtocol = TLSv1.2 -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem -VerifyMode = Peer - -[test-28] ExpectedResult = Success -ExpectedServerCertType = RSA +ExpectedServerCertType = RSA-PSS +ExpectedServerSignHash = SHA512 +ExpectedServerSignType = RSA-PSS # =========================================================== -[29-RSA key exchange with only RSA-PSS certificate] -ssl_conf = 29-RSA key exchange with only RSA-PSS certificate-ssl +[28-RSA-PSS Certificate, no PSS signature algorithms] +ssl_conf = 28-RSA-PSS Certificate, no PSS signature algorithms-ssl -[29-RSA key exchange with only RSA-PSS certificate-ssl] -server = 29-RSA key exchange with only RSA-PSS certificate-server -client = 29-RSA key exchange with only RSA-PSS certificate-client +[28-RSA-PSS Certificate, no PSS signature algorithms-ssl] +server = 28-RSA-PSS Certificate, no PSS signature algorithms-server +client = 28-RSA-PSS Certificate, no PSS signature algorithms-client -[29-RSA key exchange with only RSA-PSS certificate-server] +[28-RSA-PSS Certificate, no PSS signature algorithms-server] Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem CipherString = DEFAULT PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem -[29-RSA key exchange with only RSA-PSS certificate-client] -CipherString = kRSA -MaxProtocol = TLSv1.2 +[28-RSA-PSS Certificate, no PSS signature algorithms-client] +CipherString = DEFAULT +SignatureAlgorithms = RSA+SHA256 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-29] +[test-28] ExpectedResult = ServerFail # =========================================================== -[30-Suite B P-256 Hash Algorithm Selection] -ssl_conf = 30-Suite B P-256 Hash Algorithm Selection-ssl +[29-Only RSA-PSS Restricted Certificate] +ssl_conf = 29-Only RSA-PSS Restricted Certificate-ssl -[30-Suite B P-256 Hash Algorithm Selection-ssl] -server = 30-Suite B P-256 Hash Algorithm Selection-server -client = 30-Suite B P-256 Hash Algorithm Selection-client +[29-Only RSA-PSS Restricted Certificate-ssl] +server = 29-Only RSA-PSS Restricted Certificate-server +client = 29-Only RSA-PSS Restricted Certificate-client -[30-Suite B P-256 Hash Algorithm Selection-server] -Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem -CipherString = SUITEB128 -ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/p256-server-cert.pem -ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/p256-server-key.pem -MaxProtocol = TLSv1.2 -PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem - -[30-Suite B P-256 Hash Algorithm Selection-client] +[29-Only RSA-PSS Restricted Certificate-server] +Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-restrict-cert.pem CipherString = DEFAULT -SignatureAlgorithms = ECDSA+SHA384:ECDSA+SHA256 -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/p384-root.pem +PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-restrict-key.pem + +[29-Only RSA-PSS Restricted Certificate-client] +CipherString = DEFAULT +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyMode = Peer + +[test-29] +ExpectedResult = Success +ExpectedServerCertType = RSA-PSS +ExpectedServerSignHash = SHA256 +ExpectedServerSignType = RSA-PSS + + +# =========================================================== + +[30-RSA-PSS Restricted Certificate Valid Signature Algorithms] +ssl_conf = 30-RSA-PSS Restricted Certificate Valid Signature Algorithms-ssl + +[30-RSA-PSS Restricted Certificate Valid Signature Algorithms-ssl] +server = 30-RSA-PSS Restricted Certificate Valid Signature Algorithms-server +client = 30-RSA-PSS Restricted Certificate Valid Signature Algorithms-client + +[30-RSA-PSS Restricted Certificate Valid Signature Algorithms-server] +Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-restrict-cert.pem +CipherString = DEFAULT +PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-restrict-key.pem + +[30-RSA-PSS Restricted Certificate Valid Signature Algorithms-client] +CipherString = DEFAULT +SignatureAlgorithms = rsa_pss_pss_sha256:rsa_pss_pss_sha512 +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-30] ExpectedResult = Success -ExpectedServerCertType = P-256 +ExpectedServerCertType = RSA-PSS ExpectedServerSignHash = SHA256 -ExpectedServerSignType = EC +ExpectedServerSignType = RSA-PSS # =========================================================== -[31-Suite B P-384 Hash Algorithm Selection] -ssl_conf = 31-Suite B P-384 Hash Algorithm Selection-ssl +[31-RSA-PSS Restricted Cert client prefers invalid Signature Algorithm] +ssl_conf = 31-RSA-PSS Restricted Cert client prefers invalid Signature Algorithm-ssl -[31-Suite B P-384 Hash Algorithm Selection-ssl] -server = 31-Suite B P-384 Hash Algorithm Selection-server -client = 31-Suite B P-384 Hash Algorithm Selection-client +[31-RSA-PSS Restricted Cert client prefers invalid Signature Algorithm-ssl] +server = 31-RSA-PSS Restricted Cert client prefers invalid Signature Algorithm-server +client = 31-RSA-PSS Restricted Cert client prefers invalid Signature Algorithm-client -[31-Suite B P-384 Hash Algorithm Selection-server] -Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem -CipherString = SUITEB128 -ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/p384-server-cert.pem -ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/p384-server-key.pem -MaxProtocol = TLSv1.2 -PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem - -[31-Suite B P-384 Hash Algorithm Selection-client] +[31-RSA-PSS Restricted Cert client prefers invalid Signature Algorithm-server] +Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-restrict-cert.pem CipherString = DEFAULT -SignatureAlgorithms = ECDSA+SHA256:ECDSA+SHA384 -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/p384-root.pem +PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-restrict-key.pem + +[31-RSA-PSS Restricted Cert client prefers invalid Signature Algorithm-client] +CipherString = DEFAULT +SignatureAlgorithms = rsa_pss_pss_sha512:rsa_pss_pss_sha256 +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-31] ExpectedResult = Success -ExpectedServerCertType = P-384 -ExpectedServerSignHash = SHA384 -ExpectedServerSignType = EC +ExpectedServerCertType = RSA-PSS +ExpectedServerSignHash = SHA256 +ExpectedServerSignType = RSA-PSS # =========================================================== -[32-TLS 1.2 Ed25519 Client Auth] -ssl_conf = 32-TLS 1.2 Ed25519 Client Auth-ssl +[32-RSA-PSS Restricted Certificate Invalid Signature Algorithms] +ssl_conf = 32-RSA-PSS Restricted Certificate Invalid Signature Algorithms-ssl -[32-TLS 1.2 Ed25519 Client Auth-ssl] -server = 32-TLS 1.2 Ed25519 Client Auth-server -client = 32-TLS 1.2 Ed25519 Client Auth-client +[32-RSA-PSS Restricted Certificate Invalid Signature Algorithms-ssl] +server = 32-RSA-PSS Restricted Certificate Invalid Signature Algorithms-server +client = 32-RSA-PSS Restricted Certificate Invalid Signature Algorithms-client -[32-TLS 1.2 Ed25519 Client Auth-server] -Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem +[32-RSA-PSS Restricted Certificate Invalid Signature Algorithms-server] +Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-restrict-cert.pem CipherString = DEFAULT -PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem -VerifyMode = Require +PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-restrict-key.pem -[32-TLS 1.2 Ed25519 Client Auth-client] +[32-RSA-PSS Restricted Certificate Invalid Signature Algorithms-client] CipherString = DEFAULT -Ed25519.Certificate = ${ENV::TEST_CERTS_DIR}/client-ed25519-cert.pem -Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/client-ed25519-key.pem -MaxProtocol = TLSv1.2 -MinProtocol = TLSv1.2 +SignatureAlgorithms = rsa_pss_pss_sha512 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-32] -ExpectedClientCertType = Ed25519 -ExpectedClientSignType = Ed25519 -ExpectedResult = Success +ExpectedResult = ServerFail # =========================================================== -[33-TLS 1.2 Ed448 Client Auth] -ssl_conf = 33-TLS 1.2 Ed448 Client Auth-ssl +[33-RSA key exchange with only RSA-PSS certificate] +ssl_conf = 33-RSA key exchange with only RSA-PSS certificate-ssl -[33-TLS 1.2 Ed448 Client Auth-ssl] -server = 33-TLS 1.2 Ed448 Client Auth-server -client = 33-TLS 1.2 Ed448 Client Auth-client +[33-RSA key exchange with only RSA-PSS certificate-ssl] +server = 33-RSA key exchange with only RSA-PSS certificate-server +client = 33-RSA key exchange with only RSA-PSS certificate-client -[33-TLS 1.2 Ed448 Client Auth-server] -Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem +[33-RSA key exchange with only RSA-PSS certificate-server] +Certificate = ${ENV::TEST_CERTS_DIR}/server-pss-cert.pem CipherString = DEFAULT -PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem -VerifyMode = Require +PrivateKey = ${ENV::TEST_CERTS_DIR}/server-pss-key.pem -[33-TLS 1.2 Ed448 Client Auth-client] -CipherString = DEFAULT -Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/client-ed448-cert.pem -Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/client-ed448-key.pem +[33-RSA key exchange with only RSA-PSS certificate-client] +CipherString = kRSA MaxProtocol = TLSv1.2 -MinProtocol = TLSv1.2 VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer [test-33] -ExpectedClientCertType = Ed448 -ExpectedClientSignType = Ed448 -ExpectedResult = Success +ExpectedResult = ServerFail # =========================================================== @@ -1397,152 +1397,14 @@ ExpectedServerSignType = RSA-PSS # =========================================================== -[43-TLS 1.3 Ed25519 Signature Algorithm Selection] -ssl_conf = 43-TLS 1.3 Ed25519 Signature Algorithm Selection-ssl +[43-TLS 1.3 RSA Client Auth Signature Algorithm Selection] +ssl_conf = 43-TLS 1.3 RSA Client Auth Signature Algorithm Selection-ssl -[43-TLS 1.3 Ed25519 Signature Algorithm Selection-ssl] -server = 43-TLS 1.3 Ed25519 Signature Algorithm Selection-server -client = 43-TLS 1.3 Ed25519 Signature Algorithm Selection-client +[43-TLS 1.3 RSA Client Auth Signature Algorithm Selection-ssl] +server = 43-TLS 1.3 RSA Client Auth Signature Algorithm Selection-server +client = 43-TLS 1.3 RSA Client Auth Signature Algorithm Selection-client -[43-TLS 1.3 Ed25519 Signature Algorithm Selection-server] -Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem -CipherString = DEFAULT -ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem -ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-key.pem -Ed25519.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed25519-cert.pem -Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed25519-key.pem -Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem -Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem -MaxProtocol = TLSv1.3 -MinProtocol = TLSv1.3 -PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem - -[43-TLS 1.3 Ed25519 Signature Algorithm Selection-client] -CipherString = DEFAULT -SignatureAlgorithms = ed25519 -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem -VerifyMode = Peer - -[test-43] -ExpectedResult = Success -ExpectedServerCertType = Ed25519 -ExpectedServerSignType = Ed25519 - - -# =========================================================== - -[44-TLS 1.3 Ed448 Signature Algorithm Selection] -ssl_conf = 44-TLS 1.3 Ed448 Signature Algorithm Selection-ssl - -[44-TLS 1.3 Ed448 Signature Algorithm Selection-ssl] -server = 44-TLS 1.3 Ed448 Signature Algorithm Selection-server -client = 44-TLS 1.3 Ed448 Signature Algorithm Selection-client - -[44-TLS 1.3 Ed448 Signature Algorithm Selection-server] -Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem -CipherString = DEFAULT -ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem -ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-key.pem -Ed25519.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed25519-cert.pem -Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed25519-key.pem -Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem -Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem -MaxProtocol = TLSv1.3 -MinProtocol = TLSv1.3 -PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem - -[44-TLS 1.3 Ed448 Signature Algorithm Selection-client] -CipherString = DEFAULT -SignatureAlgorithms = ed448 -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-ed448-cert.pem -VerifyMode = Peer - -[test-44] -ExpectedResult = Success -ExpectedServerCertType = Ed448 -ExpectedServerSignType = Ed448 - - -# =========================================================== - -[45-TLS 1.3 Ed25519 CipherString and Groups Selection] -ssl_conf = 45-TLS 1.3 Ed25519 CipherString and Groups Selection-ssl - -[45-TLS 1.3 Ed25519 CipherString and Groups Selection-ssl] -server = 45-TLS 1.3 Ed25519 CipherString and Groups Selection-server -client = 45-TLS 1.3 Ed25519 CipherString and Groups Selection-client - -[45-TLS 1.3 Ed25519 CipherString and Groups Selection-server] -Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem -CipherString = DEFAULT -ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem -ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-key.pem -Ed25519.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed25519-cert.pem -Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed25519-key.pem -Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem -Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem -MaxProtocol = TLSv1.3 -MinProtocol = TLSv1.3 -PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem - -[45-TLS 1.3 Ed25519 CipherString and Groups Selection-client] -CipherString = DEFAULT -Groups = X25519 -SignatureAlgorithms = ECDSA+SHA256:ed25519 -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem -VerifyMode = Peer - -[test-45] -ExpectedResult = Success -ExpectedServerCertType = P-256 -ExpectedServerSignType = EC - - -# =========================================================== - -[46-TLS 1.3 Ed448 CipherString and Groups Selection] -ssl_conf = 46-TLS 1.3 Ed448 CipherString and Groups Selection-ssl - -[46-TLS 1.3 Ed448 CipherString and Groups Selection-ssl] -server = 46-TLS 1.3 Ed448 CipherString and Groups Selection-server -client = 46-TLS 1.3 Ed448 CipherString and Groups Selection-client - -[46-TLS 1.3 Ed448 CipherString and Groups Selection-server] -Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem -CipherString = DEFAULT -ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem -ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-key.pem -Ed25519.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed25519-cert.pem -Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed25519-key.pem -Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem -Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem -MaxProtocol = TLSv1.3 -MinProtocol = TLSv1.3 -PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem - -[46-TLS 1.3 Ed448 CipherString and Groups Selection-client] -CipherString = DEFAULT -Groups = X448 -SignatureAlgorithms = ECDSA+SHA256:ed448 -VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem -VerifyMode = Peer - -[test-46] -ExpectedResult = Success -ExpectedServerCertType = P-256 -ExpectedServerSignType = EC - - -# =========================================================== - -[47-TLS 1.3 RSA Client Auth Signature Algorithm Selection] -ssl_conf = 47-TLS 1.3 RSA Client Auth Signature Algorithm Selection-ssl - -[47-TLS 1.3 RSA Client Auth Signature Algorithm Selection-ssl] -server = 47-TLS 1.3 RSA Client Auth Signature Algorithm Selection-server -client = 47-TLS 1.3 RSA Client Auth Signature Algorithm Selection-client - -[47-TLS 1.3 RSA Client Auth Signature Algorithm Selection-server] +[43-TLS 1.3 RSA Client Auth Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ClientSignatureAlgorithms = PSS+SHA256 @@ -1550,7 +1412,7 @@ PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem VerifyMode = Require -[47-TLS 1.3 RSA Client Auth Signature Algorithm Selection-client] +[43-TLS 1.3 RSA Client Auth Signature Algorithm Selection-client] CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/ee-ecdsa-client-chain.pem ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/ee-ecdsa-key.pem @@ -1561,7 +1423,7 @@ RSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/ee-key.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-47] +[test-43] ExpectedClientCANames = empty ExpectedClientCertType = RSA ExpectedClientSignHash = SHA256 @@ -1571,14 +1433,14 @@ ExpectedResult = Success # =========================================================== -[48-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names] -ssl_conf = 48-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-ssl +[44-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names] +ssl_conf = 44-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-ssl -[48-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-ssl] -server = 48-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-server -client = 48-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-client +[44-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-ssl] +server = 44-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-server +client = 44-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-client -[48-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-server] +[44-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ClientSignatureAlgorithms = PSS+SHA256 @@ -1587,7 +1449,7 @@ RequestCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem VerifyMode = Require -[48-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-client] +[44-TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names-client] CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/ee-ecdsa-client-chain.pem ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/ee-ecdsa-key.pem @@ -1598,7 +1460,7 @@ RSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/ee-key.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-48] +[test-44] ExpectedClientCANames = ${ENV::TEST_CERTS_DIR}/root-cert.pem ExpectedClientCertType = RSA ExpectedClientSignHash = SHA256 @@ -1608,14 +1470,14 @@ ExpectedResult = Success # =========================================================== -[49-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection] -ssl_conf = 49-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-ssl +[45-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection] +ssl_conf = 45-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-ssl -[49-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-ssl] -server = 49-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-server -client = 49-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-client +[45-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-ssl] +server = 45-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-server +client = 45-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-client -[49-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-server] +[45-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-server] Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem CipherString = DEFAULT ClientSignatureAlgorithms = ECDSA+SHA256 @@ -1623,7 +1485,7 @@ PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-cert.pem VerifyMode = Require -[49-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-client] +[45-TLS 1.3 ECDSA Client Auth Signature Algorithm Selection-client] CipherString = DEFAULT ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/ee-ecdsa-client-chain.pem ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/ee-ecdsa-key.pem @@ -1634,13 +1496,151 @@ RSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/ee-key.pem VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem VerifyMode = Peer -[test-49] +[test-45] ExpectedClientCertType = P-256 ExpectedClientSignHash = SHA256 ExpectedClientSignType = EC ExpectedResult = Success +# =========================================================== + +[46-TLS 1.3 Ed25519 Signature Algorithm Selection] +ssl_conf = 46-TLS 1.3 Ed25519 Signature Algorithm Selection-ssl + +[46-TLS 1.3 Ed25519 Signature Algorithm Selection-ssl] +server = 46-TLS 1.3 Ed25519 Signature Algorithm Selection-server +client = 46-TLS 1.3 Ed25519 Signature Algorithm Selection-client + +[46-TLS 1.3 Ed25519 Signature Algorithm Selection-server] +Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem +CipherString = DEFAULT +ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem +ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-key.pem +Ed25519.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed25519-cert.pem +Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed25519-key.pem +Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem +Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem +MaxProtocol = TLSv1.3 +MinProtocol = TLSv1.3 +PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem + +[46-TLS 1.3 Ed25519 Signature Algorithm Selection-client] +CipherString = DEFAULT +SignatureAlgorithms = ed25519 +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyMode = Peer + +[test-46] +ExpectedResult = Success +ExpectedServerCertType = Ed25519 +ExpectedServerSignType = Ed25519 + + +# =========================================================== + +[47-TLS 1.3 Ed448 Signature Algorithm Selection] +ssl_conf = 47-TLS 1.3 Ed448 Signature Algorithm Selection-ssl + +[47-TLS 1.3 Ed448 Signature Algorithm Selection-ssl] +server = 47-TLS 1.3 Ed448 Signature Algorithm Selection-server +client = 47-TLS 1.3 Ed448 Signature Algorithm Selection-client + +[47-TLS 1.3 Ed448 Signature Algorithm Selection-server] +Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem +CipherString = DEFAULT +ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem +ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-key.pem +Ed25519.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed25519-cert.pem +Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed25519-key.pem +Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem +Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem +MaxProtocol = TLSv1.3 +MinProtocol = TLSv1.3 +PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem + +[47-TLS 1.3 Ed448 Signature Algorithm Selection-client] +CipherString = DEFAULT +SignatureAlgorithms = ed448 +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-ed448-cert.pem +VerifyMode = Peer + +[test-47] +ExpectedResult = Success +ExpectedServerCertType = Ed448 +ExpectedServerSignType = Ed448 + + +# =========================================================== + +[48-TLS 1.3 Ed25519 CipherString and Groups Selection] +ssl_conf = 48-TLS 1.3 Ed25519 CipherString and Groups Selection-ssl + +[48-TLS 1.3 Ed25519 CipherString and Groups Selection-ssl] +server = 48-TLS 1.3 Ed25519 CipherString and Groups Selection-server +client = 48-TLS 1.3 Ed25519 CipherString and Groups Selection-client + +[48-TLS 1.3 Ed25519 CipherString and Groups Selection-server] +Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem +CipherString = DEFAULT +ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem +ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-key.pem +Ed25519.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed25519-cert.pem +Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed25519-key.pem +Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem +Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem +MaxProtocol = TLSv1.3 +MinProtocol = TLSv1.3 +PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem + +[48-TLS 1.3 Ed25519 CipherString and Groups Selection-client] +CipherString = DEFAULT +Groups = X25519 +SignatureAlgorithms = ECDSA+SHA256:ed25519 +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyMode = Peer + +[test-48] +ExpectedResult = Success +ExpectedServerCertType = P-256 +ExpectedServerSignType = EC + + +# =========================================================== + +[49-TLS 1.3 Ed448 CipherString and Groups Selection] +ssl_conf = 49-TLS 1.3 Ed448 CipherString and Groups Selection-ssl + +[49-TLS 1.3 Ed448 CipherString and Groups Selection-ssl] +server = 49-TLS 1.3 Ed448 CipherString and Groups Selection-server +client = 49-TLS 1.3 Ed448 CipherString and Groups Selection-client + +[49-TLS 1.3 Ed448 CipherString and Groups Selection-server] +Certificate = ${ENV::TEST_CERTS_DIR}/servercert.pem +CipherString = DEFAULT +ECDSA.Certificate = ${ENV::TEST_CERTS_DIR}/server-ecdsa-cert.pem +ECDSA.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ecdsa-key.pem +Ed25519.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed25519-cert.pem +Ed25519.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed25519-key.pem +Ed448.Certificate = ${ENV::TEST_CERTS_DIR}/server-ed448-cert.pem +Ed448.PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ed448-key.pem +MaxProtocol = TLSv1.3 +MinProtocol = TLSv1.3 +PrivateKey = ${ENV::TEST_CERTS_DIR}/serverkey.pem + +[49-TLS 1.3 Ed448 CipherString and Groups Selection-client] +CipherString = DEFAULT +Groups = X448 +SignatureAlgorithms = ECDSA+SHA256:ed448 +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/rootcert.pem +VerifyMode = Peer + +[test-49] +ExpectedResult = Success +ExpectedServerCertType = P-256 +ExpectedServerSignType = EC + + # =========================================================== [50-TLS 1.3 Ed25519 Client Auth] diff --git a/test/ssl-tests/20-cert-select.cnf.in b/test/ssl-tests/20-cert-select.cnf.in index 24093548..fd3f09d7 100644 --- a/test/ssl-tests/20-cert-select.cnf.in +++ b/test/ssl-tests/20-cert-select.cnf.in @@ -9,15 +9,29 @@ use warnings; package ssltests; use OpenSSL::Test::Utils; -my $server = { - "ECDSA.Certificate" => test_pem("server-ecdsa-cert.pem"), - "ECDSA.PrivateKey" => test_pem("server-ecdsa-key.pem"), - "Ed25519.Certificate" => test_pem("server-ed25519-cert.pem"), - "Ed25519.PrivateKey" => test_pem("server-ed25519-key.pem"), - "Ed448.Certificate" => test_pem("server-ed448-cert.pem"), - "Ed448.PrivateKey" => test_pem("server-ed448-key.pem"), - "MaxProtocol" => "TLSv1.2" -}; +our $fips_mode; +our $no_deflt_libctx; + +my $server; + +if ($fips_mode) { + #TODO(3.0): No EdDSA support in FIPS mode at the moment + $server = { + "ECDSA.Certificate" => test_pem("server-ecdsa-cert.pem"), + "ECDSA.PrivateKey" => test_pem("server-ecdsa-key.pem"), + "MaxProtocol" => "TLSv1.2" + }; +} else { + $server = { + "ECDSA.Certificate" => test_pem("server-ecdsa-cert.pem"), + "ECDSA.PrivateKey" => test_pem("server-ecdsa-key.pem"), + "Ed25519.Certificate" => test_pem("server-ed25519-cert.pem"), + "Ed25519.PrivateKey" => test_pem("server-ed25519-key.pem"), + "Ed448.Certificate" => test_pem("server-ed448-cert.pem"), + "Ed448.PrivateKey" => test_pem("server-ed448-key.pem"), + "MaxProtocol" => "TLSv1.2" + }; +} my $server_pss = { "PSS.Certificate" => test_pem("server-pss-cert.pem"), @@ -41,13 +55,21 @@ my $server_pss_restrict_only = { "PrivateKey" => test_pem("server-pss-restrict-key.pem"), }; +my $server_rsa_all; -my $server_rsa_all = { - "PSS.Certificate" => test_pem("server-pss-cert.pem"), - "PSS.PrivateKey" => test_pem("server-pss-key.pem"), - "Certificate" => test_pem("servercert.pem"), - "PrivateKey" => test_pem("serverkey.pem"), -}; +if ($no_deflt_libctx) { + $server_rsa_all = { + "Certificate" => test_pem("servercert.pem"), + "PrivateKey" => test_pem("serverkey.pem"), + }; +} else { + $server_rsa_all = { + "PSS.Certificate" => test_pem("server-pss-cert.pem"), + "PSS.PrivateKey" => test_pem("server-pss-key.pem"), + "Certificate" => test_pem("servercert.pem"), + "PrivateKey" => test_pem("serverkey.pem"), + }; +} our @tests = ( { @@ -110,63 +132,6 @@ our @tests = ( "ExpectedResult" => "ServerFail" }, }, - { - name => "Ed25519 CipherString and Signature Algorithm Selection", - server => $server, - client => { - "CipherString" => "aECDSA", - "MaxProtocol" => "TLSv1.2", - "SignatureAlgorithms" => "ed25519:ECDSA+SHA256", - "RequestCAFile" => test_pem("root-cert.pem"), - }, - test => { - "ExpectedServerCertType" =>, "Ed25519", - "ExpectedServerSignType" =>, "Ed25519", - # Note: certificate_authorities not sent for TLS < 1.3 - "ExpectedServerCANames" =>, "empty", - "ExpectedResult" => "Success" - }, - }, - { - name => "Ed448 CipherString and Signature Algorithm Selection", - server => $server, - client => { - "CipherString" => "aECDSA", - "MaxProtocol" => "TLSv1.2", - "SignatureAlgorithms" => "ed448:ECDSA+SHA256", - "RequestCAFile" => test_pem("root-ed448-cert.pem"), - "VerifyCAFile" => test_pem("root-ed448-cert.pem"), - }, - test => { - "ExpectedServerCertType" =>, "Ed448", - "ExpectedServerSignType" =>, "Ed448", - # Note: certificate_authorities not sent for TLS < 1.3 - "ExpectedServerCANames" =>, "empty", - "ExpectedResult" => "Success" - }, - }, - { - name => "ECDSA with brainpool", - server => { - "Certificate" => test_pem("server-ecdsa-brainpoolP256r1-cert.pem"), - "PrivateKey" => test_pem("server-ecdsa-brainpoolP256r1-key.pem"), - "Groups" => "brainpoolP256r1", - }, - client => { - #We don't restrict this to TLSv1.2, although use of brainpool - #should force this anyway so that this should succeed - "CipherString" => "aECDSA", - "RequestCAFile" => test_pem("root-cert.pem"), - "Groups" => "brainpoolP256r1", - }, - test => { - "ExpectedServerCertType" =>, "brainpoolP256r1", - "ExpectedServerSignType" =>, "EC", - # Note: certificate_authorities not sent for TLS < 1.3 - "ExpectedServerCANames" =>, "empty", - "ExpectedResult" => "Success" - }, - }, { name => "RSA CipherString Selection", server => $server, @@ -180,19 +145,6 @@ our @tests = ( "ExpectedResult" => "Success" }, }, - { - name => "RSA-PSS Certificate CipherString Selection", - server => $server_pss, - client => { - "CipherString" => "aRSA", - "MaxProtocol" => "TLSv1.2", - }, - test => { - "ExpectedServerCertType" =>, "RSA-PSS", - "ExpectedServerSignType" =>, "RSA-PSS", - "ExpectedResult" => "Success" - }, - }, { name => "P-256 CipherString and Signature Algorithm Selection", server => $server, @@ -208,41 +160,6 @@ our @tests = ( "ExpectedResult" => "Success" }, }, - { - name => "Ed25519 CipherString and Curves Selection", - server => $server, - client => { - "CipherString" => "aECDSA", - "MaxProtocol" => "TLSv1.2", - "SignatureAlgorithms" => "ECDSA+SHA256:ed25519", - # Excluding P-256 from the supported curves list means server - # certificate should be Ed25519 and not P-256 - "Curves" => "X25519" - }, - test => { - "ExpectedServerCertType" =>, "Ed25519", - "ExpectedServerSignType" =>, "Ed25519", - "ExpectedResult" => "Success" - }, - }, - { - name => "Ed448 CipherString and Curves Selection", - server => $server, - client => { - "CipherString" => "aECDSA", - "MaxProtocol" => "TLSv1.2", - "SignatureAlgorithms" => "ECDSA+SHA256:ed448", - "VerifyCAFile" => test_pem("root-ed448-cert.pem"), - # Excluding P-256 from the supported curves list means server - # certificate should be Ed25519 and not P-256 - "Curves" => "X448" - }, - test => { - "ExpectedServerCertType" =>, "Ed448", - "ExpectedServerSignType" =>, "Ed448", - "ExpectedResult" => "Success" - }, - }, { name => "ECDSA CipherString Selection, no ECDSA certificate", server => { @@ -350,6 +267,204 @@ our @tests = ( "ExpectedResult" => "Success" }, }, + { + name => "RSA key exchange with all RSA certificate types", + server => $server_rsa_all, + client => { + "CipherString" => "kRSA", + "MaxProtocol" => "TLSv1.2", + }, + test => { + "ExpectedServerCertType" =>, "RSA", + "ExpectedResult" => "Success" + }, + }, + { + name => "Suite B P-256 Hash Algorithm Selection", + server => { + "ECDSA.Certificate" => test_pem("p256-server-cert.pem"), + "ECDSA.PrivateKey" => test_pem("p256-server-key.pem"), + "MaxProtocol" => "TLSv1.2", + "CipherString" => "SUITEB128" + }, + client => { + "VerifyCAFile" => test_pem("p384-root.pem"), + "SignatureAlgorithms" => "ECDSA+SHA384:ECDSA+SHA256" + }, + test => { + "ExpectedServerCertType" => "P-256", + "ExpectedServerSignHash" => "SHA256", + "ExpectedServerSignType" => "EC", + "ExpectedResult" => "Success" + }, + }, + { + name => "Suite B P-384 Hash Algorithm Selection", + server => { + "ECDSA.Certificate" => test_pem("p384-server-cert.pem"), + "ECDSA.PrivateKey" => test_pem("p384-server-key.pem"), + "MaxProtocol" => "TLSv1.2", + "CipherString" => "SUITEB128" + }, + client => { + "VerifyCAFile" => test_pem("p384-root.pem"), + "SignatureAlgorithms" => "ECDSA+SHA256:ECDSA+SHA384" + }, + test => { + "ExpectedServerCertType" => "P-384", + "ExpectedServerSignHash" => "SHA384", + "ExpectedServerSignType" => "EC", + "ExpectedResult" => "Success" + }, + }, +); + +my @tests_non_fips = ( + # TODO(3.0) No Ed25519/Ed448 in FIPS mode at the moment + { + name => "Ed25519 CipherString and Signature Algorithm Selection", + server => $server, + client => { + "CipherString" => "aECDSA", + "MaxProtocol" => "TLSv1.2", + "SignatureAlgorithms" => "ed25519:ECDSA+SHA256", + "RequestCAFile" => test_pem("root-cert.pem"), + }, + test => { + "ExpectedServerCertType" =>, "Ed25519", + "ExpectedServerSignType" =>, "Ed25519", + # Note: certificate_authorities not sent for TLS < 1.3 + "ExpectedServerCANames" =>, "empty", + "ExpectedResult" => "Success" + }, + }, + { + name => "Ed448 CipherString and Signature Algorithm Selection", + server => $server, + client => { + "CipherString" => "aECDSA", + "MaxProtocol" => "TLSv1.2", + "SignatureAlgorithms" => "ed448:ECDSA+SHA256", + "RequestCAFile" => test_pem("root-ed448-cert.pem"), + "VerifyCAFile" => test_pem("root-ed448-cert.pem"), + }, + test => { + "ExpectedServerCertType" =>, "Ed448", + "ExpectedServerSignType" =>, "Ed448", + # Note: certificate_authorities not sent for TLS < 1.3 + "ExpectedServerCANames" =>, "empty", + "ExpectedResult" => "Success" + }, + }, + { + name => "ECDSA with brainpool", + server => { + "Certificate" => test_pem("server-ecdsa-brainpoolP256r1-cert.pem"), + "PrivateKey" => test_pem("server-ecdsa-brainpoolP256r1-key.pem"), + "Groups" => "brainpoolP256r1", + }, + client => { + #We don't restrict this to TLSv1.2, although use of brainpool + #should force this anyway so that this should succeed + "CipherString" => "aECDSA", + "RequestCAFile" => test_pem("root-cert.pem"), + "Groups" => "brainpoolP256r1", + }, + test => { + "ExpectedServerCertType" =>, "brainpoolP256r1", + "ExpectedServerSignType" =>, "EC", + # Note: certificate_authorities not sent for TLS < 1.3 + "ExpectedServerCANames" =>, "empty", + "ExpectedResult" => "Success" + }, + }, + { + name => "Ed25519 CipherString and Curves Selection", + server => $server, + client => { + "CipherString" => "aECDSA", + "MaxProtocol" => "TLSv1.2", + "SignatureAlgorithms" => "ECDSA+SHA256:ed25519", + # Excluding P-256 from the supported curves list means server + # certificate should be Ed25519 and not P-256 + "Curves" => "X25519" + }, + test => { + "ExpectedServerCertType" =>, "Ed25519", + "ExpectedServerSignType" =>, "Ed25519", + "ExpectedResult" => "Success" + }, + }, + { + name => "Ed448 CipherString and Curves Selection", + server => $server, + client => { + "CipherString" => "aECDSA", + "MaxProtocol" => "TLSv1.2", + "SignatureAlgorithms" => "ECDSA+SHA256:ed448", + "VerifyCAFile" => test_pem("root-ed448-cert.pem"), + # Excluding P-256 from the supported curves list means server + # certificate should be Ed25519 and not P-256 + "Curves" => "X448" + }, + test => { + "ExpectedServerCertType" =>, "Ed448", + "ExpectedServerSignType" =>, "Ed448", + "ExpectedResult" => "Success" + }, + }, + { + name => "TLS 1.2 Ed25519 Client Auth", + server => { + "VerifyCAFile" => test_pem("root-cert.pem"), + "VerifyMode" => "Require" + }, + client => { + "Ed25519.Certificate" => test_pem("client-ed25519-cert.pem"), + "Ed25519.PrivateKey" => test_pem("client-ed25519-key.pem"), + "MinProtocol" => "TLSv1.2", + "MaxProtocol" => "TLSv1.2" + }, + test => { + "ExpectedClientCertType" => "Ed25519", + "ExpectedClientSignType" => "Ed25519", + "ExpectedResult" => "Success" + }, + }, + { + name => "TLS 1.2 Ed448 Client Auth", + server => { + "VerifyCAFile" => test_pem("root-cert.pem"), + "VerifyMode" => "Require" + }, + client => { + "Ed448.Certificate" => test_pem("client-ed448-cert.pem"), + "Ed448.PrivateKey" => test_pem("client-ed448-key.pem"), + "MinProtocol" => "TLSv1.2", + "MaxProtocol" => "TLSv1.2" + }, + test => { + "ExpectedClientCertType" => "Ed448", + "ExpectedClientSignType" => "Ed448", + "ExpectedResult" => "Success" + }, + }, +); + +my @tests_pss = ( + { + name => "RSA-PSS Certificate CipherString Selection", + server => $server_pss, + client => { + "CipherString" => "aRSA", + "MaxProtocol" => "TLSv1.2", + }, + test => { + "ExpectedServerCertType" =>, "RSA-PSS", + "ExpectedServerSignType" =>, "RSA-PSS", + "ExpectedResult" => "Success" + }, + }, { name => "RSA-PSS Certificate Legacy Signature Algorithm Selection", server => $server_pss, @@ -457,18 +572,6 @@ our @tests = ( "ExpectedResult" => "ServerFail" }, }, - { - name => "RSA key exchange with all RSA certificate types", - server => $server_rsa_all, - client => { - "CipherString" => "kRSA", - "MaxProtocol" => "TLSv1.2", - }, - test => { - "ExpectedServerCertType" =>, "RSA", - "ExpectedResult" => "Success" - }, - }, { name => "RSA key exchange with only RSA-PSS certificate", server => $server_pss_only, @@ -480,80 +583,6 @@ our @tests = ( "ExpectedResult" => "ServerFail" }, }, - { - name => "Suite B P-256 Hash Algorithm Selection", - server => { - "ECDSA.Certificate" => test_pem("p256-server-cert.pem"), - "ECDSA.PrivateKey" => test_pem("p256-server-key.pem"), - "MaxProtocol" => "TLSv1.2", - "CipherString" => "SUITEB128" - }, - client => { - "VerifyCAFile" => test_pem("p384-root.pem"), - "SignatureAlgorithms" => "ECDSA+SHA384:ECDSA+SHA256" - }, - test => { - "ExpectedServerCertType" => "P-256", - "ExpectedServerSignHash" => "SHA256", - "ExpectedServerSignType" => "EC", - "ExpectedResult" => "Success" - }, - }, - { - name => "Suite B P-384 Hash Algorithm Selection", - server => { - "ECDSA.Certificate" => test_pem("p384-server-cert.pem"), - "ECDSA.PrivateKey" => test_pem("p384-server-key.pem"), - "MaxProtocol" => "TLSv1.2", - "CipherString" => "SUITEB128" - }, - client => { - "VerifyCAFile" => test_pem("p384-root.pem"), - "SignatureAlgorithms" => "ECDSA+SHA256:ECDSA+SHA384" - }, - test => { - "ExpectedServerCertType" => "P-384", - "ExpectedServerSignHash" => "SHA384", - "ExpectedServerSignType" => "EC", - "ExpectedResult" => "Success" - }, - }, - { - name => "TLS 1.2 Ed25519 Client Auth", - server => { - "VerifyCAFile" => test_pem("root-cert.pem"), - "VerifyMode" => "Require" - }, - client => { - "Ed25519.Certificate" => test_pem("client-ed25519-cert.pem"), - "Ed25519.PrivateKey" => test_pem("client-ed25519-key.pem"), - "MinProtocol" => "TLSv1.2", - "MaxProtocol" => "TLSv1.2" - }, - test => { - "ExpectedClientCertType" => "Ed25519", - "ExpectedClientSignType" => "Ed25519", - "ExpectedResult" => "Success" - }, - }, - { - name => "TLS 1.2 Ed448 Client Auth", - server => { - "VerifyCAFile" => test_pem("root-cert.pem"), - "VerifyMode" => "Require" - }, - client => { - "Ed448.Certificate" => test_pem("client-ed448-cert.pem"), - "Ed448.PrivateKey" => test_pem("client-ed448-key.pem"), - "MinProtocol" => "TLSv1.2", - "MaxProtocol" => "TLSv1.2" - }, - test => { - "ExpectedClientCertType" => "Ed448", - "ExpectedClientSignType" => "Ed448", - "ExpectedResult" => "Success" - }, - }, ); my @tests_tls_1_1 = ( @@ -569,31 +598,34 @@ my @tests_tls_1_1 = ( }, ); -push @tests, @tests_tls_1_1 unless disabled("tls1_1"); +push @tests, @tests_non_fips unless $fips_mode; -my $server_tls_1_3 = { - "ECDSA.Certificate" => test_pem("server-ecdsa-cert.pem"), - "ECDSA.PrivateKey" => test_pem("server-ecdsa-key.pem"), - "Ed25519.Certificate" => test_pem("server-ed25519-cert.pem"), - "Ed25519.PrivateKey" => test_pem("server-ed25519-key.pem"), - "Ed448.Certificate" => test_pem("server-ed448-cert.pem"), - "Ed448.PrivateKey" => test_pem("server-ed448-key.pem"), - "MinProtocol" => "TLSv1.3", - "MaxProtocol" => "TLSv1.3" -}; +#TODO(3.0): Re-enable these PSS tests in a $no_deflt_libctx build once we have +# support for it +push @tests, @tests_pss unless $no_deflt_libctx; +push @tests, @tests_tls_1_1 unless disabled("tls1_1") || $no_deflt_libctx; -my $server_tls_1_3_pss = { - "PSS.Certificate" => test_pem("server-pss-cert.pem"), - "PSS.PrivateKey" => test_pem("server-pss-key.pem"), - "ECDSA.Certificate" => test_pem("server-ecdsa-cert.pem"), - "ECDSA.PrivateKey" => test_pem("server-ecdsa-key.pem"), - "Ed25519.Certificate" => test_pem("server-ed25519-cert.pem"), - "Ed25519.PrivateKey" => test_pem("server-ed25519-key.pem"), - "Ed448.Certificate" => test_pem("server-ed448-cert.pem"), - "Ed448.PrivateKey" => test_pem("server-ed449-key.pem"), - "MinProtocol" => "TLSv1.3", - "MaxProtocol" => "TLSv1.3" -}; +my $server_tls_1_3; + +if ($fips_mode) { + $server_tls_1_3 = { + "ECDSA.Certificate" => test_pem("server-ecdsa-cert.pem"), + "ECDSA.PrivateKey" => test_pem("server-ecdsa-key.pem"), + "MinProtocol" => "TLSv1.3", + "MaxProtocol" => "TLSv1.3" + }; +} else { + $server_tls_1_3 = { + "ECDSA.Certificate" => test_pem("server-ecdsa-cert.pem"), + "ECDSA.PrivateKey" => test_pem("server-ecdsa-key.pem"), + "Ed25519.Certificate" => test_pem("server-ed25519-cert.pem"), + "Ed25519.PrivateKey" => test_pem("server-ed25519-key.pem"), + "Ed448.Certificate" => test_pem("server-ed448-cert.pem"), + "Ed448.PrivateKey" => test_pem("server-ed448-key.pem"), + "MinProtocol" => "TLSv1.3", + "MaxProtocol" => "TLSv1.3" + }; +} my $client_tls_1_3 = { "RSA.Certificate" => test_pem("ee-client-chain.pem"), @@ -712,6 +744,57 @@ my @tests_tls_1_3 = ( "ExpectedResult" => "Success" }, }, + { + name => "TLS 1.3 RSA Client Auth Signature Algorithm Selection", + server => { + "ClientSignatureAlgorithms" => "PSS+SHA256", + "VerifyCAFile" => test_pem("root-cert.pem"), + "VerifyMode" => "Require" + }, + client => $client_tls_1_3, + test => { + "ExpectedClientCertType" => "RSA", + "ExpectedClientSignHash" => "SHA256", + "ExpectedClientSignType" => "RSA-PSS", + "ExpectedClientCANames" => "empty", + "ExpectedResult" => "Success" + }, + }, + { + name => "TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names", + server => { + "ClientSignatureAlgorithms" => "PSS+SHA256", + "VerifyCAFile" => test_pem("root-cert.pem"), + "RequestCAFile" => test_pem("root-cert.pem"), + "VerifyMode" => "Require" + }, + client => $client_tls_1_3, + test => { + "ExpectedClientCertType" => "RSA", + "ExpectedClientSignHash" => "SHA256", + "ExpectedClientSignType" => "RSA-PSS", + "ExpectedClientCANames" => test_pem("root-cert.pem"), + "ExpectedResult" => "Success" + }, + }, + { + name => "TLS 1.3 ECDSA Client Auth Signature Algorithm Selection", + server => { + "ClientSignatureAlgorithms" => "ECDSA+SHA256", + "VerifyCAFile" => test_pem("root-cert.pem"), + "VerifyMode" => "Require" + }, + client => $client_tls_1_3, + test => { + "ExpectedClientCertType" => "P-256", + "ExpectedClientSignHash" => "SHA256", + "ExpectedClientSignType" => "EC", + "ExpectedResult" => "Success" + }, + }, +); + +my @tests_tls_1_3_non_fips = ( { name => "TLS 1.3 Ed25519 Signature Algorithm Selection", server => $server_tls_1_3, @@ -769,54 +852,6 @@ my @tests_tls_1_3 = ( "ExpectedResult" => "Success" }, }, - { - name => "TLS 1.3 RSA Client Auth Signature Algorithm Selection", - server => { - "ClientSignatureAlgorithms" => "PSS+SHA256", - "VerifyCAFile" => test_pem("root-cert.pem"), - "VerifyMode" => "Require" - }, - client => $client_tls_1_3, - test => { - "ExpectedClientCertType" => "RSA", - "ExpectedClientSignHash" => "SHA256", - "ExpectedClientSignType" => "RSA-PSS", - "ExpectedClientCANames" => "empty", - "ExpectedResult" => "Success" - }, - }, - { - name => "TLS 1.3 RSA Client Auth Signature Algorithm Selection non-empty CA Names", - server => { - "ClientSignatureAlgorithms" => "PSS+SHA256", - "VerifyCAFile" => test_pem("root-cert.pem"), - "RequestCAFile" => test_pem("root-cert.pem"), - "VerifyMode" => "Require" - }, - client => $client_tls_1_3, - test => { - "ExpectedClientCertType" => "RSA", - "ExpectedClientSignHash" => "SHA256", - "ExpectedClientSignType" => "RSA-PSS", - "ExpectedClientCANames" => test_pem("root-cert.pem"), - "ExpectedResult" => "Success" - }, - }, - { - name => "TLS 1.3 ECDSA Client Auth Signature Algorithm Selection", - server => { - "ClientSignatureAlgorithms" => "ECDSA+SHA256", - "VerifyCAFile" => test_pem("root-cert.pem"), - "VerifyMode" => "Require" - }, - client => $client_tls_1_3, - test => { - "ExpectedClientCertType" => "P-256", - "ExpectedClientSignHash" => "SHA256", - "ExpectedClientSignType" => "EC", - "ExpectedResult" => "Success" - }, - }, { name => "TLS 1.3 Ed25519 Client Auth", server => { @@ -873,6 +908,7 @@ my @tests_tls_1_3 = ( ); push @tests, @tests_tls_1_3 unless disabled("tls1_3"); +push @tests, @tests_tls_1_3_non_fips unless disabled("tls1_3") || $fips_mode; my @tests_dsa_tls_1_2 = ( { @@ -928,6 +964,7 @@ my @tests_dsa_tls_1_3 = ( ); if (!disabled("dsa")) { - push @tests, @tests_dsa_tls_1_2 unless disabled("dh"); + #TODO(3.0): Temporary workaround for DH issues in FIPS. Needs investigation + push @tests, @tests_dsa_tls_1_2 unless disabled("dh") || $fips_mode; push @tests, @tests_dsa_tls_1_3 unless disabled("tls1_3"); } diff --git a/test/ssl-tests/21-key-update.cnf.in b/test/ssl-tests/21-key-update.cnf.in index f864d9c8..227c6d93 100644 --- a/test/ssl-tests/21-key-update.cnf.in +++ b/test/ssl-tests/21-key-update.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/test/ssl-tests/22-compression.cnf.in b/test/ssl-tests/22-compression.cnf.in index bc7b293b..69a2e7f8 100644 --- a/test/ssl-tests/22-compression.cnf.in +++ b/test/ssl-tests/22-compression.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/test/ssl-tests/23-srp.cnf.in b/test/ssl-tests/23-srp.cnf.in index 4abfb42d..606cb79e 100644 --- a/test/ssl-tests/23-srp.cnf.in +++ b/test/ssl-tests/23-srp.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/test/ssl-tests/24-padding.cnf.in b/test/ssl-tests/24-padding.cnf.in index 5d76b0b0..785ff3e5 100644 --- a/test/ssl-tests/24-padding.cnf.in +++ b/test/ssl-tests/24-padding.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 diff --git a/test/ssl-tests/25-cipher.cnf.in b/test/ssl-tests/25-cipher.cnf.in index c7bfc61c..f1388e8f 100644 --- a/test/ssl-tests/25-cipher.cnf.in +++ b/test/ssl-tests/25-cipher.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2017-2020 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 @@ -15,6 +15,8 @@ use warnings; package ssltests; use OpenSSL::Test::Utils; +our $fips_mode; + our @tests = ( { name => "cipher-server-1", @@ -153,4 +155,5 @@ my @tests_poly1305 = ( }, ); -push @tests, @tests_poly1305 unless disabled("poly1305") || disabled("chacha"); +push @tests, @tests_poly1305 + unless disabled("poly1305") || disabled("chacha") || $fips_mode; diff --git a/test/ssl-tests/26-tls13_client_auth.cnf.in b/test/ssl-tests/26-tls13_client_auth.cnf.in index 82d3ac2d..c1e70b7f 100644 --- a/test/ssl-tests/26-tls13_client_auth.cnf.in +++ b/test/ssl-tests/26-tls13_client_auth.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2018-2020 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 diff --git a/test/ssl-tests/27-ticket-appdata.cnf.in b/test/ssl-tests/27-ticket-appdata.cnf.in index c5158592..719c98a1 100644 --- a/test/ssl-tests/27-ticket-appdata.cnf.in +++ b/test/ssl-tests/27-ticket-appdata.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2018-2020 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 diff --git a/test/ssl-tests/28-seclevel.cnf.in b/test/ssl-tests/28-seclevel.cnf.in index aba50079..ebb082c0 100644 --- a/test/ssl-tests/28-seclevel.cnf.in +++ b/test/ssl-tests/28-seclevel.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 @@ -12,6 +12,8 @@ package ssltests; use OpenSSL::Test::Utils; +our $fips_mode; + our @tests = ( { name => "SECLEVEL 3 with default key", @@ -79,5 +81,6 @@ our @tests_tls1_2 = ( }, ); -push @tests, @tests_ec unless disabled("ec"); -push @tests, @tests_tls1_2 unless disabled("tls1_2") || disabled("ec"); +#TODO(3.0): No Ed448 or X25519 in FIPS mode at the moment +push @tests, @tests_ec unless disabled("ec") || $fips_mode; +push @tests, @tests_tls1_2 unless disabled("tls1_2") || disabled("ec")|| $fips_mode; diff --git a/test/ssl-tests/29-dtls-sctp-label-bug.cnf.in b/test/ssl-tests/29-dtls-sctp-label-bug.cnf.in index ab04d052..f14e6813 100644 --- a/test/ssl-tests/29-dtls-sctp-label-bug.cnf.in +++ b/test/ssl-tests/29-dtls-sctp-label-bug.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2019-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2019-2020 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 diff --git a/test/ssl-tests/30-extended-master-secret.cnf.in b/test/ssl-tests/30-extended-master-secret.cnf.in index 2386c98a..84d3e3cf 100644 --- a/test/ssl-tests/30-extended-master-secret.cnf.in +++ b/test/ssl-tests/30-extended-master-secret.cnf.in @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy diff --git a/test/ssl-tests/protocol_version.pm b/test/ssl-tests/protocol_version.pm index 6923e212..5244b276 100644 --- a/test/ssl-tests/protocol_version.pm +++ b/test/ssl-tests/protocol_version.pm @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 @@ -21,55 +21,82 @@ use OpenSSL::Test::Utils qw/anydisabled alldisabled disabled/; setup("no_test_here"); my @tls_protocols = ("SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3"); +my @tls_protocols_fips = ("TLSv1.2", "TLSv1.3"); # undef stands for "no limit". my @min_tls_protocols = (undef, "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3"); +my @min_tls_protocols_fips = (undef, "TLSv1.2", "TLSv1.3"); my @max_tls_protocols = ("SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3", undef); +my @max_tls_protocols_fips = ("TLSv1.2", "TLSv1.3", undef); my @is_tls_disabled = anydisabled("ssl3", "tls1", "tls1_1", "tls1_2", "tls1_3"); +my @is_tls_disabled_fips = anydisabled("tls1_2", "tls1_3"); my $min_tls_enabled; my $max_tls_enabled; +my $min_tls_enabled_fips; my $max_tls_enabled_fips; # Protocol configuration works in cascades, i.e., # $no_tls1_1 disables TLSv1.1 and below. # # $min_enabled and $max_enabled will be correct if there is at least one # protocol enabled. -foreach my $i (0..$#tls_protocols) { - if (!$is_tls_disabled[$i]) { - $min_tls_enabled = $i; - last; + +sub min_prot_enabled { + my $protref = shift; + my $disabledref = shift; + my @protocols = @{$protref}; + my @is_disabled = @{$disabledref}; + my $min_enabled; + + foreach my $i (0..$#protocols) { + if (!$is_disabled[$i]) { + $min_enabled = $i; + last; + } } + return $min_enabled; } -foreach my $i (0..$#tls_protocols) { - if (!$is_tls_disabled[$i]) { - $max_tls_enabled = $i; +sub max_prot_enabled { + my $protref = shift; + my $disabledref = shift; + my @protocols = @{$protref}; + my @is_disabled = @{$disabledref}; + my $max_enabled; + + foreach my $i (0..$#protocols) { + if (!$is_disabled[$i]) { + $max_enabled = $i; + } } + return $max_enabled; } +$min_tls_enabled = min_prot_enabled(\@tls_protocols, \@is_tls_disabled); +$max_tls_enabled = max_prot_enabled(\@tls_protocols, \@is_tls_disabled); +$min_tls_enabled_fips = min_prot_enabled(\@tls_protocols_fips, \@is_tls_disabled_fips); +$max_tls_enabled_fips = max_prot_enabled(\@tls_protocols_fips, \@is_tls_disabled_fips); + + my @dtls_protocols = ("DTLSv1", "DTLSv1.2"); +my @dtls_protocols_fips = ("DTLSv1.2"); # undef stands for "no limit". my @min_dtls_protocols = (undef, "DTLSv1", "DTLSv1.2"); +my @min_dtls_protocols_fips = (undef, "DTLSv1.2"); my @max_dtls_protocols = ("DTLSv1", "DTLSv1.2", undef); +my @max_dtls_protocols_fips = ("DTLSv1.2", undef); my @is_dtls_disabled = anydisabled("dtls1", "dtls1_2"); +my @is_dtls_disabled_fips = anydisabled("dtls1_2"); my $min_dtls_enabled; my $max_dtls_enabled; +my $min_dtls_enabled_fips; my $max_dtls_enabled_fips; # $min_enabled and $max_enabled will be correct if there is at least one # protocol enabled. -foreach my $i (0..$#dtls_protocols) { - if (!$is_dtls_disabled[$i]) { - $min_dtls_enabled = $i; - last; - } -} - -foreach my $i (0..$#dtls_protocols) { - if (!$is_dtls_disabled[$i]) { - $max_dtls_enabled = $i; - } -} +$min_dtls_enabled = min_prot_enabled(\@dtls_protocols, \@is_dtls_disabled); +$max_dtls_enabled = max_prot_enabled(\@dtls_protocols, \@is_dtls_disabled); +$min_dtls_enabled_fips = min_prot_enabled(\@dtls_protocols_fips, \@is_dtls_disabled_fips); +$max_dtls_enabled_fips = max_prot_enabled(\@dtls_protocols_fips, \@is_dtls_disabled_fips); sub no_tests { my ($dtls) = @_; @@ -78,17 +105,31 @@ sub no_tests { } sub generate_version_tests { - my ($method) = @_; + my $method = shift; + my $fips = shift; my $dtls = $method eq "DTLS"; # Don't write the redundant "Method = TLS" into the configuration. undef $method if !$dtls; - my @protocols = $dtls ? @dtls_protocols : @tls_protocols; - my @min_protocols = $dtls ? @min_dtls_protocols : @min_tls_protocols; - my @max_protocols = $dtls ? @max_dtls_protocols : @max_tls_protocols; - my $min_enabled = $dtls ? $min_dtls_enabled : $min_tls_enabled; - my $max_enabled = $dtls ? $max_dtls_enabled : $max_tls_enabled; + my @protocols; + my @min_protocols; + my @max_protocols; + my $min_enabled; + my $max_enabled; + if ($fips) { + @protocols = $dtls ? @dtls_protocols_fips : @tls_protocols_fips; + @min_protocols = $dtls ? @min_dtls_protocols_fips : @min_tls_protocols_fips; + @max_protocols = $dtls ? @max_dtls_protocols_fips : @max_tls_protocols_fips; + $min_enabled = $dtls ? $min_dtls_enabled_fips : $min_tls_enabled_fips; + $max_enabled = $dtls ? $max_dtls_enabled_fips : $max_tls_enabled_fips; + } else { + @protocols = $dtls ? @dtls_protocols : @tls_protocols; + @min_protocols = $dtls ? @min_dtls_protocols : @min_tls_protocols; + @max_protocols = $dtls ? @max_dtls_protocols : @max_tls_protocols; + $min_enabled = $dtls ? $min_dtls_enabled : $min_tls_enabled; + $max_enabled = $dtls ? $max_dtls_enabled : $max_tls_enabled; + } if (no_tests($dtls)) { return; @@ -166,15 +207,26 @@ sub generate_version_tests { } sub generate_resumption_tests { - my ($method) = @_; + my $method = shift; + my $fips = shift; my $dtls = $method eq "DTLS"; # Don't write the redundant "Method = TLS" into the configuration. undef $method if !$dtls; - my @protocols = $dtls ? @dtls_protocols : @tls_protocols; - my $min_enabled = $dtls ? $min_dtls_enabled : $min_tls_enabled; - my $max_enabled = $dtls ? $max_dtls_enabled : $max_tls_enabled; + my @protocols; + my $min_enabled; + my $max_enabled; + + if ($fips) { + @protocols = $dtls ? @dtls_protocols_fips : @tls_protocols_fips; + $min_enabled = $dtls ? $min_dtls_enabled_fips : $min_tls_enabled_fips; + $max_enabled = $dtls ? $max_dtls_enabled_fips : $max_tls_enabled_fips; + } else { + @protocols = $dtls ? @dtls_protocols : @tls_protocols; + $min_enabled = $dtls ? $min_dtls_enabled : $min_tls_enabled; + $max_enabled = $dtls ? $max_dtls_enabled : $max_tls_enabled; + } if (no_tests($dtls)) { return; diff --git a/test/ssl-tests/ssltests_base.pm b/test/ssl-tests/ssltests_base.pm index c6004fa7..995ec98b 100644 --- a/test/ssl-tests/ssltests_base.pm +++ b/test/ssl-tests/ssltests_base.pm @@ -1,5 +1,5 @@ # -*- mode: perl; -*- -# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 @@ -17,6 +17,9 @@ sub test_pem return "\${ENV::TEST_CERTS_DIR}" . $dir_sep . $file, } +our $fips_mode = 0; +our $no_deflt_libctx = 0; + our %base_server = ( "Certificate" => test_pem("servercert.pem"), "PrivateKey" => test_pem("serverkey.pem"), diff --git a/test/ssl_test.c b/test/ssl_test.c index e6ce9a67..731f5697 100644 --- a/test/ssl_test.c +++ b/test/ssl_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 @@ -13,12 +13,17 @@ #include #include #include +#include #include "handshake_helper.h" #include "ssl_test_ctx.h" #include "testutil.h" +DEFINE_STACK_OF(X509_NAME) + static CONF *conf = NULL; +static OSSL_PROVIDER *defctxnull = NULL, *thisprov = NULL; +static OPENSSL_CTX *libctx = NULL; /* Currently the section names are of the form test-, e.g. test-15. */ #define MAX_TESTCASE_NAME_LENGTH 100 @@ -405,22 +410,26 @@ static int test_handshake(int idx) #ifndef OPENSSL_NO_DTLS if (test_ctx->method == SSL_TEST_METHOD_DTLS) { - server_ctx = SSL_CTX_new(DTLS_server_method()); + server_ctx = SSL_CTX_new_with_libctx(libctx, NULL, DTLS_server_method()); if (!TEST_true(SSL_CTX_set_max_proto_version(server_ctx, 0))) goto err; if (test_ctx->extra.server.servername_callback != SSL_TEST_SERVERNAME_CB_NONE) { - if (!TEST_ptr(server2_ctx = SSL_CTX_new(DTLS_server_method()))) + if (!TEST_ptr(server2_ctx = + SSL_CTX_new_with_libctx(libctx, NULL, + DTLS_server_method()))) goto err; } - client_ctx = SSL_CTX_new(DTLS_client_method()); + client_ctx = SSL_CTX_new_with_libctx(libctx, NULL, DTLS_client_method()); if (!TEST_true(SSL_CTX_set_max_proto_version(client_ctx, 0))) goto err; if (test_ctx->handshake_mode == SSL_TEST_HANDSHAKE_RESUME) { - resume_server_ctx = SSL_CTX_new(DTLS_server_method()); + resume_server_ctx = SSL_CTX_new_with_libctx(libctx, NULL, + DTLS_server_method()); if (!TEST_true(SSL_CTX_set_max_proto_version(resume_server_ctx, 0))) goto err; - resume_client_ctx = SSL_CTX_new(DTLS_client_method()); + resume_client_ctx = SSL_CTX_new_with_libctx(libctx, NULL, + DTLS_client_method()); if (!TEST_true(SSL_CTX_set_max_proto_version(resume_client_ctx, 0))) goto err; if (!TEST_ptr(resume_server_ctx) @@ -430,26 +439,30 @@ static int test_handshake(int idx) } #endif if (test_ctx->method == SSL_TEST_METHOD_TLS) { - server_ctx = SSL_CTX_new(TLS_server_method()); + server_ctx = SSL_CTX_new_with_libctx(libctx, NULL, TLS_server_method()); if (!TEST_true(SSL_CTX_set_max_proto_version(server_ctx, 0))) goto err; /* SNI on resumption isn't supported/tested yet. */ if (test_ctx->extra.server.servername_callback != SSL_TEST_SERVERNAME_CB_NONE) { - if (!TEST_ptr(server2_ctx = SSL_CTX_new(TLS_server_method()))) + if (!TEST_ptr(server2_ctx = + SSL_CTX_new_with_libctx(libctx, NULL, + TLS_server_method()))) goto err; if (!TEST_true(SSL_CTX_set_max_proto_version(server2_ctx, 0))) goto err; } - client_ctx = SSL_CTX_new(TLS_client_method()); + client_ctx = SSL_CTX_new_with_libctx(libctx, NULL, TLS_client_method()); if (!TEST_true(SSL_CTX_set_max_proto_version(client_ctx, 0))) goto err; if (test_ctx->handshake_mode == SSL_TEST_HANDSHAKE_RESUME) { - resume_server_ctx = SSL_CTX_new(TLS_server_method()); + resume_server_ctx = SSL_CTX_new_with_libctx(libctx, NULL, + TLS_server_method()); if (!TEST_true(SSL_CTX_set_max_proto_version(resume_server_ctx, 0))) goto err; - resume_client_ctx = SSL_CTX_new(TLS_client_method()); + resume_client_ctx = SSL_CTX_new_with_libctx(libctx, NULL, + TLS_client_method()); if (!TEST_true(SSL_CTX_set_max_proto_version(resume_client_ctx, 0))) goto err; if (!TEST_ptr(resume_server_ctx) @@ -500,11 +513,12 @@ err: return ret; } -OPT_TEST_DECLARE_USAGE("conf_file\n") +OPT_TEST_DECLARE_USAGE("conf_file modulename [fips_conf_file]\n") int setup_tests(void) { long num_tests; + const char *modulename; if (!test_skip_common_options()) { TEST_error("Error parsing test options\n"); @@ -518,6 +532,26 @@ int setup_tests(void) &num_tests), 0)) return 0; + if (!TEST_ptr(modulename = test_get_argument(1))) + return 0; + + if (strcmp(modulename, "none") != 0) { + const char *configfile = test_get_argument(2); + + defctxnull = OSSL_PROVIDER_load(NULL, "null"); + libctx = OPENSSL_CTX_new(); + if (!TEST_ptr(libctx)) + return 0; + + if (configfile != NULL + && !TEST_true(OPENSSL_CTX_load_config(libctx, configfile))) + return 0; + + thisprov = OSSL_PROVIDER_load(libctx, modulename); + if (!TEST_ptr(thisprov)) + return 0; + } + ADD_ALL_TESTS(test_handshake, (int)num_tests); return 1; } @@ -525,4 +559,7 @@ int setup_tests(void) void cleanup_tests(void) { NCONF_free(conf); + OSSL_PROVIDER_unload(defctxnull); + OSSL_PROVIDER_unload(thisprov); + OPENSSL_CTX_free(libctx); } diff --git a/test/ssl_test_ctx.c b/test/ssl_test_ctx.c index 6a3b66bc..f591adf9 100644 --- a/test/ssl_test_ctx.c +++ b/test/ssl_test_ctx.c @@ -20,6 +20,9 @@ # define strcasecmp _stricmp #endif +DEFINE_STACK_OF(CONF_VALUE) +DEFINE_STACK_OF(X509_NAME) + static const int default_app_data_size = 256; /* Default set to be as small as possible to exercise fragmentation. */ static const int default_max_fragment_size = 512; diff --git a/test/ssl_test_ctx_test.c b/test/ssl_test_ctx_test.c index 877c8607..c3591a02 100644 --- a/test/ssl_test_ctx_test.c +++ b/test/ssl_test_ctx_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/test/sslapitest.c b/test/sslapitest.c index 7956353f..f9349bc5 100644 --- a/test/sslapitest.c +++ b/test/sslapitest.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 @@ -28,6 +28,7 @@ #include #include #include +#include #include "ssltestlib.h" #include "testutil.h" @@ -36,6 +37,13 @@ #include "internal/ktls.h" #include "../ssl/ssl_local.h" +DEFINE_STACK_OF(OCSP_RESPID) +DEFINE_STACK_OF(X509) +DEFINE_STACK_OF(X509_NAME) + +static OPENSSL_CTX *libctx = NULL; +static OSSL_PROVIDER *defctxnull = NULL; + #ifndef OPENSSL_NO_TLS1_3 static SSL_SESSION *clientpsk = NULL; @@ -60,6 +68,8 @@ static char *privkey = NULL; static char *srpvfile = NULL; static char *tmpfilename = NULL; +static int is_fips = 0; + #define LOG_BUFFER_SIZE 2048 static char server_log_buffer[LOG_BUFFER_SIZE + 1] = {0}; static size_t server_log_buffer_index = 0; @@ -339,7 +349,7 @@ static int test_keylog(void) server_log_buffer_index = 0; error_writing_log = 0; - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), TLS_client_method(), TLS1_VERSION, 0, &sctx, &cctx, cert, privkey))) @@ -423,8 +433,8 @@ static int test_keylog_no_master_key(void) server_log_buffer_index = 0; error_writing_log = 0; - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), - TLS1_VERSION, 0, + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), + TLS_client_method(), TLS1_VERSION, 0, &sctx, &cctx, cert, privkey)) || !TEST_true(SSL_CTX_set_max_early_data(sctx, SSL3_RT_MAX_PLAIN_LENGTH))) @@ -569,8 +579,8 @@ static int test_client_hello_cb(void) SSL *clientssl = NULL, *serverssl = NULL; int testctr = 0, testresult = 0; - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), - TLS1_VERSION, 0, + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), + TLS_client_method(), TLS1_VERSION, 0, &sctx, &cctx, cert, privkey))) goto end; SSL_CTX_set_client_hello_cb(sctx, full_client_hello_callback, &testctr); @@ -611,7 +621,7 @@ static int test_no_ems(void) SSL *clientssl = NULL, *serverssl = NULL; int testresult = 0; - if (!create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), + if (!create_ssl_ctx_pair(libctx, TLS_server_method(), TLS_client_method(), TLS1_VERSION, TLS1_2_VERSION, &sctx, &cctx, cert, privkey)) { printf("Unable to create SSL_CTX pair\n"); @@ -671,7 +681,7 @@ static int test_ccs_change_cipher(void) * Create a conection so we can resume and potentially (but not) use * a different cipher in the second connection. */ - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), TLS_client_method(), TLS1_VERSION, TLS1_2_VERSION, &sctx, &cctx, cert, privkey)) @@ -783,8 +793,9 @@ static int execute_test_large_message(const SSL_METHOD *smeth, if (!TEST_ptr(chaincert)) goto end; - if (!TEST_true(create_ssl_ctx_pair(smeth, cmeth, min_version, max_version, - &sctx, &cctx, cert, privkey))) + if (!TEST_true(create_ssl_ctx_pair(libctx, smeth, cmeth, min_version, + max_version, &sctx, &cctx, cert, + privkey))) goto end; if (read_ahead) { @@ -967,7 +978,7 @@ static int execute_test_ktls(int cis_ktls_tx, int cis_ktls_rx, return 1; /* Create a session based on SHA-256 */ - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), TLS_client_method(), TLS1_2_VERSION, TLS1_2_VERSION, &sctx, &cctx, cert, privkey)) @@ -1081,7 +1092,7 @@ static int test_ktls_sendfile(void) } /* Create a session based on SHA-256 */ - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), TLS_client_method(), TLS1_2_VERSION, TLS1_2_VERSION, &sctx, &cctx, cert, privkey)) @@ -1278,7 +1289,7 @@ static int ocsp_server_cb(SSL *s, void *arg) return SSL_TLSEXT_ERR_ALERT_FATAL; id = sk_OCSP_RESPID_value(ids, 0); - if (id == NULL || !OCSP_RESPID_match_ex(id, ocspcert, NULL, NULL)) + if (id == NULL || !OCSP_RESPID_match_ex(id, ocspcert, libctx, NULL)) return SSL_TLSEXT_ERR_ALERT_FATAL; } else if (*argi != 1) { return SSL_TLSEXT_ERR_ALERT_FATAL; @@ -1318,7 +1329,7 @@ static int test_tlsext_status_type(void) OCSP_RESPID *id = NULL; BIO *certbio = NULL; - if (!create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), + if (!create_ssl_ctx_pair(libctx, TLS_server_method(), TLS_client_method(), TLS1_VERSION, 0, &sctx, &cctx, cert, privkey)) return 0; @@ -1406,7 +1417,7 @@ static int test_tlsext_status_type(void) || !TEST_ptr(ids = sk_OCSP_RESPID_new_null()) || !TEST_ptr(ocspcert = PEM_read_bio_X509(certbio, NULL, NULL, NULL)) - || !TEST_true(OCSP_RESPID_set_by_key_ex(id, ocspcert, NULL, NULL)) + || !TEST_true(OCSP_RESPID_set_by_key_ex(id, ocspcert, libctx, NULL)) || !TEST_true(sk_OCSP_RESPID_push(ids, id))) goto end; id = NULL; @@ -1487,8 +1498,8 @@ static int execute_test_session(int maxprot, int use_int_cache, if (maxprot == TLS1_3_VERSION) numnewsesstick = 2; - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), - TLS1_VERSION, 0, + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), + TLS_client_method(), TLS1_VERSION, 0, &sctx, &cctx, cert, privkey))) return 0; @@ -1835,9 +1846,9 @@ static int setup_ticket_test(int stateful, int idx, SSL_CTX **sctx, { int sess_id_ctx = 1; - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), - TLS1_VERSION, 0, sctx, - cctx, cert, privkey)) + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), + TLS_client_method(), TLS1_VERSION, 0, + sctx, cctx, cert, privkey)) || !TEST_true(SSL_CTX_set_num_tickets(*sctx, idx)) || !TEST_true(SSL_CTX_set_session_id_context(*sctx, (void *)&sess_id_ctx, @@ -2035,9 +2046,9 @@ static int test_psk_tickets(void) int testresult = 0; int sess_id_ctx = 1; - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), - TLS1_VERSION, 0, &sctx, - &cctx, NULL, NULL)) + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), + TLS_client_method(), TLS1_VERSION, 0, + &sctx, &cctx, NULL, NULL)) || !TEST_true(SSL_CTX_set_session_id_context(sctx, (void *)&sess_id_ctx, sizeof(sess_id_ctx)))) @@ -2161,8 +2172,8 @@ static int test_ssl_set_bio(int idx) conntype = idx % 2; } - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), - TLS1_VERSION, 0, + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), + TLS_client_method(), TLS1_VERSION, 0, &sctx, &cctx, cert, privkey))) goto end; @@ -2265,7 +2276,7 @@ static int execute_test_ssl_bio(int pop_ssl, bio_change_t change_bio) SSL *ssl = NULL; int testresult = 0; - if (!TEST_ptr(ctx = SSL_CTX_new(TLS_method())) + if (!TEST_ptr(ctx = SSL_CTX_new_with_libctx(libctx, NULL, TLS_method())) || !TEST_ptr(ssl = SSL_new(ctx)) || !TEST_ptr(sslbio = BIO_new(BIO_f_ssl())) || !TEST_ptr(membio1 = BIO_new(BIO_s_mem()))) @@ -2384,8 +2395,8 @@ static int test_set_sigalgs(int idx) curr = testctx ? &testsigalgs[idx] : &testsigalgs[idx - OSSL_NELEM(testsigalgs)]; - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), - TLS1_VERSION, 0, + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), + TLS_client_method(), TLS1_VERSION, 0, &sctx, &cctx, cert, privkey))) return 0; @@ -2623,7 +2634,7 @@ static int setupearly_data_test(SSL_CTX **cctx, SSL_CTX **sctx, SSL **clientssl, SSL **serverssl, SSL_SESSION **sess, int idx) { if (*sctx == NULL - && !TEST_true(create_ssl_ctx_pair(TLS_server_method(), + && !TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), TLS_client_method(), TLS1_VERSION, 0, sctx, cctx, cert, privkey))) @@ -2950,9 +2961,9 @@ static int test_early_data_replay_int(int idx, int usecb, int confopt) allow_ed_cb_called = 0; - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), - TLS1_VERSION, 0, &sctx, - &cctx, cert, privkey))) + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), + TLS_client_method(), TLS1_VERSION, 0, + &sctx, &cctx, cert, privkey))) return 0; if (usecb > 0) { @@ -3670,8 +3681,8 @@ static int test_set_ciphersuite(int idx) SSL *clientssl = NULL, *serverssl = NULL; int testresult = 0; - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), - TLS1_VERSION, 0, + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), + TLS_client_method(), TLS1_VERSION, 0, &sctx, &cctx, cert, privkey)) || !TEST_true(SSL_CTX_set_ciphersuites(sctx, "TLS_AES_128_GCM_SHA256:TLS_AES_128_CCM_SHA256"))) @@ -3740,9 +3751,13 @@ static int test_ciphersuite_change(void) const SSL_CIPHER *aes_128_gcm_sha256 = NULL; /* Create a session based on SHA-256 */ - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), - TLS1_VERSION, 0, + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), + TLS_client_method(), TLS1_VERSION, 0, &sctx, &cctx, cert, privkey)) + || !TEST_true(SSL_CTX_set_ciphersuites(sctx, + "TLS_AES_128_GCM_SHA256:" + "TLS_AES_256_GCM_SHA384:" + "TLS_AES_128_CCM_SHA256")) || !TEST_true(SSL_CTX_set_ciphersuites(cctx, "TLS_AES_128_GCM_SHA256")) || !TEST_true(create_ssl_objects(sctx, cctx, &serverssl, @@ -3760,12 +3775,11 @@ static int test_ciphersuite_change(void) SSL_free(clientssl); serverssl = clientssl = NULL; -# if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305) /* Check we can resume a session with a different SHA-256 ciphersuite */ if (!TEST_true(SSL_CTX_set_ciphersuites(cctx, - "TLS_CHACHA20_POLY1305_SHA256")) - || !TEST_true(create_ssl_objects(sctx, cctx, &serverssl, &clientssl, - NULL, NULL)) + "TLS_AES_128_CCM_SHA256")) + || !TEST_true(create_ssl_objects(sctx, cctx, &serverssl, + &clientssl, NULL, NULL)) || !TEST_true(SSL_set_session(clientssl, clntsess)) || !TEST_true(create_ssl_connection(serverssl, clientssl, SSL_ERROR_NONE)) @@ -3779,7 +3793,6 @@ static int test_ciphersuite_change(void) SSL_free(serverssl); SSL_free(clientssl); serverssl = clientssl = NULL; -# endif /* * Check attempting to resume a SHA-256 session with no SHA-256 ciphersuites @@ -3953,9 +3966,10 @@ static int test_key_exchange(int idx) return 1; } - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), - TLS1_VERSION, max_version, - &sctx, &cctx, cert, privkey))) + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), + TLS_client_method(), TLS1_VERSION, + max_version, &sctx, &cctx, cert, + privkey))) goto end; if (!TEST_true(SSL_CTX_set_ciphersuites(sctx, @@ -4027,15 +4041,19 @@ static int test_tls13_ciphersuite(int idx) { SSL_CTX *sctx = NULL, *cctx = NULL; SSL *serverssl = NULL, *clientssl = NULL; - static const char *t13_ciphers[] = { - TLS1_3_RFC_AES_128_GCM_SHA256, - TLS1_3_RFC_AES_256_GCM_SHA384, - TLS1_3_RFC_AES_128_CCM_SHA256, + static const struct { + const char *ciphername; + int fipscapable; + } t13_ciphers[] = { + { TLS1_3_RFC_AES_128_GCM_SHA256, 1 }, + { TLS1_3_RFC_AES_256_GCM_SHA384, 1 }, + { TLS1_3_RFC_AES_128_CCM_SHA256, 1 }, # if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305) - TLS1_3_RFC_CHACHA20_POLY1305_SHA256, - TLS1_3_RFC_AES_256_GCM_SHA384 ":" TLS1_3_RFC_CHACHA20_POLY1305_SHA256, + { TLS1_3_RFC_CHACHA20_POLY1305_SHA256, 0 }, + { TLS1_3_RFC_AES_256_GCM_SHA384 + ":" TLS1_3_RFC_CHACHA20_POLY1305_SHA256, 0 }, # endif - TLS1_3_RFC_AES_128_CCM_8_SHA256 ":" TLS1_3_RFC_AES_128_CCM_SHA256 + { TLS1_3_RFC_AES_128_CCM_8_SHA256 ":" TLS1_3_RFC_AES_128_CCM_SHA256, 1 } }; const char *t13_cipher = NULL; const char *t12_cipher = NULL; @@ -4070,8 +4088,10 @@ static int test_tls13_ciphersuite(int idx) continue; # endif for (i = 0; i < OSSL_NELEM(t13_ciphers); i++) { - t13_cipher = t13_ciphers[i]; - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + if (is_fips && !t13_ciphers[i].fipscapable) + continue; + t13_cipher = t13_ciphers[i].ciphername; + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), TLS_client_method(), TLS1_VERSION, max_ver, &sctx, &cctx, cert, privkey))) @@ -4172,8 +4192,8 @@ static int test_tls13_psk(int idx) }; int testresult = 0; - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), - TLS1_VERSION, 0, + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), + TLS_client_method(), TLS1_VERSION, 0, &sctx, &cctx, idx == 3 ? NULL : cert, idx == 3 ? NULL : privkey))) goto end; @@ -4188,6 +4208,16 @@ static int test_tls13_psk(int idx) if (!TEST_true(SSL_CTX_set_ciphersuites(cctx, "TLS_AES_128_GCM_SHA256"))) goto end; + } else { + /* + * As noted above the server should prefer SHA256 automatically. However + * we are careful not to offer TLS_CHACHA20_POLY1305_SHA256 so this same + * code works even if we are testing with only the FIPS provider loaded. + */ + if (!TEST_true(SSL_CTX_set_ciphersuites(cctx, + "TLS_AES_256_GCM_SHA384:" + "TLS_AES_128_GCM_SHA256"))) + goto end; } /* @@ -4425,8 +4455,8 @@ static int test_stateless(void) SSL *serverssl = NULL, *clientssl = NULL; int testresult = 0; - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), - TLS1_VERSION, 0, + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), + TLS_client_method(), TLS1_VERSION, 0, &sctx, &cctx, cert, privkey))) goto end; @@ -4649,13 +4679,13 @@ static int test_custom_exts(int tst) clntaddnewcb = clntparsenewcb = srvaddnewcb = srvparsenewcb = 0; snicb = 0; - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), - TLS1_VERSION, 0, + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), + TLS_client_method(), TLS1_VERSION, 0, &sctx, &cctx, cert, privkey))) goto end; if (tst == 2 - && !TEST_true(create_ssl_ctx_pair(TLS_server_method(), NULL, + && !TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), NULL, TLS1_VERSION, 0, &sctx2, NULL, cert, privkey))) goto end; @@ -4847,7 +4877,7 @@ static int test_serverinfo(int tst) int ret, expected, testresult = 0; SSL_CTX *ctx; - ctx = SSL_CTX_new(TLS_method()); + ctx = SSL_CTX_new_with_libctx(libctx, NULL, TLS_method()); if (!TEST_ptr(ctx)) goto end; @@ -4927,6 +4957,8 @@ static int test_export_key_mat(int tst) if (tst == 1) return 1; #endif + if (is_fips && (tst == 0 || tst == 1)) + return 1; #ifdef OPENSSL_NO_TLS1_2 if (tst == 2) return 1; @@ -4935,8 +4967,8 @@ static int test_export_key_mat(int tst) if (tst >= 3) return 1; #endif - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), - TLS1_VERSION, 0, + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), + TLS_client_method(), TLS1_VERSION, 0, &sctx, &cctx, cert, privkey))) goto end; @@ -5132,7 +5164,7 @@ static int test_key_update(void) char buf[20]; static char *mess = "A test message"; - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), TLS_client_method(), TLS1_3_VERSION, 0, @@ -5195,7 +5227,7 @@ static int test_key_update_in_write(int tst) SSL *peerupdate = NULL, *peerwrite = NULL; if (!TEST_ptr(bretry) - || !TEST_true(create_ssl_ctx_pair(TLS_server_method(), + || !TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), TLS_client_method(), TLS1_3_VERSION, 0, @@ -5275,8 +5307,8 @@ static int test_ssl_clear(int idx) #endif /* Create an initial connection */ - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), - TLS1_VERSION, 0, + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), + TLS_client_method(), TLS1_VERSION, 0, &sctx, &cctx, cert, privkey)) || (idx == 1 && !TEST_true(SSL_CTX_set_max_proto_version(cctx, @@ -5385,7 +5417,7 @@ static int test_max_fragment_len_ext(int idx_tst) int testresult = 0, MFL_mode = 0; BIO *rbio, *wbio; - ctx = SSL_CTX_new(TLS_method()); + ctx = SSL_CTX_new_with_libctx(libctx, NULL, TLS_method()); if (!TEST_ptr(ctx)) goto end; @@ -5435,8 +5467,8 @@ static int test_pha_key_update(void) SSL *clientssl = NULL, *serverssl = NULL; int testresult = 0; - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), - TLS1_VERSION, 0, + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), + TLS_client_method(), TLS1_VERSION, 0, &sctx, &cctx, cert, privkey))) return 0; @@ -5490,6 +5522,8 @@ static int test_pha_key_update(void) static SRP_VBASE *vbase = NULL; +DEFINE_STACK_OF(SRP_user_pwd) + static int ssl_srp_cb(SSL *s, int *ad, void *arg) { int ret = SSL3_AL_FATAL; @@ -5534,7 +5568,7 @@ static int create_new_vfile(char *userid, char *password, const char *filename) goto end; gNid = SRP_create_verifier_ex(userid, password, &row[DB_srpsalt], - &row[DB_srpverifier], NULL, NULL, NULL, NULL); + &row[DB_srpverifier], NULL, NULL, libctx, NULL); if (!TEST_ptr(gNid)) goto end; @@ -5591,7 +5625,7 @@ static int create_new_vbase(char *userid, char *password) goto end; if (!TEST_true(SRP_create_verifier_BN_ex(userid, password, &salt, &verifier, - lgN->N, lgN->g, NULL, NULL))) + lgN->N, lgN->g, libctx, NULL))) goto end; user_pwd = OPENSSL_zalloc(sizeof(*user_pwd)); @@ -5658,8 +5692,8 @@ static int test_srp(int tst) goto end; } - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), - TLS1_VERSION, 0, + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), + TLS_client_method(), TLS1_VERSION, 0, &sctx, &cctx, cert, privkey))) goto end; @@ -5919,7 +5953,7 @@ static int test_info_callback(int tst) } #endif - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), TLS_client_method(), tlsvers, tlsvers, &sctx, &cctx, cert, privkey))) @@ -5979,14 +6013,14 @@ static int test_ssl_pending(int tst) size_t written, readbytes; if (tst == 0) { - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), TLS_client_method(), TLS1_VERSION, 0, &sctx, &cctx, cert, privkey))) goto end; } else { #ifndef OPENSSL_NO_DTLS - if (!TEST_true(create_ssl_ctx_pair(DTLS_server_method(), + if (!TEST_true(create_ssl_ctx_pair(libctx, DTLS_server_method(), DTLS_client_method(), DTLS1_VERSION, 0, &sctx, &cctx, cert, privkey))) @@ -6098,7 +6132,7 @@ static int test_ssl_get_shared_ciphers(int tst) int testresult = 0; char buf[1024]; - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), TLS_client_method(), TLS1_VERSION, shared_ciphers_data[tst].maxprot, @@ -6205,16 +6239,26 @@ static int tick_key_cb(SSL *s, unsigned char key_name[16], { const unsigned char tick_aes_key[16] = "0123456789abcdef"; const unsigned char tick_hmac_key[16] = "0123456789abcdef"; + EVP_CIPHER *aes128cbc = EVP_CIPHER_fetch(libctx, "AES-128-CBC", NULL); + EVP_MD *sha256 = EVP_MD_fetch(libctx, "SHA-256", NULL); + int ret; tick_key_cb_called = 1; memset(iv, 0, AES_BLOCK_SIZE); memset(key_name, 0, 16); - if (!EVP_CipherInit_ex(ctx, EVP_aes_128_cbc(), NULL, tick_aes_key, iv, enc) - || !HMAC_Init_ex(hctx, tick_hmac_key, sizeof(tick_hmac_key), - EVP_sha256(), NULL)) - return -1; + if (aes128cbc == NULL + || sha256 == NULL + || !EVP_CipherInit_ex(ctx, aes128cbc, NULL, tick_aes_key, iv, enc) + || !HMAC_Init_ex(hctx, tick_hmac_key, sizeof(tick_hmac_key), sha256, + NULL)) + ret = -1; + else + ret = tick_key_renew ? 2 : 1; - return tick_key_renew ? 2 : 1; + EVP_CIPHER_free(aes128cbc); + EVP_MD_free(sha256); + + return ret; } #endif @@ -6225,6 +6269,8 @@ static int tick_key_evp_cb(SSL *s, unsigned char key_name[16], const unsigned char tick_aes_key[16] = "0123456789abcdef"; unsigned char tick_hmac_key[16] = "0123456789abcdef"; OSSL_PARAM params[3]; + EVP_CIPHER *aes128cbc = EVP_CIPHER_fetch(libctx, "AES-128-CBC", NULL); + int ret; tick_key_cb_called = 1; memset(iv, 0, AES_BLOCK_SIZE); @@ -6235,12 +6281,17 @@ static int tick_key_evp_cb(SSL *s, unsigned char key_name[16], tick_hmac_key, sizeof(tick_hmac_key)); params[2] = OSSL_PARAM_construct_end(); - if (!EVP_CipherInit_ex(ctx, EVP_aes_128_cbc(), NULL, tick_aes_key, iv, enc) + if (aes128cbc == NULL + || !EVP_CipherInit_ex(ctx, aes128cbc, NULL, tick_aes_key, iv, enc) || !EVP_MAC_CTX_set_params(hctx, params) || !EVP_MAC_init(hctx)) - return -1; + ret = -1; + else + ret = tick_key_renew ? 2 : 1; - return tick_key_renew ? 2 : 1; + EVP_CIPHER_free(aes128cbc); + + return ret; } /* @@ -6316,7 +6367,7 @@ static int test_ticket_callbacks(int tst) tick_dec_ret = SSL_TICKET_RETURN_ABORT; } - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), TLS_client_method(), TLS1_VERSION, ((tst % 2) == 0) ? TLS1_2_VERSION @@ -6440,7 +6491,7 @@ static int test_shutdown(int tst) return 1; #endif - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), TLS_client_method(), TLS1_VERSION, (tst <= 1) ? TLS1_2_VERSION @@ -6680,7 +6731,7 @@ static int test_cert_cb_int(int prot, int tst) return 1; #endif - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), TLS_client_method(), TLS1_VERSION, prot, @@ -6814,7 +6865,7 @@ static int test_client_cert_cb(int tst) return 1; #endif - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), TLS_client_method(), TLS1_VERSION, tst == 0 ? TLS1_2_VERSION @@ -6878,7 +6929,7 @@ static int test_ca_names_int(int prot, int tst) goto end; } - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), TLS_client_method(), TLS1_VERSION, prot, @@ -7036,8 +7087,9 @@ static int test_multiblock_write(int test_index) /* Set up a buffer with some data that will be sent to the client */ RAND_bytes(msg, sizeof(msg)); - if (!TEST_true(create_ssl_ctx_pair(smeth, cmeth, min_version, max_version, - &sctx, &cctx, cert, privkey))) + if (!TEST_true(create_ssl_ctx_pair(libctx, smeth, cmeth, min_version, + max_version, &sctx, &cctx, cert, + privkey))) goto end; if (!TEST_true(SSL_CTX_set_max_send_fragment(sctx, MULTIBLOCK_FRAGSIZE))) @@ -7109,7 +7161,7 @@ static int test_servername(int tst) return 1; #endif - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), + if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), TLS_client_method(), TLS1_VERSION, (tst <= 4) ? TLS1_2_VERSION @@ -7234,10 +7286,27 @@ static int test_servername(int tst) return testresult; } -OPT_TEST_DECLARE_USAGE("certfile privkeyfile srpvfile tmpfile\n") +OPT_TEST_DECLARE_USAGE("certfile privkeyfile srpvfile tmpfile provider config\n") int setup_tests(void) { + char *modulename; + char *configfile; + + libctx = OPENSSL_CTX_new(); + if (!TEST_ptr(libctx)) + return 0; + + defctxnull = OSSL_PROVIDER_load(NULL, "null"); + + /* + * Verify that the default and fips providers in the default libctx are not + * available + */ + if (!TEST_false(OSSL_PROVIDER_available(NULL, "default")) + || !TEST_false(OSSL_PROVIDER_available(NULL, "fips"))) + return 0; + if (!test_skip_common_options()) { TEST_error("Error parsing test options\n"); return 0; @@ -7245,9 +7314,26 @@ int setup_tests(void) if (!TEST_ptr(certsdir = test_get_argument(0)) || !TEST_ptr(srpvfile = test_get_argument(1)) - || !TEST_ptr(tmpfilename = test_get_argument(2))) + || !TEST_ptr(tmpfilename = test_get_argument(2)) + || !TEST_ptr(modulename = test_get_argument(3)) + || !TEST_ptr(configfile = test_get_argument(4))) return 0; + if (!TEST_true(OPENSSL_CTX_load_config(libctx, configfile))) + return 0; + + /* Check we have the expected provider available */ + if (!TEST_true(OSSL_PROVIDER_available(libctx, modulename))) + return 0; + + /* Check the default provider is not available */ + if (strcmp(modulename, "default") != 0 + && !TEST_false(OSSL_PROVIDER_available(libctx, "default"))) + return 0; + + if (strcmp(modulename, "fips") == 0) + is_fips = 1; + if (getenv("OPENSSL_TEST_GETCOUNTS") != NULL) { #ifdef OPENSSL_NO_CRYPTO_MDEBUG TEST_error("not supported in this build"); @@ -7400,4 +7486,6 @@ void cleanup_tests(void) OPENSSL_free(privkey); bio_s_mempacket_test_free(); bio_s_always_retry_free(); + OSSL_PROVIDER_unload(defctxnull); + OPENSSL_CTX_free(libctx); } diff --git a/test/sslbuffertest.c b/test/sslbuffertest.c index 3bce667b..3d034d60 100644 --- a/test/sslbuffertest.c +++ b/test/sslbuffertest.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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. @@ -165,7 +165,7 @@ int setup_tests(void) || !TEST_ptr(pkey = test_get_argument(1))) return 0; - if (!create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), + if (!create_ssl_ctx_pair(NULL, TLS_server_method(), TLS_client_method(), TLS1_VERSION, 0, &serverctx, &clientctx, cert, pkey)) { TEST_error("Failed to create SSL_CTX pair\n"); diff --git a/test/sslcorrupttest.c b/test/sslcorrupttest.c index d201cd2b..476a1758 100644 --- a/test/sslcorrupttest.c +++ b/test/sslcorrupttest.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 @@ -11,6 +11,8 @@ #include "ssltestlib.h" #include "testutil.h" +DEFINE_STACK_OF(SSL_CIPHER) + static int docorrupt = 0; static void copy_flags(BIO *bio) @@ -193,7 +195,8 @@ static int test_ssl_corrupt(int testidx) TEST_info("Starting #%d, %s", testidx, cipher_list[testidx]); - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), + if (!TEST_true(create_ssl_ctx_pair(NULL, TLS_server_method(), + TLS_client_method(), TLS1_VERSION, 0, &sctx, &cctx, cert, privkey))) return 0; diff --git a/test/sslprovidertest.c b/test/sslprovidertest.c index 5f78554f..8bcfd5f9 100644 --- a/test/sslprovidertest.c +++ b/test/sslprovidertest.c @@ -1,5 +1,5 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2020 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 @@ -50,20 +50,14 @@ static int test_different_libctx(void) goto end; TEST_note("%s provider loaded", modulename); - cctx = SSL_CTX_new_with_libctx(libctx, NULL, TLS_client_method()); - if (!TEST_ptr(cctx)) - goto end; - sctx = SSL_CTX_new_with_libctx(libctx, NULL, TLS_server_method()); - if (!TEST_ptr(sctx)) - goto end; - /* * TODO(3.0): Make this work in TLSv1.3. Currently we can only do RSA key * exchange, because we don't have key gen/param gen for EC yet - which * implies TLSv1.2 only */ - if (!TEST_true(create_ssl_ctx_pair(NULL, - NULL, + if (!TEST_true(create_ssl_ctx_pair(libctx, + TLS_server_method(), + TLS_client_method(), TLS1_VERSION, TLS1_2_VERSION, &sctx, &cctx, cert, privkey))) diff --git a/test/ssltest_old.c b/test/ssltest_old.c index d2c764c1..d45b2786 100644 --- a/test/ssltest_old.c +++ b/test/ssltest_old.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -65,6 +65,7 @@ #ifndef OPENSSL_NO_CT # include #endif +#include /* * Or gethostname won't be declared properly @@ -80,6 +81,9 @@ # include #endif +DEFINE_STACK_OF(SSL_COMP) +DEFINE_STACK_OF_STRING() + static SSL_CTX *s_ctx = NULL; static SSL_CTX *s_ctx2 = NULL; @@ -725,6 +729,8 @@ static void sv_usage(void) fprintf(stderr, " -client_sess_in - Read the client session from a file\n"); fprintf(stderr, " -should_reuse - The expected state of reusing the session\n"); fprintf(stderr, " -no_ticket - do not issue TLS session ticket\n"); + fprintf(stderr, " -provider - Load the given provider into the library context\n"); + fprintf(stderr, " -config - Load the given config file into the library context\n"); } static void print_key_details(BIO *out, EVP_PKEY *key) @@ -922,6 +928,9 @@ int main(int argc, char *argv[]) SSL_CONF_CTX *s_cctx = NULL, *c_cctx = NULL, *s_cctx2 = NULL; STACK_OF(OPENSSL_STRING) *conf_args = NULL; char *arg = NULL, *argn = NULL; + const char *provider = NULL, *config = NULL; + OSSL_PROVIDER *thisprov = NULL, *defctxnull = NULL; + OPENSSL_CTX *libctx = NULL; verbose = 0; debug = 0; @@ -1183,6 +1192,14 @@ int main(int argc, char *argv[]) should_reuse = !!atoi(*(++argv)); } else if (strcmp(*argv, "-no_ticket") == 0) { no_ticket = 1; + } else if (strcmp(*argv, "-provider") == 0) { + if (--argc < 1) + goto bad; + provider = *(++argv); + } else if (strcmp(*argv, "-config") == 0) { + if (--argc < 1) + goto bad; + config = *(++argv); } else { int rv; arg = argv[0]; @@ -1350,9 +1367,26 @@ int main(int argc, char *argv[]) } #endif - c_ctx = SSL_CTX_new(meth); - s_ctx = SSL_CTX_new(meth); - s_ctx2 = SSL_CTX_new(meth); /* no SSL_CTX_dup! */ + if (provider != NULL) { + defctxnull = OSSL_PROVIDER_load(NULL, "null"); + if (defctxnull == NULL) + goto end; + libctx = OPENSSL_CTX_new(); + if (libctx == NULL) + goto end; + + if (config != NULL + && !OPENSSL_CTX_load_config(libctx, config)) + goto end; + + thisprov = OSSL_PROVIDER_load(libctx, provider); + if (thisprov == NULL) + goto end; + } + + c_ctx = SSL_CTX_new_with_libctx(libctx, NULL, meth); + s_ctx = SSL_CTX_new_with_libctx(libctx, NULL, meth); + s_ctx2 = SSL_CTX_new_with_libctx(libctx, NULL, meth); /* no SSL_CTX_dup! */ if ((c_ctx == NULL) || (s_ctx == NULL) || (s_ctx2 == NULL)) { ERR_print_errors(bio_err); goto end; @@ -1859,6 +1893,10 @@ int main(int argc, char *argv[]) SSL_SESSION_free(server_sess); SSL_SESSION_free(client_sess); + OSSL_PROVIDER_unload(defctxnull); + OSSL_PROVIDER_unload(thisprov); + OPENSSL_CTX_free(libctx); + BIO_free(bio_err); EXIT(ret); } diff --git a/test/ssltestlib.c b/test/ssltestlib.c index e579ceff..ce0e7761 100644 --- a/test/ssltestlib.c +++ b/test/ssltestlib.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 @@ -684,7 +684,8 @@ static int always_retry_puts(BIO *bio, const char *str) return -1; } -int create_ssl_ctx_pair(const SSL_METHOD *sm, const SSL_METHOD *cm, +int create_ssl_ctx_pair(OPENSSL_CTX *libctx, const SSL_METHOD *sm, +const SSL_METHOD *cm, int min_proto_version, int max_proto_version, SSL_CTX **sctx, SSL_CTX **cctx, char *certfile, char *privkeyfile) @@ -694,13 +695,13 @@ int create_ssl_ctx_pair(const SSL_METHOD *sm, const SSL_METHOD *cm, if (*sctx != NULL) serverctx = *sctx; - else if (!TEST_ptr(serverctx = SSL_CTX_new(sm))) + else if (!TEST_ptr(serverctx = SSL_CTX_new_with_libctx(libctx, NULL, sm))) goto err; if (cctx != NULL) { if (*cctx != NULL) clientctx = *cctx; - else if (!TEST_ptr(clientctx = SSL_CTX_new(cm))) + else if (!TEST_ptr(clientctx = SSL_CTX_new_with_libctx(libctx, NULL, cm))) goto err; } diff --git a/test/ssltestlib.h b/test/ssltestlib.h index a45aaf81..f3f22f38 100644 --- a/test/ssltestlib.h +++ b/test/ssltestlib.h @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 @@ -12,10 +12,10 @@ # include -int create_ssl_ctx_pair(const SSL_METHOD *sm, const SSL_METHOD *cm, - int min_proto_version, int max_proto_version, - SSL_CTX **sctx, SSL_CTX **cctx, char *certfile, - char *privkeyfile); +int create_ssl_ctx_pair(OPENSSL_CTX *libctx, const SSL_METHOD *sm, + const SSL_METHOD *cm, int min_proto_version, + int max_proto_version, SSL_CTX **sctx, SSL_CTX **cctx, + char *certfile, char *privkeyfile); int create_ssl_objects(SSL_CTX *serverctx, SSL_CTX *clientctx, SSL **sssl, SSL **cssl, BIO *s_to_c_fbio, BIO *c_to_s_fbio); int create_bare_ssl_connection(SSL *serverssl, SSL *clientssl, int want, diff --git a/test/testutil.h b/test/testutil.h index 2a2857a7..bacb6bb9 100644 --- a/test/testutil.h +++ b/test/testutil.h @@ -1,5 +1,5 @@ /* - * Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2014-2020 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 diff --git a/test/testutil/options.c b/test/testutil/options.c index b5c0739d..0b10f7f0 100644 --- a/test/testutil/options.c +++ b/test/testutil/options.c @@ -1,5 +1,5 @@ /* - * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2018-2020 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy diff --git a/test/testutil/testutil_init.c b/test/testutil/testutil_init.c index 49328560..a91b0e4b 100644 --- a/test/testutil/testutil_init.c +++ b/test/testutil/testutil_init.c @@ -1,5 +1,5 @@ /* - * Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2020 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 diff --git a/test/tls13ccstest.c b/test/tls13ccstest.c index 2820a0e8..3a81ceba 100644 --- a/test/tls13ccstest.c +++ b/test/tls13ccstest.c @@ -1,5 +1,5 @@ /* - * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2020 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 @@ -254,8 +254,8 @@ static int test_tls13ccs(int tst) sappdataseen = cappdataseen = badccs = badvers = badsessid = 0; chsessidlen = 0; - if (!TEST_true(create_ssl_ctx_pair(TLS_server_method(), TLS_client_method(), - TLS1_VERSION, 0, + if (!TEST_true(create_ssl_ctx_pair(NULL, TLS_server_method(), + TLS_client_method(), TLS1_VERSION, 0, &sctx, &cctx, cert, privkey)) || !TEST_true(SSL_CTX_set_max_early_data(sctx, SSL3_RT_MAX_PLAIN_LENGTH))) diff --git a/test/tls13secretstest.c b/test/tls13secretstest.c index def78b99..a83fa817 100644 --- a/test/tls13secretstest.c +++ b/test/tls13secretstest.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/test/v3ext.c b/test/v3ext.c index 5cf7581c..cc14fd2d 100644 --- a/test/v3ext.c +++ b/test/v3ext.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/test/v3nametest.c b/test/v3nametest.c index d17ab714..507b0fcf 100644 --- a/test/v3nametest.c +++ b/test/v3nametest.c @@ -19,6 +19,8 @@ # define strcasecmp _stricmp #endif +DEFINE_STACK_OF(GENERAL_NAME) + static const char *const names[] = { "a", "b", ".", "*", "@", ".a", "a.", ".b", "b.", ".*", "*.", "*@", "@*", "a@", "@a", "b@", "..", diff --git a/test/verify_extra_test.c b/test/verify_extra_test.c index e8fe79b1..6cce6260 100644 --- a/test/verify_extra_test.c +++ b/test/verify_extra_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2020 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 @@ -16,6 +16,8 @@ #include #include "testutil.h" +DEFINE_STACK_OF(X509) + static const char *roots_f; static const char *untrusted_f; static const char *bad_f; diff --git a/test/wpackettest.c b/test/wpackettest.c index b2fa6504..08b5f976 100644 --- a/test/wpackettest.c +++ b/test/wpackettest.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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 diff --git a/test/x509_check_cert_pkey_test.c b/test/x509_check_cert_pkey_test.c index b1b6b9c9..cf26ed92 100644 --- a/test/x509_check_cert_pkey_test.c +++ b/test/x509_check_cert_pkey_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2020 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 diff --git a/test/x509_dup_cert_test.c b/test/x509_dup_cert_test.c index b0bf1b95..af35afbe 100644 --- a/test/x509_dup_cert_test.c +++ b/test/x509_dup_cert_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use diff --git a/test/x509_time_test.c b/test/x509_time_test.c index a9292dff..41a88ec0 100644 --- a/test/x509_time_test.c +++ b/test/x509_time_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2020 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 diff --git a/test/x509aux.c b/test/x509aux.c index 49b6745d..bd8a781b 100644 --- a/test/x509aux.c +++ b/test/x509aux.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2020 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. diff --git a/util/check-format-test-negatives.c b/util/check-format-test-negatives.c index 35cbd75b..33d0e944 100644 --- a/util/check-format-test-negatives.c +++ b/util/check-format-test-negatives.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * diff --git a/util/check-format-test-positives.c b/util/check-format-test-positives.c index d14ceb37..809ecaa3 100644 --- a/util/check-format-test-positives.c +++ b/util/check-format-test-positives.c @@ -1,5 +1,5 @@ /* - * Copyright 2007-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2019 * Copyright Siemens AG 2015-2019 * diff --git a/util/dofile.pl b/util/dofile.pl index 6d4ffa4a..9453127d 100644 --- a/util/dofile.pl +++ b/util/dofile.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/util/err-to-raise b/util/err-to-raise index 7ff7a8aa..649ca6bf 100755 --- a/util/err-to-raise +++ b/util/err-to-raise @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2019-2020 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 diff --git a/util/find-doc-nits b/util/find-doc-nits index 6eea6ad4..c40a4c80 100755 --- a/util/find-doc-nits +++ b/util/find-doc-nits @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2002-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2002-2020 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 diff --git a/util/fix-includes b/util/fix-includes index c1435a76..041a4504 100755 --- a/util/fix-includes +++ b/util/fix-includes @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2019-2020 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 diff --git a/util/libcrypto.num b/util/libcrypto.num index 788acab5..7bf2e90d 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -223,7 +223,7 @@ EVP_MD_meth_set_input_blocksize 226 3_0_0 EXIST::FUNCTION: PKCS12_SAFEBAG_get0_attrs 227 3_0_0 EXIST::FUNCTION: PKCS8_get_attr 228 3_0_0 EXIST::FUNCTION: DSAparams_print_fp 229 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA,STDIO -EC_POINT_set_Jprojective_coordinates_GFp 230 3_0_0 EXIST::FUNCTION:EC +EC_POINT_set_Jprojective_coordinates_GFp 230 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,EC DIST_POINT_NAME_new 231 3_0_0 EXIST::FUNCTION: X509_LOOKUP_file 232 3_0_0 EXIST::FUNCTION: EVP_PKEY_meth_set_decrypt 233 3_0_0 EXIST::FUNCTION: @@ -2419,7 +2419,7 @@ MD2_Final 2469 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_ OCSP_REQ_CTX_add1_header 2470 3_0_0 EXIST::FUNCTION: NETSCAPE_SPKAC_it 2471 3_0_0 EXIST::FUNCTION: ASIdOrRange_free 2472 3_0_0 EXIST::FUNCTION:RFC3779 -EC_POINT_get_Jprojective_coordinates_GFp 2473 3_0_0 EXIST::FUNCTION:EC +EC_POINT_get_Jprojective_coordinates_GFp 2473 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,EC EVP_aes_128_cbc_hmac_sha256 2474 3_0_0 EXIST::FUNCTION: i2d_PKCS7_SIGNED 2475 3_0_0 EXIST::FUNCTION: TS_VERIFY_CTX_set_data 2476 3_0_0 EXIST::FUNCTION:TS @@ -3953,9 +3953,9 @@ DH_clear_flags 4041 3_0_0 EXIST::FUNCTION:DH DH_get0_key 4042 3_0_0 EXIST::FUNCTION:DH DH_get0_engine 4043 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DH DH_set0_key 4044 3_0_0 EXIST::FUNCTION:DH -DH_set_length 4045 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DH +DH_set_length 4045 3_0_0 EXIST::FUNCTION:DH DH_test_flags 4046 3_0_0 EXIST::FUNCTION:DH -DH_get_length 4047 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DH +DH_get_length 4047 3_0_0 EXIST::FUNCTION:DH DH_get0_pqg 4048 3_0_0 EXIST::FUNCTION:DH DH_meth_get_compute_key 4049 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DH DH_meth_set1_name 4050 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DH @@ -5050,4 +5050,33 @@ EVP_PKEY_get_ex_data ? 3_0_0 EXIST::FUNCTION: EVP_PKEY_CTX_set_ec_paramgen_curve_name ? 3_0_0 EXIST::FUNCTION:EC EVP_PKEY_CTX_get_ec_paramgen_curve_name ? 3_0_0 EXIST::FUNCTION:EC EVP_PKEY_CTX_set_ec_paramgen_curve_nid ? 3_0_0 EXIST::FUNCTION:EC +d2i_PrivateKey_ex ? 3_0_0 EXIST::FUNCTION: +d2i_AutoPrivateKey_ex ? 3_0_0 EXIST::FUNCTION: +d2i_PrivateKey_ex_fp ? 3_0_0 EXIST::FUNCTION:STDIO +d2i_PrivateKey_ex_bio ? 3_0_0 EXIST::FUNCTION: +PEM_read_bio_PrivateKey_ex ? 3_0_0 EXIST::FUNCTION: +PEM_read_PrivateKey_ex ? 3_0_0 EXIST::FUNCTION:STDIO +EVP_PKEY_CTX_set_dsa_paramgen_bits ? 3_0_0 EXIST::FUNCTION:DSA +EVP_PKEY_CTX_set_dsa_paramgen_q_bits ? 3_0_0 EXIST::FUNCTION:DSA +EVP_PKEY_CTX_set_dsa_paramgen_md_props ? 3_0_0 EXIST::FUNCTION:DSA +EVP_PKEY_CTX_set_dsa_paramgen_gindex ? 3_0_0 EXIST::FUNCTION:DSA +EVP_PKEY_CTX_set_dsa_paramgen_type ? 3_0_0 EXIST::FUNCTION:DSA +EVP_PKEY_CTX_set_dsa_paramgen_seed ? 3_0_0 EXIST::FUNCTION:DSA +EVP_PKEY_CTX_set_dsa_paramgen_md ? 3_0_0 EXIST::FUNCTION:DSA +EVP_PKEY_CTX_set_dh_paramgen_type ? 3_0_0 EXIST::FUNCTION:DH +EVP_PKEY_CTX_set_dh_paramgen_gindex ? 3_0_0 EXIST::FUNCTION:DH +EVP_PKEY_CTX_set_dh_paramgen_seed ? 3_0_0 EXIST::FUNCTION:DH +EVP_PKEY_CTX_set_dh_paramgen_prime_len ? 3_0_0 EXIST::FUNCTION:DH +EVP_PKEY_CTX_set_dh_paramgen_subprime_len ? 3_0_0 EXIST::FUNCTION:DH +EVP_PKEY_CTX_set_dh_paramgen_generator ? 3_0_0 EXIST::FUNCTION:DH +EVP_PKEY_CTX_set_dh_nid ? 3_0_0 EXIST::FUNCTION:DH +EVP_PKEY_CTX_set_dh_rfc5114 ? 3_0_0 EXIST::FUNCTION:DH +EVP_PKEY_CTX_set_dhx_rfc5114 ? 3_0_0 EXIST::FUNCTION:DH +X509_verify_ex ? 3_0_0 EXIST::FUNCTION: +X509_REQ_verify_ex ? 3_0_0 EXIST::FUNCTION: +X509_ALGOR_copy ? 3_0_0 EXIST::FUNCTION: +X509_REQ_set0_signature ? 3_0_0 EXIST::FUNCTION: +X509_REQ_set1_signature_algo ? 3_0_0 EXIST::FUNCTION: +OSSL_PARAM_modified ? 3_0_0 EXIST::FUNCTION: +OSSL_PARAM_set_all_unmodified ? 3_0_0 EXIST::FUNCTION: EVP_chacha20_poly1305_draft ? 3_0_0 EXIST::FUNCTION:CHACHA,POLY1305 diff --git a/util/missingcrypto.txt b/util/missingcrypto.txt index 6ce32388..a84428d7 100644 --- a/util/missingcrypto.txt +++ b/util/missingcrypto.txt @@ -588,6 +588,7 @@ EVP_CIPHER-RC4(7) EVP_CIPHER-RC5(7) EVP_CIPHER-SEED(7) EVP_CIPHER-SM4(7) +EVP_PKEY(3) EVP_KDF-KBKDF(7) EVP_KDF-SSKDF(7) EVP_KDF-TLS1-PRF(7) @@ -604,6 +605,9 @@ EVP_KEYMGMT-RSA(7) EVP_KEYMGMT-X25519(7) EVP_KEYMGMT-X448(7) EVP_SIGNATURE-DSA(7) +EVP_SIGNATURE-ECDSA(7) +EVP_SIGNATURE-ED25519(7) +EVP_SIGNATURE-ED448(7) EVP_SIGNATURE-RSA(7) ERR_clear_last_mark(3) ERR_get_state(3) @@ -1564,8 +1568,6 @@ i2a_ASN1_STRING(3) i2b_PVK_bio(3) i2b_PrivateKey_bio(3) i2b_PublicKey_bio(3) -i2d_PrivateKey_bio(3) -i2d_PrivateKey_fp(3) i2d_X509_bio(3) i2d_X509_fp(3) i2o_ECPublicKey(3) diff --git a/util/missingmacro.txt b/util/missingmacro.txt index ed0f6105..2b02fef5 100644 --- a/util/missingmacro.txt +++ b/util/missingmacro.txt @@ -124,6 +124,11 @@ PKCS7_get_detached(3) PKCS7_is_detached(3) STACK_OF(3) SKM_DEFINE_STACK_OF(3) +DEFINE_OR_DECLARE_STACK_OF(3) +DEFINE_OR_DECLARE_STACK_OF_STRING(3) +DEFINE_OR_DECLARE_STACK_OF_CSTRING(3) +DEFINE_STACK_OF_STRING(3) +DEFINE_STACK_OF_CSTRING(3) U64(3) SSL_set_mtu(3) DTLS_set_link_mtu(3) diff --git a/util/mkdef.pl b/util/mkdef.pl index 6d376d3a..a7d353f3 100755 --- a/util/mkdef.pl +++ b/util/mkdef.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2018-2020 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 diff --git a/util/mkerr.pl b/util/mkerr.pl index 48c5b37e..44332d42 100755 --- a/util/mkerr.pl +++ b/util/mkerr.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 1999-2020 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 diff --git a/util/mktar.sh b/util/mktar.sh index b58fbe9d..04b29e2e 100755 --- a/util/mktar.sh +++ b/util/mktar.sh @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2018-2020 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 diff --git a/util/perl/OpenSSL/OID.pm b/util/perl/OpenSSL/OID.pm index 910c9bb5..0bc34ce5 100644 --- a/util/perl/OpenSSL/OID.pm +++ b/util/perl/OpenSSL/OID.pm @@ -1,4 +1,4 @@ -# Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/util/perl/OpenSSL/ParseC.pm b/util/perl/OpenSSL/ParseC.pm index 6d615016..6d060bb7 100644 --- a/util/perl/OpenSSL/ParseC.pm +++ b/util/perl/OpenSSL/ParseC.pm @@ -372,6 +372,28 @@ EOF { regexp => qr/DEFINE_STACK_OF_CONST<<<\((.*)\)>>>/, massager => sub { return ("SKM_DEFINE_STACK_OF($1,const $1,$1)"); }, }, + { regexp => qr/DEFINE_STACK_OF_STRING<<<\((.*?)\)>>>/, + massager => sub { + return ("DEFINE_SPECIAL_STACK_OF(OPENSSL_STRING, char)"); + } + }, + { regexp => qr/DEFINE_STACK_OF_CSTRING<<<\((.*?)\)>>>/, + massager => sub { + return ("DEFINE_SPECIAL_STACK_OF_CONST(OPENSSL_CSTRING, char)"); + } + }, + # DEFINE_OR_DECLARE macro calls must be interpretted as DEFINE macro + # calls, because that's what they look like to the external apps. + # (if that ever changes, we must change the substitutions to STACK_OF) + { regexp => qr/DEFINE_OR_DECLARE_STACK_OF<<<\((.*?)\)>>>/, + massager => sub { return ("DEFINE_STACK_OF($1)"); } + }, + { regexp => qr/DEFINE_OR_DECLARE_STACK_OF_STRING<<<\(\)>>>/, + massager => sub { return ("DEFINE_STACK_OF_STRING()"); }, + }, + { regexp => qr/DEFINE_OR_DECLARE_STACK_OF_CSTRING<<<\(\)>>>/, + massager => sub { return ("DEFINE_STACK_OF_CSTRING()"); }, + }, ##### # ASN1 stuff diff --git a/util/perl/OpenSSL/Test.pm b/util/perl/OpenSSL/Test.pm index bb39854a..8d2894e7 100644 --- a/util/perl/OpenSSL/Test.pm +++ b/util/perl/OpenSSL/Test.pm @@ -1,4 +1,4 @@ -# Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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 diff --git a/util/perl/OpenSSL/Util/Pod.pm b/util/perl/OpenSSL/Util/Pod.pm index a9576555..02d37d2f 100644 --- a/util/perl/OpenSSL/Util/Pod.pm +++ b/util/perl/OpenSSL/Util/Pod.pm @@ -1,4 +1,4 @@ -# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2020 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