Move mbedlts print func to SSLMbedTLSContext.

This commit is contained in:
Fabio Alessandrelli 2020-01-13 17:10:18 +01:00
parent 2c8340bee9
commit dbbd836931
3 changed files with 12 additions and 10 deletions

View File

@ -38,6 +38,11 @@ static void my_debug(void *ctx, int level,
fflush(stdout); fflush(stdout);
} }
void SSLContextMbedTLS::print_mbedtls_error(int p_ret) {
printf("mbedtls error: returned -0x%x\n\n", -p_ret);
fflush(stdout);
}
Error SSLContextMbedTLS::_setup(int p_endpoint, int p_transport, int p_authmode) { Error SSLContextMbedTLS::_setup(int p_endpoint, int p_transport, int p_authmode) {
ERR_FAIL_COND_V_MSG(inited, ERR_ALREADY_IN_USE, "This SSL context is already active"); ERR_FAIL_COND_V_MSG(inited, ERR_ALREADY_IN_USE, "This SSL context is already active");

View File

@ -51,6 +51,8 @@ protected:
static PoolByteArray _read_file(String p_path); static PoolByteArray _read_file(String p_path);
public: public:
static void print_mbedtls_error(int p_ret);
Ref<X509CertificateMbedTLS> certs; Ref<X509CertificateMbedTLS> certs;
mbedtls_entropy_context entropy; mbedtls_entropy_context entropy;
mbedtls_ctr_drbg_context ctr_drbg; mbedtls_ctr_drbg_context ctr_drbg;

View File

@ -33,11 +33,6 @@
#include "core/io/stream_peer_tcp.h" #include "core/io/stream_peer_tcp.h"
#include "core/os/file_access.h" #include "core/os/file_access.h"
void _print_error(int ret) {
printf("mbedtls error: returned -0x%x\n\n", -ret);
fflush(stdout);
}
int StreamPeerMbedTLS::bio_send(void *ctx, const unsigned char *buf, size_t len) { int StreamPeerMbedTLS::bio_send(void *ctx, const unsigned char *buf, size_t len) {
if (buf == NULL || len <= 0) return 0; if (buf == NULL || len <= 0) return 0;
@ -88,8 +83,8 @@ Error StreamPeerMbedTLS::_do_handshake() {
while ((ret = mbedtls_ssl_handshake(ssl_ctx->get_context())) != 0) { while ((ret = mbedtls_ssl_handshake(ssl_ctx->get_context())) != 0) {
if (ret != MBEDTLS_ERR_SSL_WANT_READ && ret != MBEDTLS_ERR_SSL_WANT_WRITE) { if (ret != MBEDTLS_ERR_SSL_WANT_READ && ret != MBEDTLS_ERR_SSL_WANT_WRITE) {
// An error occurred. // An error occurred.
ERR_PRINTS("TLS handshake error: " + itos(ret)); ERR_PRINT("TLS handshake error: " + itos(ret));
_print_error(ret); SSLContextMbedTLS::print_mbedtls_error(ret);
disconnect_from_stream(); disconnect_from_stream();
status = STATUS_ERROR; status = STATUS_ERROR;
return FAILED; return FAILED;
@ -188,7 +183,7 @@ Error StreamPeerMbedTLS::put_partial_data(const uint8_t *p_data, int p_bytes, in
disconnect_from_stream(); disconnect_from_stream();
return ERR_FILE_EOF; return ERR_FILE_EOF;
} else if (ret <= 0) { } else if (ret <= 0) {
_print_error(ret); SSLContextMbedTLS::print_mbedtls_error(ret);
disconnect_from_stream(); disconnect_from_stream();
return ERR_CONNECTION_ERROR; return ERR_CONNECTION_ERROR;
} }
@ -233,7 +228,7 @@ Error StreamPeerMbedTLS::get_partial_data(uint8_t *p_buffer, int p_bytes, int &r
disconnect_from_stream(); disconnect_from_stream();
return ERR_FILE_EOF; return ERR_FILE_EOF;
} else if (ret <= 0) { } else if (ret <= 0) {
_print_error(ret); SSLContextMbedTLS::print_mbedtls_error(ret);
disconnect_from_stream(); disconnect_from_stream();
return ERR_CONNECTION_ERROR; return ERR_CONNECTION_ERROR;
} }
@ -264,7 +259,7 @@ void StreamPeerMbedTLS::poll() {
disconnect_from_stream(); disconnect_from_stream();
return; return;
} else if (ret < 0) { } else if (ret < 0) {
_print_error(ret); SSLContextMbedTLS::print_mbedtls_error(ret);
disconnect_from_stream(); disconnect_from_stream();
return; return;
} }