I think I'm on the right path since my compiler only throws errors for configuration stuff:
This is my mbedtls_config.h:And this is my myhttpserver.cpp file: Here's the full folder of the library myhttpserver:
https://we.tl/t-R7IiR0dcmA
Can you spot any issue so far?
VS Code doesn't show any error of my myhttpserver.cpp file, only when Ninja executes it will generate errors on Terminal.
So something doesn't seem to be correctly "hooked" but I have no idea.
This is my mbedtls_config.h:
Code:
/* Workaround for some mbedtls source files using INT_MAX without including limits.h */#include <limits.h>#define MBEDTLS_NO_PLATFORM_ENTROPY#define MBEDTLS_ENTROPY_HARDWARE_ALT#define MBEDTLS_HAVE_ASM#define MBEDTLS_SSL_IN_CONTENT_LEN 4096#define MBEDTLS_SSL_OUT_CONTENT_LEN 4096#define MBEDTLS_SSL_MAX_CONTENT_LEN 4096#define MBEDTLS_ALLOW_PRIVATE_ACCESS#define MBEDTLS_HAVE_TIME#define MBEDTLS_CIPHER_MODE_CBC#define MBEDTLS_ECP_DP_SECP192R1_ENABLED#define MBEDTLS_ECP_DP_SECP224R1_ENABLED#define MBEDTLS_ECP_DP_SECP256R1_ENABLED#define MBEDTLS_ECP_DP_SECP384R1_ENABLED#define MBEDTLS_ECP_DP_SECP521R1_ENABLED#define MBEDTLS_ECP_DP_SECP192K1_ENABLED#define MBEDTLS_ECP_DP_SECP224K1_ENABLED#define MBEDTLS_ECP_DP_SECP256K1_ENABLED#define MBEDTLS_ECP_DP_BP256R1_ENABLED#define MBEDTLS_ECP_DP_BP384R1_ENABLED#define MBEDTLS_ECP_DP_BP512R1_ENABLED#define MBEDTLS_ECP_DP_CURVE25519_ENABLED#define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED#define MBEDTLS_PKCS1_V15#define MBEDTLS_SHA256_SMALLER#define MBEDTLS_SSL_SERVER_NAME_INDICATION#define MBEDTLS_AES_C#define MBEDTLS_ASN1_PARSE_C#define MBEDTLS_BIGNUM_C#define MBEDTLS_CIPHER_C#define MBEDTLS_CTR_DRBG_C#define MBEDTLS_ENTROPY_C#define MBEDTLS_ERROR_C#define MBEDTLS_MD_C#define MBEDTLS_MD5_C#define MBEDTLS_OID_C#define MBEDTLS_PKCS5_C#define MBEDTLS_PK_C#define MBEDTLS_PK_PARSE_C#define MBEDTLS_PLATFORM_C#define MBEDTLS_RSA_C#define MBEDTLS_SHA1_C#define MBEDTLS_SHA224_C#define MBEDTLS_SHA256_C#define MBEDTLS_SHA512_C#define MBEDTLS_SSL_CLI_C#define MBEDTLS_SSL_SRV_C#define MBEDTLS_SSL_TLS_C#define MBEDTLS_X509_CRT_PARSE_C#define MBEDTLS_X509_USE_C#define MBEDTLS_AES_FEWER_TABLES/* TLS 1.2 */#define MBEDTLS_SSL_PROTO_TLS1_2#define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED#define MBEDTLS_GCM_C#define MBEDTLS_ECDH_C#define MBEDTLS_ECP_C#define MBEDTLS_ECDSA_C#define MBEDTLS_ASN1_WRITE_C#define MBEDTLS_PEM_PARSE_C#define MBEDTLS_BASE64_C/* server items */#define MBEDTLS_SSL_ALPN#define MBEDTLS_SSL_SESSION_TICKETS#define MBEDTLS_SSL_TICKET_C#define MBEDTLS_SSL_CACHE_C// In case someone wants to use frame-pointers#define MULADDC_CANNOT_USE_R7//enable if you want mbedtls verbose prints//#define MBEDTLS_DEBUG_C//#define MBEDTLS_CHECK_PARAMS#define MBEDTLS_HMAC_DRBG_C#define MBEDTLS_ECDSA_DETERMINISTIC//#define MBEDTLS_ARIA_C#define MBEDTLS_BIGNUM_INTERNAL_VALIDATE
Code:
#include "myhttpserver.h"#include "pico/stdlib.h"#include "pico/cyw43_arch.h"#include "lwipopts.h"#include <stdio.h>#include <cstring>#include <string>#include <algorithm>#include <iostream>#include "lwip/apps/httpd.h"#include "lwip/apps/fs.h"#include "oled.h"#include "lwip/tcp.h"#include "lwip/altcp_tls.h"#include "lwip/altcp_tcp.h"#include "lwip/altcp.h"#include "mbedtls/x509_crt.h"#include "mbedtls/pk.h"#include "certs/cert.h"#include "certs/key.h"// LFpHoyX9WjZpRu*U5kX6l38u8v3NVh^J#DSR6^!B// EUq758abUES%!wex68!*static char stored_key1[64];static char stored_value1[64];static char stored_key2[64];static char stored_value2[64];static const unsigned char *SERVER_KEY = NULL;static const unsigned char *SERVER_CERT = NULL;static size_t SERVER_KEY_SIZE = 0;static size_t SERVER_CERT_SIZE = 0;Pico_OLED_1_3 MyHTTPServer::oled;static u16_t ssi_handler(int iIndex, char *pcInsert, int iInsertLen, u16_t current_tag_part, u16_t *next_tag_part) { printf("SSI handler called with index: %d\n", iIndex); stored_key1[sizeof(stored_key1) - 1] = '\0'; stored_value1[sizeof(stored_value1) - 1] = '\0'; stored_key2[sizeof(stored_key2) - 1] = '\0'; stored_value2[sizeof(stored_value2) - 1] = '\0'; switch (iIndex) { case 0: // Key1 strcpy(pcInsert, stored_key1); printf("SSI: Inserting Key1 = '%s'\n", stored_key1); return strlen(stored_key1); case 1: // Value1 strcpy(pcInsert, stored_value1); printf("SSI: Inserting Value1 = '%s'\n", stored_value1); return strlen(stored_value1); case 2: // Key2 strcpy(pcInsert, stored_key2); printf("SSI: Inserting Key2 = '%s'\n", stored_key2); return strlen(stored_key2); case 3: // Value2 strcpy(pcInsert, stored_value2); printf("SSI: Inserting Value2 = '%s'\n", stored_value2); return strlen(stored_value2); default: printf("SSI: Unknown index\n"); return 0; }}err_t httpd_post_begin(void *connection, const char *uri, const char *http_request, u16_t http_request_len, int content_len, char *response_uri, u16_t response_uri_len, u8_t *post_auto_wnd){ printf("POST request started for URI: %s\n", uri); return ERR_OK;}err_t httpd_post_receive_data(void *connection, struct pbuf *p){ printf("Received POST data of length %d\n", p->tot_len); char post_data[128] = {0}; pbuf_copy_partial(p, post_data, sizeof(post_data) - 1, 0); printf("Raw POST data: %s\n", post_data); if (p->tot_len >= sizeof(post_data)) { printf("POST data too large for buffer\n"); pbuf_free(p); return ERR_MEM; } if (p->tot_len == 0) { printf("No POST data received\n"); pbuf_free(p); return ERR_OK; } if (strstr(post_data, "msg=") != NULL) { // Parse the data as a URL-encoded form char *msg_start = strstr(post_data, "msg="); if (msg_start) { msg_start += 4; // Skip "msg=" char *end = strchr(msg_start, '&'); if (end) *end = '\0'; printf("Parsed message: %s\n", msg_start); if (end) *end = '&'; } if (!msg_start) { printf("No message found in POST data\n"); pbuf_free(p); return ERR_OK; } if (strlen(msg_start) > 32) { printf("Message too long\n"); pbuf_free(p); return ERR_ARG; } std::string msg = msg_start; std::replace(msg.begin(), msg.end(), '+', ' '); const char* msg_cstr = msg.c_str(); MyHTTPServer::oled.drawPage("MESSAGE RX", "MESSAGE", msg_cstr, "", 12); sleep_ms(3000); pbuf_free(p); return ERR_OK; } char *value1_start = strstr(post_data, "value1="); char *value2_start = strstr(post_data, "value2="); if (value1_start) { value1_start += 7; // Skip "value1=" char *end = strchr(value1_start, '&'); if (end) *end = '\0'; strncpy(stored_key1, "Value1", sizeof(stored_key1) - 1); strncpy(stored_value1, value1_start, sizeof(stored_value1) - 1); if (end) *end = '&'; } if (value2_start) { value2_start += 7; // Skip "value2=" char *end = strchr(value2_start, '&'); if (end) *end = '\0'; strncpy(stored_key2, "Value2", sizeof(stored_key2) - 1); strncpy(stored_value2, value2_start, sizeof(stored_value2) - 1); } printf("Parsed values - Key1: %s, Value1: %s, Key2: %s, Value2: %s\n", stored_key1, stored_value1, stored_key2, stored_value2); pbuf_free(p); return ERR_OK;}void httpd_post_finished(void *connection, char *response_uri, u16_t response_uri_len){ // Finalize POST request processing printf("POST request finished\n"); strncpy(response_uri, "/post.html", response_uri_len);}static err_t http_recv_function(void *arg, struct tcp_pcb *pcb, struct pbuf *p, err_t err) { if (!p) { // Connection closed by client printf("Connection closed by client\n"); tcp_close(pcb); return ERR_OK; } // Process received data char buffer[128]; pbuf_copy_partial(p, buffer, sizeof(buffer) - 1, 0); buffer[p->tot_len] = '\0'; printf("Received data: %s\n", buffer); // Echo data back to client (optional) tcp_write(pcb, buffer, strlen(buffer), TCP_WRITE_FLAG_COPY); pbuf_free(p); // Free received data buffer return ERR_OK;}static void http_error_function(void *arg, err_t err) { printf("Connection error: %d\n", err);}static err_t http_poll_function(void *arg, struct tcp_pcb *pcb) { printf("Polling connection\n"); return ERR_OK;}static err_t http_accept_function(void *arg, struct tcp_pcb *newpcb, err_t err) { if (err != ERR_OK || newpcb == NULL) { return ERR_VAL; } printf("New connection accepted\n"); // Set up callbacks for this connection tcp_recv(newpcb, http_recv_function); tcp_err(newpcb, http_error_function); tcp_poll(newpcb, http_poll_function, 4); return ERR_OK;}MyHTTPServer::MyHTTPServer() { this->start();}MyHTTPServer::~MyHTTPServer() {}void MyHTTPServer::httpd_init() { struct tcp_pcb *pcb = tcp_new(); // Create a new TCP control block if (!pcb) { printf("Failed to create TCP control block\n"); return; } err_t err = tcp_bind(pcb, IP_ADDR_ANY, 443); // Bind to port 443 for HTTPS if (err != ERR_OK) { printf("Failed to bind to port 443: %d\n", err); return; } pcb = tcp_listen(pcb); // Start listening for incoming connections if (!pcb) { printf("Failed to start listening\n"); return; } tcp_accept(pcb, http_accept_function); // Set accept callback printf("HTTPS server initialized and listening on port 443\n");}void MyHTTPServer::start() { tls_config = NULL; tls_config = altcp_tls_create_config_server_privkey_cert( __key_der, __key_der_len, NULL, 0, __cert_der, __cert_der_len ); if (!tls_config) { printf("Failed to create TLS configuration\n"); } // Update SSI tags to match exactly what's in the HTML static const char *ssi_tags[] = { "Key1", // <!--#Key1--> "Value1", // <!--#Value1--> "Key2", // <!--#Key2--> "Value2" // <!--#Value2--> }; http_set_ssi_handler(ssi_handler, ssi_tags, sizeof(ssi_tags) / sizeof(ssi_tags[0])); printf("SSI handler and tags registered\n"); start_cgi(); httpd_init(); printf("HTTPS server started\n");}void MyHTTPServer::start_cgi() { static const tCGI cgi_handlers[] = { {"/", [](int iIndex, int iNumParams, char *pcParam[], char *pcValue[]) -> const char* { MyHTTPServer::debugInfo(iIndex, iNumParams, pcParam, pcValue); return "/index.html"; }}, {"/post", [](int iIndex, int iNumParams, char *pcParam[], char *pcValue[]) -> const char* { MyHTTPServer::debugInfo(iIndex, iNumParams, pcParam, pcValue); return "/post.html"; }}, {"/get", [](int iIndex, int iNumParams, char *pcParam[], char *pcValue[]) -> const char* { // Store keys and values from GET parameters for (int i = 0; i < iNumParams; i++) { if (i == 0) { strncpy(stored_key1, pcParam[i], sizeof(stored_key1) - 1); strncpy(stored_value1, pcValue[i], sizeof(stored_value1) - 1); } else if (i == 1) { strncpy(stored_key2, pcParam[i], sizeof(stored_key2) - 1); strncpy(stored_value2, pcValue[i], sizeof(stored_value2) - 1); } } MyHTTPServer::debugInfo(iIndex, iNumParams, pcParam, pcValue); return "/get.shtml"; }}, {"/sendMessage", [](int iIndex, int iNumParams, char *pcParam[], char *pcValue[]) -> const char* { MyHTTPServer::debugInfo(iIndex, iNumParams, pcParam, pcValue); return "/post.html"; }} }; http_set_cgi_handlers(cgi_handlers, sizeof(cgi_handlers) / sizeof(cgi_handlers[0]));}void MyHTTPServer::debugInfo(int iIndex, int iNumParams, char *pcParam[], char *pcValue[]) { printf("Debug info\n"); printf("Index: %d\n", iIndex); printf("NumParams: %d\n", iNumParams); for (int i = 0; i < iNumParams; i++) { printf("Param[%d]: %s\n", i, pcParam[i]); printf("Value[%d]: %s\n", i, pcValue[i]); } printf("\n");}
https://we.tl/t-R7IiR0dcmA
Can you spot any issue so far?
VS Code doesn't show any error of my myhttpserver.cpp file, only when Ninja executes it will generate errors on Terminal.
Code:
/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1557:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 1557 | "DES-CBC", | ^~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1557:5: note: (near initialization for 'des_cbc_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1557:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1557:5: note: (near initialization for 'des_cbc_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1560:5: warning: unsigned conversion from 'int' to 'unsigned char:2' changes value from '8' to '0' [-Woverflow] 1560 | 8, | ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1561:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 1561 | &des_info | ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1561:5: note: (near initialization for 'des_cbc_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1561:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1561:5: note: (near initialization for 'des_cbc_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1593:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 1593 | MBEDTLS_CIPHER_DES_EDE_ECB, | ^~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1593:5: note: (near initialization for 'des_ede_ecb_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1595:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '128' to '0' [-Woverflow] 1595 | MBEDTLS_KEY_LENGTH_DES_EDE, | ^~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1596:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 1596 | "DES-EDE-ECB", | ^~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1596:5: note: (near initialization for 'des_ede_ecb_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1596:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1596:5: note: (near initialization for 'des_ede_ecb_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1599:5: warning: unsigned conversion from 'int' to 'unsigned char:2' changes value from '8' to '0' [-Woverflow] 1599 | 8, | ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1600:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 1600 | &des_ede_info | ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1600:5: note: (near initialization for 'des_ede_ecb_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1600:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1600:5: note: (near initialization for 'des_ede_ecb_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1605:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 1605 | MBEDTLS_CIPHER_DES_EDE_CBC, | ^~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1605:5: note: (near initialization for 'des_ede_cbc_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1607:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '128' to '0' [-Woverflow] 1607 | MBEDTLS_KEY_LENGTH_DES_EDE, | ^~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1608:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 1608 | "DES-EDE-CBC", | ^~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1608:5: note: (near initialization for 'des_ede_cbc_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1608:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1608:5: note: (near initialization for 'des_ede_cbc_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1611:5: warning: unsigned conversion from 'int' to 'unsigned char:2' changes value from '8' to '0' [-Woverflow] 1611 | 8, | ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1612:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 1612 | &des_ede_info | ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1612:5: note: (near initialization for 'des_ede_cbc_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1612:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1612:5: note: (near initialization for 'des_ede_cbc_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1644:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 1644 | MBEDTLS_CIPHER_DES_EDE3_ECB, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1644:5: note: (near initialization for 'des_ede3_ecb_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1646:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '192' to '0' [-Woverflow] 1646 | MBEDTLS_KEY_LENGTH_DES_EDE3, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1647:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 1647 | "DES-EDE3-ECB", | ^~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1647:5: note: (near initialization for 'des_ede3_ecb_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1647:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1647:5: note: (near initialization for 'des_ede3_ecb_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1650:5: warning: unsigned conversion from 'int' to 'unsigned char:2' changes value from '8' to '0' [-Woverflow] 1650 | 8, | ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1651:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 1651 | &des_ede3_info | ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1651:5: note: (near initialization for 'des_ede3_ecb_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1651:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1651:5: note: (near initialization for 'des_ede3_ecb_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1655:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 1655 | MBEDTLS_CIPHER_DES_EDE3_CBC, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1655:5: note: (near initialization for 'des_ede3_cbc_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1657:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '192' to '0' [-Woverflow] 1657 | MBEDTLS_KEY_LENGTH_DES_EDE3, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1658:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 1658 | "DES-EDE3-CBC", | ^~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1658:5: note: (near initialization for 'des_ede3_cbc_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1658:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1658:5: note: (near initialization for 'des_ede3_cbc_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1661:5: warning: unsigned conversion from 'int' to 'unsigned char:2' changes value from '8' to '0' [-Woverflow] 1661 | 8, | ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1662:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 1662 | &des_ede3_info | ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1662:5: note: (near initialization for 'des_ede3_cbc_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1662:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1662:5: note: (near initialization for 'des_ede3_cbc_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1966:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 1966 | MBEDTLS_CIPHER_CHACHA20, | ^~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1966:5: note: (near initialization for 'chacha20_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1968:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '256' to '0' [-Woverflow] 1968 | 256, | ^~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1969:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 1969 | "CHACHA20", | ^~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1969:5: note: (near initialization for 'chacha20_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1969:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1969:5: note: (near initialization for 'chacha20_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1973:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 1973 | &chacha20_base_info | ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1973:5: note: (near initialization for 'chacha20_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1973:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:1973:5: note: (near initialization for 'chacha20_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2041:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 2041 | MBEDTLS_CIPHER_CHACHA20_POLY1305, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2041:5: note: (near initialization for 'chachapoly_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2043:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '256' to '0' [-Woverflow] 2043 | 256, | ^~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2044:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 2044 | "CHACHA20-POLY1305", | ^~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2044:5: note: (near initialization for 'chachapoly_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2044:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2044:5: note: (near initialization for 'chachapoly_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2048:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 2048 | &chachapoly_base_info | ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2048:5: note: (near initialization for 'chachapoly_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2048:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2048:5: note: (near initialization for 'chachapoly_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2181:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 2181 | MBEDTLS_CIPHER_AES_128_KW, | ^~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2181:5: note: (near initialization for 'aes_128_nist_kw_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2183:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '128' to '0' [-Woverflow] 2183 | 128, | ^~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2184:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 2184 | "AES-128-KW", | ^~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2184:5: note: (near initialization for 'aes_128_nist_kw_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2184:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2184:5: note: (near initialization for 'aes_128_nist_kw_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2187:5: warning: unsigned conversion from 'int' to 'unsigned char:2' changes value from '16' to '0' [-Woverflow] 2187 | 16, | ^~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2188:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 2188 | &kw_aes_info | ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2188:5: note: (near initialization for 'aes_128_nist_kw_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2188:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2188:5: note: (near initialization for 'aes_128_nist_kw_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2192:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 2192 | MBEDTLS_CIPHER_AES_192_KW, | ^~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2192:5: note: (near initialization for 'aes_192_nist_kw_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2194:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '192' to '0' [-Woverflow] 2194 | 192, | ^~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2195:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 2195 | "AES-192-KW", | ^~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2195:5: note: (near initialization for 'aes_192_nist_kw_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2195:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2195:5: note: (near initialization for 'aes_192_nist_kw_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2198:5: warning: unsigned conversion from 'int' to 'unsigned char:2' changes value from '16' to '0' [-Woverflow] 2198 | 16, | ^~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2199:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 2199 | &kw_aes_info | ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2199:5: note: (near initialization for 'aes_192_nist_kw_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2199:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2199:5: note: (near initialization for 'aes_192_nist_kw_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2203:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 2203 | MBEDTLS_CIPHER_AES_256_KW, | ^~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2203:5: note: (near initialization for 'aes_256_nist_kw_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2205:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '256' to '0' [-Woverflow] 2205 | 256, | ^~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2206:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 2206 | "AES-256-KW", | ^~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2206:5: note: (near initialization for 'aes_256_nist_kw_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2206:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2206:5: note: (near initialization for 'aes_256_nist_kw_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2209:5: warning: unsigned conversion from 'int' to 'unsigned char:2' changes value from '16' to '0' [-Woverflow] 2209 | 16, | ^~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2210:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 2210 | &kw_aes_info | ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2210:5: note: (near initialization for 'aes_256_nist_kw_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2210:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2210:5: note: (near initialization for 'aes_256_nist_kw_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2214:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 2214 | MBEDTLS_CIPHER_AES_128_KWP, | ^~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2214:5: note: (near initialization for 'aes_128_nist_kwp_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2216:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '128' to '0' [-Woverflow] 2216 | 128, | ^~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2217:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 2217 | "AES-128-KWP", | ^~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2217:5: note: (near initialization for 'aes_128_nist_kwp_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2217:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2217:5: note: (near initialization for 'aes_128_nist_kwp_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2220:5: warning: unsigned conversion from 'int' to 'unsigned char:2' changes value from '16' to '0' [-Woverflow] 2220 | 16, | ^~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2221:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 2221 | &kw_aes_info | ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2221:5: note: (near initialization for 'aes_128_nist_kwp_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2221:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2221:5: note: (near initialization for 'aes_128_nist_kwp_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2225:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 2225 | MBEDTLS_CIPHER_AES_192_KWP, | ^~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2225:5: note: (near initialization for 'aes_192_nist_kwp_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2227:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '192' to '0' [-Woverflow] 2227 | 192, | ^~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2228:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 2228 | "AES-192-KWP", | ^~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2228:5: note: (near initialization for 'aes_192_nist_kwp_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2228:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2228:5: note: (near initialization for 'aes_192_nist_kwp_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2231:5: warning: unsigned conversion from 'int' to 'unsigned char:2' changes value from '16' to '0' [-Woverflow] 2231 | 16, | ^~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2232:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 2232 | &kw_aes_info | ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2232:5: note: (near initialization for 'aes_192_nist_kwp_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2232:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2232:5: note: (near initialization for 'aes_192_nist_kwp_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2236:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 2236 | MBEDTLS_CIPHER_AES_256_KWP, | ^~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2236:5: note: (near initialization for 'aes_256_nist_kwp_info.name')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2238:5: warning: unsigned conversion from 'int' to 'unsigned char:3' changes value from '256' to '0' [-Woverflow] 2238 | 256, | ^~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2239:5: warning: initialization of 'unsigned char:4' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 2239 | "AES-256-KWP", | ^~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2239:5: note: (near initialization for 'aes_256_nist_kwp_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2239:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2239:5: note: (near initialization for 'aes_256_nist_kwp_info.key_bitlen')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2242:5: warning: unsigned conversion from 'int' to 'unsigned char:2' changes value from '16' to '0' [-Woverflow] 2242 | 16, | ^~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2243:5: warning: initialization of 'unsigned char:5' from 'const mbedtls_cipher_base_t *' makes integer from pointer without a cast [-Wint-conversion] 2243 | &kw_aes_info | ^/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2243:5: note: (near initialization for 'aes_256_nist_kwp_info.base_idx')/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2243:5: error: initializer element is not computable at load time/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/cipher_wrap.c:2243:5: note: (near initialization for 'aes_256_nist_kwp_info.base_idx')[19/1172] Building C object myhttpserver/CMakeFiles/myhttpserv.../Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/bignum.c.o/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/bignum.c: In function 'mbedtls_mpi_init':/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/bignum.c:43:5: warning: implicit declaration of function 'MBEDTLS_INTERNAL_VALIDATE'; did you mean 'MBEDTLS_BIGNUM_INTERNAL_VALIDATE'? [-Wimplicit-function-declaration] 43 | MBEDTLS_INTERNAL_VALIDATE(cond) | ^~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/bignum.c:69:5: note: in expansion of macro 'MPI_VALIDATE' 69 | MPI_VALIDATE(X != NULL); | ^~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/bignum.c: In function 'mbedtls_mpi_grow':/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/bignum.c:41:5: warning: implicit declaration of function 'MBEDTLS_INTERNAL_VALIDATE_RET'; did you mean 'MBEDTLS_BIGNUM_INTERNAL_VALIDATE'? [-Wimplicit-function-declaration] 41 | MBEDTLS_INTERNAL_VALIDATE_RET(cond, MBEDTLS_ERR_MPI_BAD_INPUT_DATA) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~/Users/alex/.pico-sdk/sdk/2.1.0/lib/mbedtls/library/bignum.c:101:5: note: in expansion of macro 'MPI_VALIDATE_RET' 101 | MPI_VALIDATE_RET(X != NULL); | ^~~~~~~~~~~~~~~~ninja: build stopped: subcommand failed. * The terminal process "/Users/alex/.pico-sdk/ninja/v1.12.1/ninja '-C', '/Users/alex/raspberry_pico/os_/build'" terminated with exit code: 1.
Statistics: Posted by picocpp — Fri Dec 20, 2024 7:33 pm