mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-08 07:04:32 +02:00
Merge branch 'bugfix/eapol_log_verbosity' into 'master'
wpa_supplicant: Add wpa_supllicant debug logging as a configurable option Closes WIFI-976 See merge request espressif/esp-idf!7289
This commit is contained in:
@@ -6,4 +6,15 @@ menu "Supplicant"
|
|||||||
help
|
help
|
||||||
Select this option to use MbedTLS crypto API's which utilize hardware acceleration.
|
Select this option to use MbedTLS crypto API's which utilize hardware acceleration.
|
||||||
|
|
||||||
|
config WPA_DEBUG_PRINT
|
||||||
|
bool "Print debug messages from WPA Supplicant"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
Select this option to print logging information from WPA supplicant,
|
||||||
|
this includes handshake information and key hex dumps depending
|
||||||
|
on the project logging level.
|
||||||
|
|
||||||
|
Enabling this could increase the build size ~60kb
|
||||||
|
depending on the project logging level.
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
@@ -47,6 +47,7 @@ void wpa_debug_close_file(void);
|
|||||||
*/
|
*/
|
||||||
void wpa_debug_print_timestamp(void);
|
void wpa_debug_print_timestamp(void);
|
||||||
|
|
||||||
|
#ifdef DEBUG_PRINT
|
||||||
/**
|
/**
|
||||||
* wpa_printf - conditional printf
|
* wpa_printf - conditional printf
|
||||||
* @level: priority level (MSG_*) of the message
|
* @level: priority level (MSG_*) of the message
|
||||||
@@ -58,21 +59,6 @@ void wpa_debug_print_timestamp(void);
|
|||||||
*
|
*
|
||||||
* Note: New line '\n' is added to the end of the text when printing to stdout.
|
* Note: New line '\n' is added to the end of the text when printing to stdout.
|
||||||
*/
|
*/
|
||||||
#define DEBUG_PRINT
|
|
||||||
#define MSG_PRINT
|
|
||||||
|
|
||||||
/**
|
|
||||||
* wpa_hexdump - conditional hex dump
|
|
||||||
* @level: priority level (MSG_*) of the message
|
|
||||||
* @title: title of for the message
|
|
||||||
* @buf: data buffer to be dumped
|
|
||||||
* @len: length of the buf
|
|
||||||
*
|
|
||||||
* This function is used to print conditional debugging and error messages. The
|
|
||||||
* output may be directed to stdout, stderr, and/or syslog based on
|
|
||||||
* configuration. The contents of buf is printed out has hex dump.
|
|
||||||
*/
|
|
||||||
#ifdef DEBUG_PRINT
|
|
||||||
#define wpa_printf(level,fmt, args...) ESP_LOG_LEVEL_LOCAL(level, TAG, fmt, ##args)
|
#define wpa_printf(level,fmt, args...) ESP_LOG_LEVEL_LOCAL(level, TAG, fmt, ##args)
|
||||||
|
|
||||||
void wpa_dump_mem(char* desc, uint8_t *addr, uint16_t len);
|
void wpa_dump_mem(char* desc, uint8_t *addr, uint16_t len);
|
||||||
@@ -85,7 +71,17 @@ static inline void wpa_hexdump_ascii_key(int level, const char *title, const u8
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wpa_hexdump - conditional hex dump
|
||||||
|
* @level: priority level (MSG_*) of the message
|
||||||
|
* @title: title of for the message
|
||||||
|
* @buf: data buffer to be dumped
|
||||||
|
* @len: length of the buf
|
||||||
|
*
|
||||||
|
* This function is used to print conditional debugging and error messages. The
|
||||||
|
* output may be directed to stdout, stderr, and/or syslog based on
|
||||||
|
* configuration. The contents of buf is printed out has hex dump.
|
||||||
|
*/
|
||||||
void wpa_hexdump(int level, const char *title, const u8 *buf, size_t len);
|
void wpa_hexdump(int level, const char *title, const u8 *buf, size_t len);
|
||||||
|
|
||||||
static inline void wpa_hexdump_buf(int level, const char *title,
|
static inline void wpa_hexdump_buf(int level, const char *title,
|
||||||
@@ -149,13 +145,14 @@ void wpa_hexdump_ascii(int level, const char *title, const u8 *buf,
|
|||||||
void wpa_hexdump_ascii_key(int level, const char *title, const u8 *buf,
|
void wpa_hexdump_ascii_key(int level, const char *title, const u8 *buf,
|
||||||
size_t len);
|
size_t len);
|
||||||
#else
|
#else
|
||||||
#define wpa_printf(level,fmt, args...)
|
#define wpa_printf(level,fmt, args...) do {} while(0)
|
||||||
#define wpa_hexdump(...)
|
#define wpa_hexdump(...) do {} while(0)
|
||||||
#define wpa_hexdump_buf(...)
|
#define wpa_dump_mem(...) do {} while(0)
|
||||||
#define wpa_hexdump_key(...)
|
#define wpa_hexdump_buf(...) do {} while(0)
|
||||||
#define wpa_hexdump_buf_key(...)
|
#define wpa_hexdump_key(...) do {} while(0)
|
||||||
#define wpa_hexdump_ascii(...)
|
#define wpa_hexdump_buf_key(...) do {} while(0)
|
||||||
#define wpa_hexdump_ascii_key(...)
|
#define wpa_hexdump_ascii(...) do {} while(0)
|
||||||
|
#define wpa_hexdump_ascii_key(...) do {} while(0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define wpa_auth_logger
|
#define wpa_auth_logger
|
||||||
|
@@ -21,4 +21,8 @@
|
|||||||
#define USE_MBEDTLS_CRYPTO 1
|
#define USE_MBEDTLS_CRYPTO 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if CONFIG_WPA_DEBUG_PRINT
|
||||||
|
#define DEBUG_PRINT
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* _SUPPLICANT_OPT_H */
|
#endif /* _SUPPLICANT_OPT_H */
|
||||||
|
@@ -1038,7 +1038,9 @@ get_defaults:
|
|||||||
int eap_peer_tls_phase2_nak(struct eap_method_type *types, size_t num_types,
|
int eap_peer_tls_phase2_nak(struct eap_method_type *types, size_t num_types,
|
||||||
struct eap_hdr *hdr, struct wpabuf **resp)
|
struct eap_hdr *hdr, struct wpabuf **resp)
|
||||||
{
|
{
|
||||||
|
#ifdef DEBUG_PRINT
|
||||||
u8 *pos = (u8 *) (hdr + 1);
|
u8 *pos = (u8 *) (hdr + 1);
|
||||||
|
#endif
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
/* TODO: add support for expanded Nak */
|
/* TODO: add support for expanded Nak */
|
||||||
|
@@ -187,7 +187,6 @@ void wpa2_task(void *pvParameters )
|
|||||||
ETSEvent *e;
|
ETSEvent *e;
|
||||||
struct eap_sm *sm = gEapSm;
|
struct eap_sm *sm = gEapSm;
|
||||||
bool task_del = false;
|
bool task_del = false;
|
||||||
uint32_t sig = 0;
|
|
||||||
|
|
||||||
if (!sm) {
|
if (!sm) {
|
||||||
return;
|
return;
|
||||||
@@ -195,7 +194,10 @@ void wpa2_task(void *pvParameters )
|
|||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
if ( pdPASS == xQueueReceive(s_wpa2_queue, &e, portMAX_DELAY) ) {
|
if ( pdPASS == xQueueReceive(s_wpa2_queue, &e, portMAX_DELAY) ) {
|
||||||
|
#ifdef DEBUG_PRINT
|
||||||
|
uint32_t sig = 0;
|
||||||
sig = e->sig;
|
sig = e->sig;
|
||||||
|
#endif
|
||||||
if (e->sig < SIG_WPA2_MAX) {
|
if (e->sig < SIG_WPA2_MAX) {
|
||||||
DATA_MUTEX_TAKE();
|
DATA_MUTEX_TAKE();
|
||||||
if(sm->wpa2_sig_cnt[e->sig]) {
|
if(sm->wpa2_sig_cnt[e->sig]) {
|
||||||
|
@@ -2422,14 +2422,18 @@ static int wps_process_wps_state(struct wps_data *wps, const u8 *state)
|
|||||||
|
|
||||||
static int wps_process_assoc_state(struct wps_data *wps, const u8 *assoc)
|
static int wps_process_assoc_state(struct wps_data *wps, const u8 *assoc)
|
||||||
{
|
{
|
||||||
u16 a;
|
#ifdef DEBUG_PRINT
|
||||||
|
u16 a;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (assoc == NULL) {
|
if (assoc == NULL) {
|
||||||
wpa_printf(MSG_DEBUG, "WPS: No Association State received");
|
wpa_printf(MSG_DEBUG, "WPS: No Association State received");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef DEBUG_PRINT
|
||||||
a = WPA_GET_BE16(assoc);
|
a = WPA_GET_BE16(assoc);
|
||||||
|
#endif
|
||||||
wpa_printf(MSG_DEBUG, "WPS: Enrollee Association State %d", a);
|
wpa_printf(MSG_DEBUG, "WPS: Enrollee Association State %d", a);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -2438,14 +2442,18 @@ static int wps_process_assoc_state(struct wps_data *wps, const u8 *assoc)
|
|||||||
|
|
||||||
static int wps_process_config_error(struct wps_data *wps, const u8 *err)
|
static int wps_process_config_error(struct wps_data *wps, const u8 *err)
|
||||||
{
|
{
|
||||||
u16 e;
|
#ifdef DEBUG_PRINT
|
||||||
|
u16 e;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (err == NULL) {
|
if (err == NULL) {
|
||||||
wpa_printf(MSG_DEBUG, "WPS: No Configuration Error received");
|
wpa_printf(MSG_DEBUG, "WPS: No Configuration Error received");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef DEBUG_PRINT
|
||||||
e = WPA_GET_BE16(err);
|
e = WPA_GET_BE16(err);
|
||||||
|
#endif
|
||||||
wpa_printf(MSG_DEBUG, "WPS: Enrollee Configuration Error %d", e);
|
wpa_printf(MSG_DEBUG, "WPS: Enrollee Configuration Error %d", e);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Reference in New Issue
Block a user