psa_sim: improve log prints

- always print ERROR and FATAL messages because they should never
  occur, but when they do it's important to see them immediately;
- keep INFO prints under DEBUG guard;
- set client's PRINT as INFO message because otherwise it will
  mess test_suites's output;
- change some error messages from INFO to ERROR because that's
  what they are.

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
This commit is contained in:
Valerio Setti 2024-06-17 10:50:36 +02:00
parent 7c52100fbd
commit 2eb8cc7d9d
5 changed files with 24 additions and 15 deletions

View File

@ -13,20 +13,18 @@
#if defined(DEBUG)
#define INFO(fmt, ...) \
fprintf(stdout, "Info (%s - %d): " fmt "\n", __FILE__, __LINE__, ##__VA_ARGS__)
#else /* !DEBUG */
#define INFO(...)
#endif /* DEBUG*/
#define ERROR(fmt, ...) \
fprintf(stdout, "Error (%s - %d): " fmt "\n", __FILE__, __LINE__, ##__VA_ARGS__)
fprintf(stderr, "Error (%s - %d): " fmt "\n", __FILE__, __LINE__, ##__VA_ARGS__)
#define FATAL(fmt, ...) \
{ \
fprintf(stdout, "Fatal (%s - %d): " fmt "\n", __FILE__, __LINE__, ##__VA_ARGS__); \
fprintf(stderr, "Fatal (%s - %d): " fmt "\n", __FILE__, __LINE__, ##__VA_ARGS__); \
abort(); \
}
#else /* DEBUG */
#define INFO(...)
#define ERROR(...)
#define FATAL(...)
#endif /* DEBUG*/
#define PROJECT_ID 'M'
#define PATHNAMESIZE 256

View File

@ -7,12 +7,14 @@
/* Includes from mbedtls */
#include "psa/crypto.h"
#include "util.h"
int main()
{
/* psa_crypto_init() connects to the server */
psa_status_t status = psa_crypto_init();
if (status != PSA_SUCCESS) {
ERROR("psa_crypto_init returned %d", status);
return 1;
}

View File

@ -199,7 +199,6 @@ static psa_status_t process_response(int rx_qid, vectors_t *vecs, int type,
default:
FATAL(" ERROR: unknown internal message type: %ld",
response.message_type);
return ret;
}
}
}
@ -301,10 +300,10 @@ psa_handle_t psa_connect(uint32_t sid, uint32_t minor_version)
handles[idx].valid = 1;
return idx;
} else {
INFO("Server didn't like you");
ERROR("Server didn't like you");
}
} else {
INFO("Couldn't contact RoT service. Does it exist?");
ERROR("Couldn't contact RoT service. Does it exist?");
if (__psa_ff_client_security_state == 0) {
ERROR("Invalid SID");
@ -339,7 +338,7 @@ uint32_t psa_version(uint32_t sid)
}
}
}
INFO("psa_version failed: does the service exist?");
ERROR("psa_version failed: does the service exist?");
return PSA_VERSION_NONE;
}

View File

@ -22,7 +22,7 @@
#include "psa/crypto.h"
#define CLIENT_PRINT(fmt, ...) \
PRINT("Client: " fmt, ##__VA_ARGS__)
INFO("Client: " fmt, ##__VA_ARGS__)
static psa_handle_t handle = -1;

View File

@ -10,6 +10,7 @@
*/
#include "psa_sim_serialise.h"
#include "util.h"
#include <stdlib.h>
#include <string.h>
@ -71,8 +72,7 @@ static ssize_t allocate_hash_operation_slot(void)
{
psasim_client_handle_t handle = next_hash_operation_handle++;
if (next_hash_operation_handle == 0) { /* wrapped around */
fprintf(stderr, "MAX HASH HANDLES REACHED\n");
exit(1);
FATAL("Hash operation handle wrapped");
}
for (ssize_t i = 0; i < MAX_LIVE_HANDLES_PER_CLASS; i++) {
@ -82,6 +82,8 @@ static ssize_t allocate_hash_operation_slot(void)
}
}
ERROR("All slots are currently used. Unable to allocate a new one.");
return -1; /* all in use */
}
@ -94,7 +96,9 @@ static ssize_t find_hash_slot_by_handle(psasim_client_handle_t handle)
}
}
return -1; /* all in use */
ERROR("Unable to find slot by handle %u", handle);
return -1; /* not found */
}
static psa_aead_operation_t aead_operations[MAX_LIVE_HANDLES_PER_CLASS];
@ -706,3 +710,9 @@ int psasim_deserialise_mbedtls_svc_key_id_t(uint8_t **pos,
return 1;
}
void psa_sim_serialize_reset(void)
{
memset(hash_operation_handles, 0, sizeof(hash_operation_handles));
memset(hash_operations, 0, sizeof(hash_operations));
}