openssl/util
slontis 5df34ca70a Make the generated params_idx.c file deterministic if run multiple
times.

Fixes #23672

There are many name/value pairs currently that have duplicate names e.g.

    'CAPABILITY_TLS_GROUP_MAX_TLS' =>           "tls-max-tls",
    'CAPABILITY_TLS_SIGALG_MAX_TLS' =>          "tls-max-tls",

Stripping the .pm file down to just the above entries and running
multiple times gives different results for the produce_decoder.

On multiple runs any iterations over the unordered hash table keys using
foreach my $name (keys %params) results in a different order on multiple
runs. Because of this the mapping from the hash 'value' back to the
'key' will be different.

Note that the code also uses another mechanism in places that uses
"name1" => "value"
"name2" => "*name1"
Rather than fix all the strings the change done was to sort the keys. If
we were to chose to fix the strings then the perl code should be changed
to detect duplicates.

Reviewed-by: Paul Dale <ppzgs1@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
(Merged from https://github.com/openssl/openssl/pull/23688)
2024-03-11 12:08:00 +00:00
..
perl Make the generated params_idx.c file deterministic if run multiple 2024-03-11 12:08:00 +00:00
platform_symbols Windows: Add _dclass to the allowed symbols list 2024-02-09 11:03:53 +00:00
add-depends.pl Update copyright year 2022-05-03 13:34:51 +01:00
build.info Disable building quicserver utility when configured with no-apps option 2023-12-29 10:16:46 +01:00
c-compress-test.pl FIPS module checksums: add scripts and Makefile rule 2021-05-04 11:32:16 +02:00
cavs-to-evptest.pl Add the NIST CAVS test vectors for CCM 2019-05-23 10:49:54 +01:00
check-format-test-negatives.c check-format.pl: improve whitespace reporting on <op>= 2022-09-02 21:32:46 +02:00
check-format-test-positives.c check-format.pl: improve whitespace reporting on <op>= 2022-09-02 21:32:46 +02:00
check-format.pl Copyright year updates 2023-09-07 09:59:15 +01:00
check-malloc-errs Following the license change, modify the boilerplates in util/, tools/ 2018-12-06 14:17:23 +01:00
checkplatformsyms.pl Create a rudimentary symbol scanning script 2023-11-01 16:32:26 +01:00
ck_errf.pl Create provider errors and use them 2019-04-19 09:31:54 +01:00
copy.pl Following the license change, modify the boilerplates in util/, tools/ 2018-12-06 14:17:23 +01:00
ctags.sh Fix new typos found by codespell 2023-06-18 16:53:09 +10:00
dofile.pl configdata.pm.in, util/dofile.pl: Make a HERE document stricter. 2020-10-27 10:17:19 +01:00
echo.pl always use the same perl in $PATH 2021-09-02 12:55:39 +10:00
engines.num Change the build of engines to use ordinal files for symbol export 2018-10-05 08:22:42 +02:00
err-to-raise Simplify util/err-to-raise 2020-11-18 11:40:52 +01:00
find-doc-nits Copyright year updates 2023-09-07 09:59:15 +01:00
find-unused-errs Following the license change, modify the boilerplates in util/, tools/ 2018-12-06 14:17:23 +01:00
fips-checksums.sh always use the same perl in $PATH 2021-09-02 12:55:39 +10:00
fix-deprecation always use the same perl in $PATH 2021-09-02 12:55:39 +10:00
fix-includes Update copyright year 2020-04-23 13:55:52 +01:00
fix-includes.sed CRYPTO: split cipher_platform.h into algorithm specific headers 2019-12-19 13:31:29 +01:00
help.pl Add "make help" option 2023-03-06 08:00:58 +11:00
indent.pro Removes record_queue struct which is no longer useful. 2024-02-16 16:33:14 +01:00
lang-compress.pl util: update FIPS checksumming script to be more aggressive with whitespace 2021-06-03 11:56:21 +10:00
libcrypto.num crypto/cmp: add OSSL_CMP_MSG_get0_certreq_publickey(); fix coding style nit 2024-03-06 08:49:28 +01:00
libssl.num Extended SSL_SESSION functions using time_t 2024-02-21 10:28:17 +01:00
markdownlint.rb Adjust mdl configuration 2023-10-24 17:34:07 +01:00
merge-err-lines Add merge-err-lines script 2019-09-19 09:27:38 -04:00
missingcrypto111.txt DOC: Add a few previously documented functions 2021-11-23 19:34:19 +01:00
missingcrypto-internal.txt STORE: Move the built-in 'file:' loader to become an engine module 2020-09-03 17:48:32 +02:00
missingcrypto.txt Add missing documentation for X509_ATTRIBUTE related functions. 2024-01-03 12:50:54 +01:00
missingmacro111.txt Document some SSL DH related functions/macros 2020-11-18 14:14:53 +00:00
missingmacro.txt BIO_s_dgram: add documentation and hazard warnings 2022-12-15 06:32:45 +00:00
missingssl111.txt Adjust all util/missing*.txt to include the section number 2019-12-21 22:53:54 +01:00
missingssl-internal.txt Initialize files that declare internal symbols 2020-04-11 15:51:43 +02:00
missingssl.txt Add documentation for the function SSL_CONF_CTX_finish. 2023-09-20 10:25:51 +10:00
mk-fipsmodule-cnf.pl Copyright year updates 2023-09-07 09:59:15 +01:00
mkbuildinf.pl Following the license change, modify the boilerplates in util/, tools/ 2018-12-06 14:17:23 +01:00
mkdef.pl AIX: Implement shared_target = "aix-solib" support 2024-02-05 10:10:25 +01:00
mkdir-p.pl Update copyright year 2021-04-08 13:04:41 +01:00
mkerr.pl Copyright year updates 2023-09-07 09:59:15 +01:00
mkinstallvars.pl Add exporters for CMake 2023-11-15 08:22:29 +01:00
mknum.pl Ensure ordinals are created during release process 2021-06-29 09:51:30 +10:00
mkpod2html.pl Fix util/mkpod2html.pl to call pod2html with absolute paths 2021-09-21 11:05:53 +02:00
mkrc.pl util/mkrc.pl: Make sure FILEVERSION and PRODUCTVERSION have four numbers 2020-11-17 13:18:16 +01:00
mktar.sh Fix treatment of BUILD_METADATA 2022-12-08 07:01:33 +01:00
opensslwrap.sh util/opensslwrap.sh: adjust to define OPENSSL_MODULES as well 2019-07-15 16:14:35 +02:00
other-internal.syms Suppress errors about undocumented asn1_d2i_read_bio 2021-02-22 12:11:38 +00:00
other.syms QUIC: Add stream write buffer queries 2024-03-09 08:56:59 +00:00
providers.num Add provider module infrastructure 2019-03-11 20:40:13 +01:00
quicserver.c QUIC CHANNEL: Consolidate forward object declarations in a single header 2023-12-21 08:11:59 +00:00
shlib_wrap.sh.in Add explicit support in util/shlib_wrap.sh.in for NonStop DLL loading. 2021-03-30 19:08:32 +02:00
su-filter.pl Following the license change, modify the boilerplates in util/, tools/ 2018-12-06 14:17:23 +01:00
update_abi_check.sh Update ci and ABI xml files to validate function parameters 2023-11-15 11:08:17 +01:00
withlibctx.pl Perl util to do with_libctx renaming 2020-10-01 09:23:05 +01:00
wrap.pl.in Fix util/wrap.pl.in for VMS usage 2023-03-08 12:29:22 +01:00
write-man-symlinks write-man-symlinks: Write relative symlinks not absolute 2021-05-25 17:14:09 +02:00