Merge pull request #23908 from qosmio/ngtcp2-fix-release-number
[feed/packages.git] / libs / libssh / patches / 100-mbedtls_fix.patch
1 --- a/cmake/Modules/FindMbedTLS.cmake
2 +++ b/cmake/Modules/FindMbedTLS.cmake
3 @@ -34,7 +34,7 @@ set(_MBEDTLS_ROOT_HINTS_AND_PATHS
4
5 find_path(MBEDTLS_INCLUDE_DIR
6 NAMES
7 - mbedtls/config.h
8 + mbedtls/version.h
9 HINTS
10 ${_MBEDTLS_ROOT_HINTS_AND_PATHS}
11 PATH_SUFFIXES
12 @@ -72,7 +72,13 @@ find_library(MBEDTLS_X509_LIBRARY
13 set(MBEDTLS_LIBRARIES ${MBEDTLS_SSL_LIBRARY} ${MBEDTLS_CRYPTO_LIBRARY}
14 ${MBEDTLS_X509_LIBRARY})
15
16 -if (MBEDTLS_INCLUDE_DIR AND EXISTS "${MBEDTLS_INCLUDE_DIR}/mbedtls/version.h")
17 +if (MBEDTLS_INCLUDE_DIR AND EXISTS "${MBEDTLS_INCLUDE_DIR}/mbedtls/build_info.h")
18 + file(STRINGS "${MBEDTLS_INCLUDE_DIR}/mbedtls/build_info.h" _mbedtls_version_str REGEX
19 + "^#[\t ]*define[\t ]+MBEDTLS_VERSION_STRING[\t ]+\"[0-9]+.[0-9]+.[0-9]+\"")
20 +
21 + string(REGEX REPLACE "^.*MBEDTLS_VERSION_STRING.*([0-9]+.[0-9]+.[0-9]+).*"
22 + "\\1" MBEDTLS_VERSION "${_mbedtls_version_str}")
23 +elseif (MBEDTLS_INCLUDE_DIR AND EXISTS "${MBEDTLS_INCLUDE_DIR}/mbedtls/version.h")
24 file(STRINGS "${MBEDTLS_INCLUDE_DIR}/mbedtls/version.h" _mbedtls_version_str REGEX
25 "^#[\t ]*define[\t ]+MBEDTLS_VERSION_STRING[\t ]+\"[0-9]+.[0-9]+.[0-9]+\"")
26
27 @@ -93,7 +99,7 @@ if (MBEDTLS_VERSION)
28 in the system variable MBEDTLS_ROOT_DIR"
29 )
30 else (MBEDTLS_VERSION)
31 - find_package_handle_standard_args(MBedTLS
32 + find_package_handle_standard_args(MbedTLS
33 "Could NOT find mbedTLS, try to set the path to mbedLS root folder in
34 the system variable MBEDTLS_ROOT_DIR"
35 MBEDTLS_INCLUDE_DIR
36 --- a/src/libmbedcrypto.c
37 +++ b/src/libmbedcrypto.c
38 @@ -118,8 +118,14 @@ int hmac_update(HMACCTX c, const void *d
39
40 int hmac_final(HMACCTX c, unsigned char *hashmacbuf, size_t *len)
41 {
42 + const mbedtls_md_info_t *md_info;
43 int rc;
44 - *len = (unsigned int)mbedtls_md_get_size(c->md_info);
45 +#if MBEDTLS_VERSION_MAJOR >= 3
46 + md_info = mbedtls_md_info_from_ctx(c);
47 +#else
48 + md_info = c->md_info;
49 +#endif
50 + *len = (unsigned int)mbedtls_md_get_size(md_info);
51 rc = !mbedtls_md_hmac_finish(c, hashmacbuf);
52 mbedtls_md_free(c);
53 SAFE_FREE(c);