summaryrefslogtreecommitdiffstats
path: root/Configurations (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Unix Makefile generator: Fix empty basename callsRichard Levitte2021-01-251-13/+17
| | | | | | | Fixes #13933 Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/13935)
* Unix Makefile generator: separate "simple" shared libraries from import ↵Richard Levitte2021-01-213-27/+63
| | | | | | | | | | | | | | | | | | | | | libraries For Unix like environments, we may have so called "simple" shared library names (libfoo.so as opposed to libfoo.so.1.2), or we may have "import" library names associated with a DLL (libfoo.dll.a for libfoo.dll on Mingw and derivatives). So far, "import" library names were treated the same as "simple" shared library names, as some kind of normalization for the Unix way of doing things. We now shift to treat them separately, to make it clearer what is what. Fixes #13414, incidently Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/13875)
* Mac M1 setting change proposal.David CARLIER2021-01-061-1/+1
| | | | | | | | | Running tests takes very long with the current setting while it takes a lot shorter time with this change. Reviewed-by: Ben Kaduk <kaduk@mit.edu> Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> (Merged from https://github.com/openssl/openssl/pull/13771)
* win-onecore: Build with /APPCONTAINER for UWP compatNirbheek Chauhan2021-01-041-4/+5
| | | | | | | | | | | | | When targeting the win-onecore configuration, we must link with /APPCONTAINER which is a requirement for submitting apps to the Windows Store. Without this, the Windows App Certificate Kit will reject the app: https://docs.microsoft.com/en-us/cpp/build/reference/appcontainer-windows-store-app Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/12400)
* Configurations: PowerPC is big endianSebastian Andrzej Siewior2020-12-141-0/+1
| | | | | | | | | | | | | | Define B_ENDIAN on PowerPC because it is a big endian architecture. With this change the BN* related tests pass. Fixes: #12199 Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Paul Dale <paul.dale@oracle.com> Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> (Merged from https://github.com/openssl/openssl/pull/12371)
* Building: Fix the library file names for MSVC builds to include multilibRichard Levitte2020-12-131-0/+11
| | | | | | | | | | | In OpenSSL 1.1.1, VC-WIN64I and VC-WIN64A have a 'multilib' attribute set, which affect the names of the produced libcrypto and libssl DLLs. This restores that for OpenSSL 3.0. Fixes #13659 Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/13670)
* Modify the ERR init functions to use the internal ERR string loadersRichard Levitte2020-11-241-1/+2
| | | | | | | | | | | | | | This deprecates all the ERR_load_ functions, and moves their definition to separate C source files that can easily be removed when those functions are finally removed. This also reduces include/openssl/kdferr.h to include cryptoerr_legacy.h, moves the declaration of ERR_load_ERR_strings() from include/openssl/err.h to include/openssl/cryptoerr_legacy.h, and finally removes the declaration of ERR_load_DSO_strings(), which was entirely internal anyway. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/13390)
* Support for Android NDK r22-beta1Fred Hornsey2020-11-231-31/+51
| | | | | | | | | | | | | | | | | I think builds using standalone toolchain are fine so I left them alone, but `Configure` will fail if using the NDK directly because the `platforms` and `sysroot` directories were removed. If `sysroot` is missing, omit the `--sysroot` and `-gcc-toolchain` arguments and use the triplet form clang command. Also since `platforms` was being used for the default API level, use `meta/platforms.json` instead if needed. Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Paul Dale <paul.dale@oracle.com> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/13434)
* Haiku system build fix.David Carlier2020-11-201-0/+3
| | | | | | | | overriding ar and flags from BASE_common mainly. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/13438)
* Remove FLOSS from all OSS builds on NonStop except for SPT threading.Randall S. Becker2020-11-011-9/+6
| | | | | | | | | | | | | | | | The Standard POSIX Threads (SPT) implementation hangs in some test cases if FLOSS is not used. CLA: Permission is granted by the author to the OpenSSL team to use these modifications. Fixes #13277 Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/13279)
* Reconciled c99 and loader arguments for float on NonStop TNS/E and TNS/X.Randall S. Becker2020-10-141-12/+36
| | | | | | | | | | | | | | The default settings are now IEEE float. CLA: Permission is granted by the author to the ITUGLIB team to use these modifications. Fixes #12919 Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com> Reviewed-by: Paul Dale <paul.dale@oracle.com> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/13108)
* descrip.mms.tmpl: Add a target to install the FIPS module configRichard Levitte2020-10-081-0/+19
| | | | | | Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> (Merged from https://github.com/openssl/openssl/pull/13032)
* windows-makefile.tmpl: Add a target to install the FIPS module configRichard Levitte2020-10-081-0/+19
| | | | | | Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> (Merged from https://github.com/openssl/openssl/pull/13032)
* unix-Makefile.tmpl: Add a target to install the FIPS module configRichard Levitte2020-10-081-0/+20
| | | | | | | | Fixes #12195 Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> (Merged from https://github.com/openssl/openssl/pull/13032)
* Configure: handle undefined shared_target.Richard Levitte2020-09-291-6/+0
| | | | | | | | | | | | | | Some very basic config targets don't defined the 'shared_target' attribute at all. This wasn't handled well enough in Configure. This also cleans away an explicit reference to the ossltest engine in Configurations/unix-Makefile.tmpl, which isn't necessary since the build.info attributes were added. Fixes openssl/web#197 Reviewed-by: Paul Dale <paul.dale@oracle.com> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/13031)
* Build: Make NonStop shared libraries only export selected symbolsRichard Levitte2020-09-251-8/+14
| | | | | | | We can now re-enable test/recipes/01-test_symbol_presence.t for NonStop. Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/12962)
* Configuration: Don't have shared libraries depend on themselvesRichard Levitte2020-09-251-6/+9
| | | | | | | | | | | | | The NonStop config attributes mean that there's no separate "simple" and "full" shared library name, they are the same. Because we assumed that they would always differ, we ended up with this dependency: libcrypto.so: libcrypto.so A simple fix was all that was needed to clear that. Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/12960)
* Configuration: Make it possible to have an argument fileRichard Levitte2020-09-253-6/+40
| | | | | | | | | | | | | | | | Some compilers / linkers allow arguments to be given in a file instead of on the command line. We make it possible to specify this by giving the compiler / linker flag for it, using the config attribute 'shared_argfileflag'. This currently only impacts the build of shared libraries, as those are potentially made up of a massive amount of object files, which has been reported to overwhelm the command line on some platforms. Fixes #12797 Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/12960)
* Configuration: Streamline NonStop entriesRichard Levitte2020-09-241-171/+267
| | | | | | | | | | | Because there are many combinations and much repetition, we add a large number of templates to cover all aspects, and make the actual config entries inherit from the templates combined. Fixes #12858 Reviewed-by: Tim Hudson <tjh@openssl.org> (Merged from https://github.com/openssl/openssl/pull/12933)
* Configurations/unix-Makefile.tmpl: make cleanup kinderRichard Levitte2020-09-231-3/+3
| | | | | | | | | | | | | | | | | | The removal of certain types of files we structured like this: -$(RM) `find . {{options}} -print` This isn't very kind for shells with limited command line lengths (even when that limit is generous, in our case), so we rewrite those like this: -find . {{options}} -exec $(RM) {} \; Fixes #12938 Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com> (Merged from https://github.com/openssl/openssl/pull/12939)
* Configurations/unix-Makefile.tmpl: Don't specify headers twiceRichard Levitte2020-09-161-6/+6
| | | | | | | | | | | When building in the source tree, a rebuilt Makefile detected both include/openssl/foo.h.in and include/openssl/foo.h, so promptly added include/openssl/foo.h twice to the list of headers to parse in 'make update' Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> (Merged from https://github.com/openssl/openssl/pull/12882)
* Make 'make ordinals' work againRichard Levitte2020-09-131-18/+40
| | | | | | | | | | 'make ordinals' assumed that all headers reside in the source tree, which is no longer true, now that we generate a number of them. This needed some refactoring. Reviewed-by: Paul Dale <paul.dale@oracle.com> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/12781)
* NonStop port updates for 3.0.0.Randall S. Becker2020-09-121-0/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HPE NonStop Port Changes for 3.0.0 Includes unthreaded, PUT, and SPT for OSS. The port changes include wrapping where necessary for FLOSS and appropriate configuration changes to support that. Two tests are excluded as being inappropriate for the platform. The changes are: * Added /usr/local/include to nonstop-nsx_spt_floss to load floss.h * Added SPT Floss variant for NonStop * Wrapped FLOSS definitions in OPENSSL_TANDEM_FLOSS to allow selective enablement. * SPT build configuration for NonStop * Skip tests not relevant for NonStop * PUT configuration changes required for NonStop platforms * Configurations/50-nonstop.conf: updates for TNS/X platform. * FLOSS instrumentation for HPE NonStop TNS/X and TNS/E platforms. * Configurations/50-nonstop.conf: modifications for non-PUT TNS/E platform b * Fix use of DELAY in ssltestlib.c for HPNS. * Fixed commit merge issues and added floss to http_server.c CLA: Permission is granted by the author to the OpenSSL team to use these modifications. Fixes #5087. Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com> Reviewed-by: Shane Lontis <shane.lontis@oracle.com> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/12800)
* Improve robustness and performance of building Unix static librariesDr. David von Oheimb2020-09-112-3/+4
| | | | | | | | | This is a fixup of 385deae79f26dd685339d3141a06d04d6bd753cd, which solved #12116 Reviewed-by: Paul Dale <paul.dale@oracle.com> Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/12821)
* Fix markdown nits in NOTES-Windows.txtRich Salz2020-09-101-1/+1
| | | | | | | | | | And add a comment that this file is in markdown, but has a .txt extension on purpose. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Paul Dale <paul.dale@oracle.com> Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/12805)
* Building: Build Unix static libraries one object file at a timeRichard Levitte2020-09-072-4/+9
| | | | | | | | | | | | | | We're hitting problems that the 'ar' command line becomes too long for some 'make' versions, or the shell it uses. We therefore change the way we create a static library by doing so one object file at a time. This is slower, but has better guarantees to work properly on limited systems. Fixes #12116 Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com> (Merged from https://github.com/openssl/openssl/pull/12706)
* STORE: Move the built-in 'file:' loader to become an engine moduleRichard Levitte2020-09-031-0/+2
| | | | | | | | | | | | | | | | | | | | From this point on, this engine must be specifically specified. To replace the internal EMBEDDED hack with something unique for the new module, functions to create application specific OSSL_STORE_INFO types were added. Furthermore, the following function had to be exported: ossl_do_blob_header() ossl_do_PVK_header() asn1_d2i_read_bio() Finally, evp_pkcs82pkey_int() has become public under a new name, EVP_PKCS82PKEY_with_libctx() Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/12587)
* Fix broken windows builds.Shane Lontis2020-08-171-1/+1
| | | | | | | | | | A miscellaneous '\' was accidently added to set FIPSKEY=$(FIPSKEY) which was causing some external CI build loops to not produce test results. It looks like it was accidently copied from the unix variant which requires the '\'. Thanks to Wolfgang Beck for tracking down the issue. Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/12661)
* Initial Apple Silicon support.C.W. Betts2020-08-101-0/+10
| | | | | | Reviewed-by: Paul Dale <paul.dale@oracle.com> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/12591)
* Fix linking against non-system zlib on macOSJean-Christophe Fillion-Robin2020-07-201-1/+1
| | | | | | | | | | | | This commit ensures the -L/path/to/zlib flag associated with ldflags property set in "Configurations/00-base-templates.conf" (under "BASE_unix") is inherited when defining "darwin-common" configuration. CLA: trivial Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/12238)
* To generate makefile with correct parameters for WinCE.aSoujyuTanaka2020-07-152-5/+5
| | | | | | Reviewed-by: Mark J. Cox <mark@awe.com> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/11526)
* Configurations: make Makefile tmpl files non-linksDaniel Bevenius2020-07-141-5/+3
| | | | | | | | | | | | This commit updates Configurations/README.md and turns the Makefile templates into non-links. The motivation for this is that not all template exist in the directory leading to 404 Not found errors when accessed. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/12401)
* DOC: install documentation without execution permissions.Richard Levitte2020-07-111-8/+8
| | | | | | | Fixes #12350 Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/12373)
* Makefile template: fix incorrect treatment of produced document filesRichard Levitte2020-07-091-8/+8
| | | | | | | | | | | | Documentation files were treated as programs when assigning to the make variables HTMLDOCS{1,3,5,7} and MANDOCS{1,3,5,7}, which is is incorrect on POSIX sub-systems where executables have an extension (.exe). Fixes #11937 Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/12374)
* Fix many MarkDown issues in {NOTES*,README*,HACKING,LICENSE}.md filesDr. David von Oheimb2020-07-052-180/+178
| | | | | Reviewed-by: Tim Hudson <tjh@openssl.org> (Merged from https://github.com/openssl/openssl/pull/12109)
* Rename NOTES*, README*, VERSION, HACKING, LICENSE to .md or .txtDr. David von Oheimb2020-07-053-1/+1
| | | | | Reviewed-by: Tim Hudson <tjh@openssl.org> (Merged from https://github.com/openssl/openssl/pull/12109)
* Configuration and build: Fix solaris tagsRichard Levitte2020-07-041-1/+1
| | | | | | | | | | | The shared_target attrribute for Solaris built with gcc wasn't right and shared libraries couldn't be properly built. Fixes #12356 Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/12360)
* Add --fips-key configuration parameter to fipsinstall application.Rich Salz2020-06-293-3/+10
| | | | | | | | | | | | | | Change default FIPS HMAC KEY from all-zero's Use default FIPSKEY if not given on command line. Make all -macopt in fipsinstall optional Make all tests, except fipsinstall, use the default -macopt and -mac_name flags. Define and use FIPSDIR variable on VMS/MMS. Also use SRCDIR/BLDDIR in SRCTOP/BLDTOP. Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/12235)
* Configurations: drop toolchain from configuration targetsRichard Levitte2020-06-281-4/+8
| | | | | | | | | | Some configuration targets pretend to be for a specific compiler, but are more widely usable, and should reflect that. [work in progress] Reviewed-by: Tim Hudson <tjh@openssl.org> (Merged from https://github.com/openssl/openssl/pull/11230)
* Configuration: do not overwrite BASE_unix ex_libs in AIXAttila Szakacs2020-06-271-4/+4
| | | | | | | | | | | | | BASE_unix sets ex_libs to `-lz` based the on zlib linking. AIX platforms overwrote this instead of adding to it. CLA: Trivial Signed-off-by: Attila Szakacs <attila.szakacs@oneidentity.com> Reviewed-by: Shane Lontis <shane.lontis@oracle.com> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/12271)
* Configure DEPs for FIPS provider on AIX.Matthias Kraft2020-06-182-1/+3
| | | | | | | | | | | | | | | | | The binder of the AIX linker needs to be told which functions to call on loading and initializing a shared object. Therefore another configuration variable shared_fipsflag is introduced, which is appended to shared_defflag when the providers/fips module gets configured. It was suggested to refactor the line in the build file template to become more generic and less magic. There is, however, currently no suggestion how to actually achive this, so we leave a TODO comment. The possible shared_fipsflag must only be appended to the shared_def iff this code is acting on behalf of the fips provider module build. Reviewed-by: Shane Lontis <shane.lontis@oracle.com> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/11950)
* Use the inherited 'bsd-gcc-shared' config on 32-bit x86 BSDs.John Baldwin2020-06-122-7/+0
| | | | | | | | | | | | | | | | | | | BSD-generic32 already uses this for building shared libraries on other 32-bit BSD platforms. Commit b7efa56 collapsed various *BSD targets down to the BSD-generic ones and BSD-x86. At the time only OpenBSD/i386 used `bsd-shared` while both FreeBSD and NetBSD used `bsd-gcc-shared`. In practice, all of the BSDs are using either a GCC/ld.bfd toolchain or a clang/lld toolchain both of which are compatible with 'bsd-gcc-shared'. Retire 'bsd-shared' since this removes the last user. Fixes #12050. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Ben Kaduk <kaduk@mit.edu> Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com> (Merged from https://github.com/openssl/openssl/pull/12110)
* Add "md-nits" make targetRich Salz2020-05-151-2/+11
| | | | | | | | Also fix a nit in recent CHANGES.md update. Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> (Merged from https://github.com/openssl/openssl/pull/11770)
* Update copyright yearMatt Caswell2020-05-151-1/+1
| | | | | Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/11839)
* Configure: Avoid SIXTY_FOUR_BIT for linux-mips64Orgad Shaneh2020-05-151-1/+1
| | | | | | | | | | This is a 32-bit ABI build (as opposed to linux64-mips64). Setting SIXTY_FOUR_BIT breaks hardware optimizations, at least on octeon processors. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/11725)
* Pass "-z defs" to the linker via "-Wl,-z,defs" rather than with gcc's -zThomas Dwyer III2020-05-151-1/+1
| | | | | | | | | | flag (which is not supported by older compilers). CLA: trivial Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/11815)
* Configurations: Identify the shell variables around MANSUFFIXSebastian Andrzej Siewior2020-04-281-20/+20
| | | | | | | | | | | | | | | | With MANSUFFIX=A the statement '$$fn$(MANSUFFIX)' is reaplaces with '$fnA' and left empty because the `fnA' variables is not recognized within the shell. With {} around fn it is then bocomes ${fn}A and works as expected. While here, add the MANSUFFIX to the ECHO line so it is properly printed during build. Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/11643)
* Configurations/unix-Makefile.tmpl: fix typoRichard Levitte2020-04-281-1/+1
| | | | | | | PROCESSSOR => PROCESSOR Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/11654)
* Configurations/windows-makefile.tmpl: Fix template code for INSTALL_MODULESRichard Levitte2020-04-251-6/+4
| | | | | | | Fixes #11623 Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/11629)
* In OpenSSL builds, declare STACK for datatypes ...Rich Salz2020-04-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | ... and only *define* them in the source files that need them. Use DEFINE_OR_DECLARE which is set appropriately for internal builds and not non-deprecated builds. Deprecate stack-of-block Better documentation Move some ASN1 struct typedefs to types.h Update ParseC to handle this. Most of all, ParseC needed to be more consistent. The handlers are "recursive", in so far that they are called again and again until they terminate, which depends entirely on what the "massager" returns. There's a comment at the beginning of ParseC that explains how that works. {Richard Levtte} Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com> Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> (Merged from https://github.com/openssl/openssl/pull/10669)