1*32b31808SJens Wiklander /** 2*32b31808SJens Wiklander * \file ssl_debug_helpers.h 3*32b31808SJens Wiklander * 4*32b31808SJens Wiklander * \brief Automatically generated helper functions for debugging 5*32b31808SJens Wiklander */ 6*32b31808SJens Wiklander /* 7*32b31808SJens Wiklander * Copyright The Mbed TLS Contributors 8*32b31808SJens Wiklander * SPDX-License-Identifier: Apache-2.0 9*32b31808SJens Wiklander * 10*32b31808SJens Wiklander * Licensed under the Apache License, Version 2.0 (the "License"); you may 11*32b31808SJens Wiklander * not use this file except in compliance with the License. 12*32b31808SJens Wiklander * You may obtain a copy of the License at 13*32b31808SJens Wiklander * 14*32b31808SJens Wiklander * http://www.apache.org/licenses/LICENSE-2.0 15*32b31808SJens Wiklander * 16*32b31808SJens Wiklander * Unless required by applicable law or agreed to in writing, software 17*32b31808SJens Wiklander * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 18*32b31808SJens Wiklander * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 19*32b31808SJens Wiklander * See the License for the specific language governing permissions and 20*32b31808SJens Wiklander * limitations under the License. 21*32b31808SJens Wiklander */ 22*32b31808SJens Wiklander 23*32b31808SJens Wiklander #ifndef MBEDTLS_SSL_DEBUG_HELPERS_H 24*32b31808SJens Wiklander #define MBEDTLS_SSL_DEBUG_HELPERS_H 25*32b31808SJens Wiklander 26*32b31808SJens Wiklander #include "common.h" 27*32b31808SJens Wiklander 28*32b31808SJens Wiklander #if defined(MBEDTLS_DEBUG_C) 29*32b31808SJens Wiklander 30*32b31808SJens Wiklander #include "mbedtls/ssl.h" 31*32b31808SJens Wiklander #include "ssl_misc.h" 32*32b31808SJens Wiklander 33*32b31808SJens Wiklander 34*32b31808SJens Wiklander const char *mbedtls_ssl_states_str(mbedtls_ssl_states in); 35*32b31808SJens Wiklander 36*32b31808SJens Wiklander const char *mbedtls_ssl_protocol_version_str(mbedtls_ssl_protocol_version in); 37*32b31808SJens Wiklander 38*32b31808SJens Wiklander const char *mbedtls_tls_prf_types_str(mbedtls_tls_prf_types in); 39*32b31808SJens Wiklander 40*32b31808SJens Wiklander const char *mbedtls_ssl_key_export_type_str(mbedtls_ssl_key_export_type in); 41*32b31808SJens Wiklander 42*32b31808SJens Wiklander const char *mbedtls_ssl_sig_alg_to_str(uint16_t in); 43*32b31808SJens Wiklander 44*32b31808SJens Wiklander const char *mbedtls_ssl_named_group_to_str(uint16_t in); 45*32b31808SJens Wiklander 46*32b31808SJens Wiklander const char *mbedtls_ssl_get_extension_name(unsigned int extension_type); 47*32b31808SJens Wiklander 48*32b31808SJens Wiklander void mbedtls_ssl_print_extensions(const mbedtls_ssl_context *ssl, 49*32b31808SJens Wiklander int level, const char *file, int line, 50*32b31808SJens Wiklander int hs_msg_type, uint32_t extensions_mask, 51*32b31808SJens Wiklander const char *extra); 52*32b31808SJens Wiklander 53*32b31808SJens Wiklander void mbedtls_ssl_print_extension(const mbedtls_ssl_context *ssl, 54*32b31808SJens Wiklander int level, const char *file, int line, 55*32b31808SJens Wiklander int hs_msg_type, unsigned int extension_type, 56*32b31808SJens Wiklander const char *extra_msg0, const char *extra_msg1); 57*32b31808SJens Wiklander 58*32b31808SJens Wiklander #if defined(MBEDTLS_SSL_PROTO_TLS1_3) && defined(MBEDTLS_SSL_SESSION_TICKETS) 59*32b31808SJens Wiklander void mbedtls_ssl_print_ticket_flags(const mbedtls_ssl_context *ssl, 60*32b31808SJens Wiklander int level, const char *file, int line, 61*32b31808SJens Wiklander unsigned int flags); 62*32b31808SJens Wiklander #endif /* MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_SSL_SESSION_TICKETS */ 63*32b31808SJens Wiklander 64*32b31808SJens Wiklander #define MBEDTLS_SSL_PRINT_EXTS(level, hs_msg_type, extensions_mask) \ 65*32b31808SJens Wiklander mbedtls_ssl_print_extensions(ssl, level, __FILE__, __LINE__, \ 66*32b31808SJens Wiklander hs_msg_type, extensions_mask, NULL) 67*32b31808SJens Wiklander 68*32b31808SJens Wiklander #define MBEDTLS_SSL_PRINT_EXT(level, hs_msg_type, extension_type, extra) \ 69*32b31808SJens Wiklander mbedtls_ssl_print_extension(ssl, level, __FILE__, __LINE__, \ 70*32b31808SJens Wiklander hs_msg_type, extension_type, \ 71*32b31808SJens Wiklander extra, NULL) 72*32b31808SJens Wiklander 73*32b31808SJens Wiklander #if defined(MBEDTLS_SSL_PROTO_TLS1_3) && defined(MBEDTLS_SSL_SESSION_TICKETS) 74*32b31808SJens Wiklander #define MBEDTLS_SSL_PRINT_TICKET_FLAGS(level, flags) \ 75*32b31808SJens Wiklander mbedtls_ssl_print_ticket_flags(ssl, level, __FILE__, __LINE__, flags) 76*32b31808SJens Wiklander #endif 77*32b31808SJens Wiklander 78*32b31808SJens Wiklander #else 79*32b31808SJens Wiklander 80*32b31808SJens Wiklander #define MBEDTLS_SSL_PRINT_EXTS(level, hs_msg_type, extension_mask) 81*32b31808SJens Wiklander 82*32b31808SJens Wiklander #define MBEDTLS_SSL_PRINT_EXT(level, hs_msg_type, extension_type, extra) 83*32b31808SJens Wiklander 84*32b31808SJens Wiklander #if defined(MBEDTLS_SSL_PROTO_TLS1_3) && defined(MBEDTLS_SSL_SESSION_TICKETS) 85*32b31808SJens Wiklander #define MBEDTLS_SSL_PRINT_TICKET_FLAGS(level, flags) 86*32b31808SJens Wiklander #endif 87*32b31808SJens Wiklander 88*32b31808SJens Wiklander #endif /* MBEDTLS_DEBUG_C */ 89*32b31808SJens Wiklander 90*32b31808SJens Wiklander #endif /* MBEDTLS_SSL_DEBUG_HELPERS_H */ 91