mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2026-03-20 19:21:09 +01:00
Merge pull request #10361 from bensze01/runtime-version-interface
Simplify runtime version info string methods
This commit is contained in:
9
ChangeLog.d/runtime-version-interface.txt
Normal file
9
ChangeLog.d/runtime-version-interface.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
API changes
|
||||
* Change the signature of the runtime version information methods that took
|
||||
a char* as an argument to take zero arguments and return a const char*
|
||||
instead. This aligns us with the interface used in TF PSA Crypto 1.0.
|
||||
If you need to support linking against both Mbed TLS 3.x and 4.x, please
|
||||
use the build-time version macros or mbedtls_version_get_number() to
|
||||
determine the correct signature for mbedtls_version_get_string() and
|
||||
mbedtls_version_get_string_full() before calling them.
|
||||
Fixes issue #10308.
|
||||
@@ -32,23 +32,14 @@ extern "C" {
|
||||
unsigned int mbedtls_version_get_number(void);
|
||||
|
||||
/**
|
||||
* Get the version string ("x.y.z").
|
||||
*
|
||||
* \param string The string that will receive the value.
|
||||
* (Should be at least 9 bytes in size)
|
||||
* Get a pointer to the version string ("x.y.z").
|
||||
*/
|
||||
void mbedtls_version_get_string(char *string);
|
||||
const char *mbedtls_version_get_string(void);
|
||||
|
||||
/**
|
||||
* Get the full version string ("Mbed TLS x.y.z").
|
||||
*
|
||||
* \param string The string that will receive the value. The Mbed TLS version
|
||||
* string will use 18 bytes AT MOST including a terminating
|
||||
* null byte.
|
||||
* (So the buffer should be at least 18 bytes to receive this
|
||||
* version string).
|
||||
* Get a pointer to the full version string ("Mbed TLS x.y.z").
|
||||
*/
|
||||
void mbedtls_version_get_string_full(char *string);
|
||||
const char *mbedtls_version_get_string_full(void);
|
||||
|
||||
/**
|
||||
* \brief Check if support for a feature was compiled into this
|
||||
|
||||
@@ -17,16 +17,14 @@ unsigned int mbedtls_version_get_number(void)
|
||||
return MBEDTLS_VERSION_NUMBER;
|
||||
}
|
||||
|
||||
void mbedtls_version_get_string(char *string)
|
||||
const char *mbedtls_version_get_string(void)
|
||||
{
|
||||
memcpy(string, MBEDTLS_VERSION_STRING,
|
||||
sizeof(MBEDTLS_VERSION_STRING));
|
||||
return MBEDTLS_VERSION_STRING;
|
||||
}
|
||||
|
||||
void mbedtls_version_get_string_full(char *string)
|
||||
const char *mbedtls_version_get_string_full(void)
|
||||
{
|
||||
memcpy(string, MBEDTLS_VERSION_STRING_FULL,
|
||||
sizeof(MBEDTLS_VERSION_STRING_FULL));
|
||||
return MBEDTLS_VERSION_STRING_FULL;
|
||||
}
|
||||
|
||||
#endif /* MBEDTLS_VERSION_C */
|
||||
|
||||
@@ -18,10 +18,7 @@
|
||||
* linkage works, but that is all. */
|
||||
int main()
|
||||
{
|
||||
/* This version string is 18 bytes long, as advised by version.h. */
|
||||
char version[18];
|
||||
|
||||
mbedtls_version_get_string_full(version);
|
||||
const char *version = mbedtls_version_get_string_full();
|
||||
|
||||
mbedtls_printf("Built against %s\n", version);
|
||||
|
||||
|
||||
@@ -19,10 +19,7 @@
|
||||
* linkage works, but that is all. */
|
||||
int main()
|
||||
{
|
||||
/* This version string is 18 bytes long, as advised by version.h. */
|
||||
char version[18];
|
||||
|
||||
mbedtls_version_get_string_full(version);
|
||||
const char *version = mbedtls_version_get_string_full();
|
||||
|
||||
mbedtls_printf("Built against %s\n", version);
|
||||
|
||||
|
||||
@@ -19,10 +19,7 @@
|
||||
* linkage works, but that is all. */
|
||||
int main()
|
||||
{
|
||||
/* This version string is 18 bytes long, as advised by version.h. */
|
||||
char version[18];
|
||||
|
||||
mbedtls_version_get_string_full(version);
|
||||
const char *version = mbedtls_version_get_string_full();
|
||||
|
||||
mbedtls_printf("Built against %s\n", version);
|
||||
|
||||
|
||||
@@ -73,12 +73,12 @@ int psa_crypto_call(int function,
|
||||
|
||||
psa_status_t psa_crypto_init(void)
|
||||
{
|
||||
char mbedtls_version[18];
|
||||
const char *mbedtls_version;
|
||||
uint8_t *result = NULL;
|
||||
size_t result_length;
|
||||
psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
|
||||
|
||||
mbedtls_version_get_string_full(mbedtls_version);
|
||||
mbedtls_version = mbedtls_version_get_string_full();
|
||||
CLIENT_PRINT("%s", mbedtls_version);
|
||||
|
||||
CLIENT_PRINT("My PID: %d", getpid());
|
||||
|
||||
@@ -390,12 +390,12 @@ int psa_crypto_call(int function,
|
||||
|
||||
psa_status_t psa_crypto_init(void)
|
||||
{
|
||||
char mbedtls_version[18];
|
||||
const char *mbedtls_version;
|
||||
uint8_t *result = NULL;
|
||||
size_t result_length;
|
||||
psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
|
||||
|
||||
mbedtls_version_get_string_full(mbedtls_version);
|
||||
mbedtls_version = mbedtls_version_get_string_full();
|
||||
CLIENT_PRINT("%s", mbedtls_version);
|
||||
|
||||
CLIENT_PRINT("My PID: %d", getpid());
|
||||
|
||||
@@ -56,8 +56,7 @@ int psa_server_main(int argc, char *argv[])
|
||||
extern psa_status_t psa_crypto_close(void);
|
||||
|
||||
#if defined(MBEDTLS_VERSION_C)
|
||||
char mbedtls_version[18];
|
||||
mbedtls_version_get_string_full(mbedtls_version);
|
||||
const char *mbedtls_version = mbedtls_version_get_string_full();
|
||||
SERVER_PRINT("%s", mbedtls_version);
|
||||
#endif
|
||||
|
||||
|
||||
@@ -38,19 +38,17 @@ void check_compiletime_version(char *version_str)
|
||||
void check_runtime_version(char *version_str)
|
||||
{
|
||||
char build_str[100];
|
||||
char get_str[100];
|
||||
const char *get_str;
|
||||
char build_str_full[100];
|
||||
char get_str_full[100];
|
||||
const char *get_str_full;
|
||||
unsigned int get_int;
|
||||
|
||||
memset(build_str, 0, 100);
|
||||
memset(get_str, 0, 100);
|
||||
memset(build_str_full, 0, 100);
|
||||
memset(get_str_full, 0, 100);
|
||||
|
||||
get_int = mbedtls_version_get_number();
|
||||
mbedtls_version_get_string(get_str);
|
||||
mbedtls_version_get_string_full(get_str_full);
|
||||
get_str = mbedtls_version_get_string();
|
||||
get_str_full = mbedtls_version_get_string_full();
|
||||
|
||||
mbedtls_snprintf(build_str, 100, "%u.%u.%u",
|
||||
(get_int >> 24) & 0xFF,
|
||||
|
||||
Reference in New Issue
Block a user