]> granicus.if.org Git - esp-idf/commitdiff
lwip: updated fuzzer tests to be compatible with new lwip module
authorDavid Cermak <cermak@espressif.com>
Fri, 14 Sep 2018 12:30:03 +0000 (14:30 +0200)
committerDavid Cermak <cermak@espressif.com>
Thu, 11 Oct 2018 06:05:14 +0000 (08:05 +0200)
components/lwip/test_afl_host/CMakeLists.txt [new file with mode: 0644]
components/lwip/test_afl_host/Makefile
components/lwip/test_afl_host/dhcp_di.h
components/lwip/test_afl_host/dhcpserver_di.h
components/lwip/test_afl_host/dns_di.h
components/lwip/test_afl_host/network_mock.c
components/lwip/test_afl_host/sdkconfig.h [deleted file]

diff --git a/components/lwip/test_afl_host/CMakeLists.txt b/components/lwip/test_afl_host/CMakeLists.txt
new file mode 100644 (file)
index 0000000..6c90202
--- /dev/null
@@ -0,0 +1,7 @@
+# The following four lines of boilerplate have to be in your project's CMakeLists
+# in this exact order for cmake to work correctly
+cmake_minimum_required(VERSION 3.5)
+
+include($ENV{IDF_PATH}/tools/cmake/project.cmake)
+
+project(fuzz_test_lwip)
\ No newline at end of file
index 8abccd91d18271e7b504630ccee5b0bb1de6ae62..b0ad295570c4dc0dfabc5623a77615ceba69a3db 100644 (file)
@@ -1,22 +1,23 @@
 COMPONENTS_DIR=../..
 CFLAGS=-std=gnu99 -Og -ggdb -ffunction-sections -fdata-sections -nostdlib -Wall  -Werror=all -Wno-int-to-pointer-cast -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra \
 -Wno-unused-parameter -Wno-sign-compare -Wno-address   -Wno-unused-variable -DESP_PLATFORM -D IDF_VER=\"v3.1\" -MMD -MP -DWITH_POSIX
-INC_DIRS=-I . -I $(COMPONENTS_DIR)/newlib/platform_include -I $(COMPONENTS_DIR)/newlib/include -I $(COMPONENTS_DIR)/driver/include -I $(COMPONENTS_DIR)/esp32/include -I $(COMPONENTS_DIR)/ethernet/include -I $(COMPONENTS_DIR)/freertos/include -I $(COMPONENTS_DIR)/heap/include -I $(COMPONENTS_DIR)/lwip/include/lwip -I $(COMPONENTS_DIR)/lwip/include/lwip/port -I $(COMPONENTS_DIR)/lwip/include/lwip/posix -I $(COMPONENTS_DIR)/lwip/apps/ping -I $(COMPONENTS_DIR)/soc/esp32/include -I $(COMPONENTS_DIR)/soc/include -I $(COMPONENTS_DIR)/tcpip_adapter/include  -I $(COMPONENTS_DIR)/xtensa-debug-module/include
+INC_DIRS=-I . -I ./build/config -I $(COMPONENTS_DIR)/newlib/platform_include -I $(COMPONENTS_DIR)/newlib/include -I $(COMPONENTS_DIR)/driver/include -I $(COMPONENTS_DIR)/esp32/include -I $(COMPONENTS_DIR)/ethernet/include -I $(COMPONENTS_DIR)/freertos/include -I $(COMPONENTS_DIR)/heap/include -I $(COMPONENTS_DIR)/lwip/lwip/src/include  -I $(COMPONENTS_DIR)/lwip/include/apps -I $(COMPONENTS_DIR)/lwip/lwip/src/include/netif -I $(COMPONENTS_DIR)/lwip/lwip/src/include/posix -I $(COMPONENTS_DIR)/lwip/port/esp32/include -I $(COMPONENTS_DIR)/lwip/lwip/src/include/posix -I $(COMPONENTS_DIR)/lwip/include/apps/ping -I $(COMPONENTS_DIR)/soc/esp32/include -I $(COMPONENTS_DIR)/soc/include -I $(COMPONENTS_DIR)/tcpip_adapter/include  -I $(COMPONENTS_DIR)/xtensa-debug-module/include
 TEST_NAME=test
 FUZZ=afl-fuzz
+GEN_CFG=generate_config
 LD=$(CC)
 ifeq ($(MODE),dhcp_client)
     DEPENDENCY_INJECTION=-include dhcp_di.h
-    OBJECTS=dhcp.o network_mock.o test_dhcp_client.o
+    OBJECTS=dhcp.o def.o network_mock.o test_dhcp_client.o
     SAMPLE_PACKETS=in_dhcp_client
 else ifeq ($(MODE),dhcp_server)
     DEPENDENCY_INJECTION=-include dhcpserver_di.h
-    OBJECTS=dhcpserver.o test_dhcp_server.o network_mock.o
+    OBJECTS=dhcpserver.o def.o test_dhcp_server.o network_mock.o
     SAMPLE_PACKETS=in_dhcp_server
 else ifeq ($(MODE),dns)
     CFLAGS+=-DNOT_MOCK_DNS
     DEPENDENCY_INJECTION=-include dns_di.h
-    OBJECTS=dns.o test_dns.o network_mock.o
+    OBJECTS=dns.o def.o test_dns.o network_mock.o
     SAMPLE_PACKETS=in_dns
 else
     $(error Please specify MODE: dhcp_server, dhcp_client, dns)
@@ -34,22 +35,30 @@ CFLAGS+=$(INC_DIRS)
 
 all: $(TEST_NAME)
 
-dns.o: ../core/dns.c
+def.o: ../lwip/src/core/def.c $(GEN_CFG)
+       @echo "[CC] $<"
+       @$(CC) $(CFLAGS) -D BUILDING_DEF $(DEPENDENCY_INJECTION) -c $< -o $@
+
+dns.o: ../lwip/src/core/dns.c $(GEN_CFG)
        @echo "[CC] $<"
        @$(CC) $(CFLAGS) $(DEPENDENCY_INJECTION) -c $< -o $@
 
-dhcp.o: ../core/ipv4/dhcp.c
+dhcp.o: ../lwip/src/core/ipv4/dhcp.c $(GEN_CFG)
        @echo "[CC] $<"
        @$(CC) $(CFLAGS) $(DEPENDENCY_INJECTION) -c $< -o $@
 
-dhcpserver.o: ../apps/dhcpserver.c
+dhcpserver.o: ../apps/dhcpserver/dhcpserver.c $(GEN_CFG)
        @echo "[CC] $<"
        @$(CC) $(CFLAGS) $(DEPENDENCY_INJECTION) -c $< -o $@
 
-%.o: %.c
+%.o: %.c $(GEN_CFG)
        @echo "[CC] $<"
        @$(CC) $(CFLAGS) -c $< -o $@
 
+.PHONY: $(GEN_CFG)
+$(GEN_CFG):
+       $(IDF_PATH)/tools/idf.py reconfigure
+
 $(TEST_NAME): $(OBJECTS)
        @echo "[LD] $@"
        @$(LD)  $(OBJECTS) -o $@ $(LDLIBS)
index 5e7d9606f6825b4473d90855ca2a966b3a0f704f..c37a3e1b6111124f25271de64130fba7da57c465 100644 (file)
@@ -11,6 +11,8 @@
 #include "lwip/dns.h"
 #include "netif/etharp.h"
 
+#ifndef BUILDING_DEF
+
 void __assert_func(const char *file, int line, const char *func, const char *expr)
 {
     printf("Assert failed in %s, %s:%d (%s)", func, file, line, expr);
@@ -30,3 +32,5 @@ void dhcp_test_dhcp_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p, const i
 {
     dhcp_test_static_dhcp_recv(arg, pcb, p, addr, port);
 }
+
+#endif /* BUILDING_DEF */
\ No newline at end of file
index 4b38aa5a483724ff6b7c2212f94ffcba420a6d9d..48cce58f63cb2683579427a41341c045a70b2faa 100644 (file)
@@ -7,6 +7,8 @@
 #include "lwip/udp.h"
 #include "tcpip_adapter.h"
 
+#ifndef BUILDING_DEF
+
 static void handle_dhcp(void *arg, struct udp_pcb *pcb, struct pbuf *p, const ip_addr_t *addr, u16_t port);
 
 void (*dhcp_test_static_handle_hdcp)(void *arg, struct udp_pcb *pcb, struct pbuf *p, const ip_addr_t *addr, u16_t port) = NULL;
@@ -20,3 +22,5 @@ void dhcp_test_handle_dhcp(void *arg, struct udp_pcb *pcb, struct pbuf *p, const
 {
     dhcp_test_static_handle_hdcp(arg, pcb, p, addr, port);
 }
+
+#endif
\ No newline at end of file
index 4cb0b715cf118646db5e3c34f066ba57653848ed..0479f36a8d336cd16bf490d06dbce34472b8d152 100644 (file)
@@ -16,6 +16,8 @@
 extern uint32_t g_random_numbers[8];
 extern uint32_t g_random_numbers_cnt;
 
+#ifndef BUILDING_DEF
+
 void __assert_func(const char *file, int line, const char *func, const char *expr)
 {
     printf("Assert failed in %s, %s:%d (%s)", func, file, line, expr);
@@ -33,13 +35,13 @@ static void dns_recv(void *s, struct udp_pcb *pcb, struct pbuf *p, const ip_addr
 void (*dns_test_static_dns_recv)(void *s, struct udp_pcb *pcb, struct pbuf *p, const ip_addr_t *addr, u16_t port) = NULL;
 err_t (*dns_test_static_dns_enqueue)(const char *name, size_t hostnamelen, dns_found_callback found, void *callback_arg, u8_t dns_addrtype) = NULL;
 
-
 void dns_test_init_di()
 {
     dns_test_static_dns_recv = dns_recv;
     dns_test_static_dns_enqueue = dns_enqueue;
 }
 
+
 err_t dns_test_dns_enqueue(const char *name, size_t hostnamelen, dns_found_callback found, void *callback_arg, u8_t dns_addrtype)
 {
     return dns_test_static_dns_enqueue(name, hostnamelen, found, callback_arg, dns_addrtype);
@@ -56,4 +58,5 @@ void dns_test_inject_port_and_txid(int port, int txid)
     g_random_numbers[0] = port; //for port
     g_random_numbers[1] = txid; //for txid
     g_random_numbers_cnt = 0;   // let's start with the port
-}
\ No newline at end of file
+}
+#endif
\ No newline at end of file
index cf35fdb63dcdf2d04643784425e118ff8193b70d..947b6b22b27c3c64163aad03395866f3818c2987 100644 (file)
@@ -19,69 +19,68 @@ uint32_t g_random_numbers_cnt = 0;
 
 struct pbuf* pbuf_skip(struct pbuf* in, u16_t in_offset, u16_t* out_offset)
 {
-  u16_t offset_left = in_offset;
-  struct pbuf* q = in;
+    u16_t offset_left = in_offset;
+    struct pbuf* q = in;
 
-  /* get the correct pbuf */
-  while ((q != NULL) && (q->len <= offset_left)) {
-    offset_left -= q->len;
-    q = q->next;
-  }
-  if (out_offset != NULL) {
-    *out_offset = offset_left;
-  }
-  return q;
+    /* get the correct pbuf */
+    while ((q != NULL) && (q->len <= offset_left)) {
+        offset_left -= q->len;
+        q = q->next;
+    }
+    if (out_offset != NULL) {
+        *out_offset = offset_left;
+    }
+    return q;
 }
 
-void pbuf_put_at(struct pbuf* p, u16_t offset, u8_t data)
+int pbuf_try_get_at(const struct pbuf* p, u16_t offset)
 {
-  u16_t q_idx;
-  struct pbuf* q = pbuf_skip(p, offset, &q_idx);
+    u16_t q_idx;
+    struct pbuf* q = pbuf_skip(p, offset, &q_idx);
 
-  /* write requested data if pbuf is OK */
-  if ((q != NULL) && (q->len > q_idx)) {
-    ((u8_t*)q->payload)[q_idx] = data;
-  }
+    /* return requested data if pbuf is OK */
+    if ((q != NULL) && (q->len > q_idx)) {
+        return ((u8_t*)q->payload)[q_idx];
+    }
+    return -1;
 }
 
-u8_t pbuf_get_at(struct pbuf* p, u16_t offset)
+void pbuf_put_at(struct pbuf* p, u16_t offset, u8_t data)
 {
-  u16_t q_idx;
-  struct pbuf* q = pbuf_skip(p, offset, &q_idx);
+    u16_t q_idx;
+    struct pbuf* q = pbuf_skip(p, offset, &q_idx);
 
-  /* return requested data if pbuf is OK */
-  if ((q != NULL) && (q->len > q_idx)) {
-    return ((u8_t*)q->payload)[q_idx];
-  }
-  return 0;
+    /* write requested data if pbuf is OK */
+    if ((q != NULL) && (q->len > q_idx)) {
+        ((u8_t*)q->payload)[q_idx] = data;
+    }
 }
 
-err_t pbuf_take(struct pbuf *buf, const void *dataptr, u16_t len)
+u8_t pbuf_get_at(const struct pbuf* p, u16_t offset)
 {
-  return ERR_OK;
-}
+    u16_t q_idx;
+    struct pbuf* q = pbuf_skip(p, offset, &q_idx);
 
-err_t pbuf_take_at(struct pbuf *buf, const void *dataptr, u16_t len, u16_t offset)
-{
-  return ERR_OK;
+    /* return requested data if pbuf is OK */
+    if ((q != NULL) && (q->len > q_idx)) {
+        return ((u8_t*)q->payload)[q_idx];
+    }
+    return 0;
 }
 
-struct udp_pcb * udp_new_ip_type(u8_t type)
+err_t pbuf_take(struct pbuf *buf, const void *dataptr, u16_t len)
 {
return &mock_pcb;
   return ERR_OK;
 }
 
-u16_t lwip_htons(u16_t n)
+err_t pbuf_take_at(struct pbuf *buf, const void *dataptr, u16_t len, u16_t offset)
 {
-    return ((n & 0xff) << 8) | ((n & 0xff00) >> 8);
+    return ERR_OK;
 }
 
-u32_t lwip_htonl(u32_t n)
+struct udp_pcb * udp_new_ip_type(u8_t type)
 {
-return ((n & 0xff) << 24) |
-    ((n & 0xff00) << 8) |
-    ((n & 0xff0000UL) >> 8) |
-    ((n & 0xff000000UL) >> 24);
+    return &mock_pcb;
 }
 
 esp_err_t tcpip_adapter_get_ip_info(tcpip_adapter_if_t tcpip_if, tcpip_adapter_ip_info_t *ip_info)
@@ -123,7 +122,7 @@ void udp_remove(struct udp_pcb *pcb)
 {
     if (pcb == NULL)
     {
-        free(pcb);
+       free(pcb);
     }
 }
 
@@ -162,11 +161,6 @@ err_t etharp_query(struct netif *netif, const ip4_addr_t *ipaddr, struct pbuf *q
     return ESP_OK;
 }
 
-u32_t lwip_ntohl(u32_t x)
-{
-    return lwip_htonl(x);
-}
-
 void netif_set_addr(struct netif *netif, const ip4_addr_t *ipaddr, const ip4_addr_t *netmask,
                     const ip4_addr_t *gw)
 {
@@ -184,41 +178,41 @@ void pbuf_realloc(struct pbuf *p, u16_t size)
     }
 }
 
-u16_t pbuf_copy_partial(struct pbuf *buf, void *dataptr, u16_t len, u16_t offset)
+u16_t pbuf_copy_partial(const struct pbuf *buf, void *dataptr, u16_t len, u16_t offset)
 {
-  struct pbuf *p;
-  u16_t left;
-  u16_t buf_copy_len;
-  u16_t copied_total = 0;
+    struct pbuf *p;
+    u16_t left;
+    u16_t buf_copy_len;
+    u16_t copied_total = 0;
 
-  LWIP_ERROR("pbuf_copy_partial: invalid buf", (buf != NULL), return 0;);
-  LWIP_ERROR("pbuf_copy_partial: invalid dataptr", (dataptr != NULL), return 0;);
+    LWIP_ERROR("pbuf_copy_partial: invalid buf", (buf != NULL), return 0;);
+    LWIP_ERROR("pbuf_copy_partial: invalid dataptr", (dataptr != NULL), return 0;);
 
-  left = 0;
+    left = 0;
 
-  if ((buf == NULL) || (dataptr == NULL)) {
-    return 0;
-  }
-
-  /* Note some systems use byte copy if dataptr or one of the pbuf payload pointers are unaligned. */
-  for (p = buf; len != 0 && p != NULL; p = p->next) {
-    if ((offset != 0) && (offset >= p->len)) {
-      /* don't copy from this buffer -> on to the next */
-      offset -= p->len;
-    } else {
-      /* copy from this buffer. maybe only partially. */
-      buf_copy_len = p->len - offset;
-      if (buf_copy_len > len)
-          buf_copy_len = len;
-      /* copy the necessary parts of the buffer */
-      MEMCPY(&((char*)dataptr)[left], &((char*)p->payload)[offset], buf_copy_len);
-      copied_total += buf_copy_len;
-      left += buf_copy_len;
-      len -= buf_copy_len;
-      offset = 0;
+    if ((buf == NULL) || (dataptr == NULL)) {
+        return 0;
+    }
+
+    /* Note some systems use byte copy if dataptr or one of the pbuf payload pointers are unaligned. */
+    for (p = buf; len != 0 && p != NULL; p = p->next) {
+        if ((offset != 0) && (offset >= p->len)) {
+        /* don't copy from this buffer -> on to the next */
+        offset -= p->len;
+        } else {
+        /* copy from this buffer. maybe only partially. */
+        buf_copy_len = p->len - offset;
+        if (buf_copy_len > len)
+            buf_copy_len = len;
+        /* copy the necessary parts of the buffer */
+        MEMCPY(&((char*)dataptr)[left], &((char*)p->payload)[offset], buf_copy_len);
+        copied_total += buf_copy_len;
+        left += buf_copy_len;
+        len -= buf_copy_len;
+        offset = 0;
+        }
     }
-  }
-  return copied_total;
+    return copied_total;
 }
 
 err_t udp_connect(struct udp_pcb *pcb, const ip_addr_t *ipaddr, u16_t port)
@@ -234,4 +228,14 @@ err_t udp_sendto_if(struct udp_pcb *pcb, struct pbuf *p, const ip_addr_t *dst_ip
 err_t udp_sendto_if_src(struct udp_pcb *pcb, struct pbuf *p, const ip_addr_t *dst_ip, u16_t dst_port, struct netif *netif, const ip_addr_t *src_ip)
 {
     return ESP_OK;
+}
+
+void * mem_malloc(mem_size_t size)
+{
+    return malloc(size);
+}
+
+void mem_free(void *rmem)
+{
+    free(rmem);
 }
\ No newline at end of file
diff --git a/components/lwip/test_afl_host/sdkconfig.h b/components/lwip/test_afl_host/sdkconfig.h
deleted file mode 100644 (file)
index 6f14a26..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- *
- * Automatically generated file; DO NOT EDIT.
- * Espressif IoT Development Framework Configuration
- *
- */
-#define CONFIG_ESP32_PHY_MAX_TX_POWER 20
-#define CONFIG_TRACEMEM_RESERVE_DRAM 0x0
-#define CONFIG_FREERTOS_MAX_TASK_NAME_LEN 16
-#define CONFIG_FATFS_LFN_NONE 1
-#define CONFIG_TCP_RECVMBOX_SIZE 6
-#define CONFIG_FATFS_CODEPAGE_437 1
-#define CONFIG_LWIP_ETHARP_TRUST_IP_MAC 1
-#define CONFIG_TCP_WND_DEFAULT 5744
-#define CONFIG_SPIFFS_USE_MAGIC_LENGTH 1
-#define CONFIG_IPC_TASK_STACK_SIZE 1024
-#define CONFIG_FATFS_PER_FILE_CACHE 1
-#define CONFIG_ESPTOOLPY_FLASHFREQ "40m"
-#define CONFIG_MBEDTLS_KEY_EXCHANGE_RSA 1
-#define CONFIG_UDP_RECVMBOX_SIZE 6
-#define CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE 0
-#define CONFIG_MBEDTLS_AES_C 1
-#define CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED 1
-#define CONFIG_MBEDTLS_GCM_C 1
-#define CONFIG_ESPTOOLPY_FLASHSIZE "2MB"
-#define CONFIG_HEAP_POISONING_DISABLED 1
-#define CONFIG_SPIFFS_CACHE_WR 1
-#define CONFIG_BROWNOUT_DET_LVL_SEL_0 1
-#define CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER 1
-#define CONFIG_SPIFFS_CACHE 1
-#define CONFIG_INT_WDT 1
-#define CONFIG_MBEDTLS_SSL_PROTO_TLS1 1
-#define CONFIG_MBEDTLS_ECDSA_C 1
-#define CONFIG_ESPTOOLPY_FLASHFREQ_40M 1
-#define CONFIG_LOG_BOOTLOADER_LEVEL_INFO 1
-#define CONFIG_ESPTOOLPY_FLASHSIZE_2MB 1
-#define CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE 0
-#define CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS 1
-#define CONFIG_MBEDTLS_ECDH_C 1
-#define CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE 1
-#define CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM 10
-#define CONFIG_MBEDTLS_SSL_ALPN 1
-#define CONFIG_MBEDTLS_PEM_WRITE_C 1
-#define CONFIG_LOG_DEFAULT_LEVEL_INFO 1
-#define CONFIG_BT_RESERVE_DRAM 0x0
-#define CONFIG_FATFS_FS_LOCK 0
-#define CONFIG_IP_LOST_TIMER_INTERVAL 120
-#define CONFIG_SPIFFS_META_LENGTH 4
-#define CONFIG_ESP32_PANIC_PRINT_REBOOT 1
-#define CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED 1
-#define CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED 1
-#define CONFIG_CONSOLE_UART_BAUDRATE 115200
-#define CONFIG_LWIP_MAX_SOCKETS 10
-#define CONFIG_LWIP_NETIF_LOOPBACK 1
-#define CONFIG_ESP_WIFI_MODE_AP 1
-#define CONFIG_EMAC_TASK_PRIORITY 20
-#define CONFIG_TIMER_TASK_STACK_DEPTH 2048
-#define CONFIG_TCP_MSS 1436
-#define CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED 1
-#define CONFIG_FATFS_CODEPAGE 437
-#define CONFIG_ESP32_DEFAULT_CPU_FREQ_160 1
-#define CONFIG_ULP_COPROC_RESERVE_MEM 0
-#define CONFIG_LWIP_MAX_UDP_PCBS 16
-#define CONFIG_ESPTOOLPY_BAUD 115200
-#define CONFIG_INT_WDT_CHECK_CPU1 1
-#define CONFIG_ADC_CAL_LUT_ENABLE 1
-#define CONFIG_FLASHMODE_DIO 1
-#define CONFIG_ESPTOOLPY_AFTER_RESET 1
-#define CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED 1
-#define CONFIG_LWIP_DHCPS_MAX_STATION_NUM 8
-#define CONFIG_TOOLPREFIX "xtensa-esp32-elf-"
-#define CONFIG_MBEDTLS_ECP_C 1
-#define CONFIG_FREERTOS_IDLE_TASK_STACKSIZE 1024
-#define CONFIG_MBEDTLS_RC4_DISABLED 1
-#define CONFIG_CONSOLE_UART_NUM 0
-#define CONFIG_ESP32_APPTRACE_LOCK_ENABLE 1
-#define CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC 1
-#define CONFIG_ESPTOOLPY_BAUD_115200B 1
-#define CONFIG_TCP_OVERSIZE_MSS 1
-#define CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS 1
-#define CONFIG_CONSOLE_UART_DEFAULT 1
-#define CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN 16384
-#define CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS 4
-#define CONFIG_ESPTOOLPY_FLASHSIZE_DETECT 1
-#define CONFIG_TIMER_TASK_STACK_SIZE 3584
-#define CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE 1
-#define CONFIG_MBEDTLS_X509_CRL_PARSE_C 1
-#define CONFIG_LWIP_DHCPS_LEASE_UNIT 60
-#define CONFIG_SPIFFS_USE_MAGIC 1
-#define CONFIG_TCPIP_TASK_STACK_SIZE 2048
-#define CONFIG_TASK_WDT 1
-#define CONFIG_MAIN_TASK_STACK_SIZE 3584
-#define CONFIG_SPIFFS_PAGE_CHECK 1
-#define CONFIG_LWIP_MAX_ACTIVE_TCP 16
-#define CONFIG_TASK_WDT_TIMEOUT_S 5
-#define CONFIG_INT_WDT_TIMEOUT_MS 300
-#define CONFIG_ESP32_RTC_XTAL_BOOTSTRAP_CYCLES 100
-#define CONFIG_ESPTOOLPY_FLASHMODE "dio"
-#define CONFIG_NEWLIB_STDIN_LINE_ENDING_CR 1
-#define CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA 1
-#define CONFIG_ESPTOOLPY_BEFORE "default_reset"
-#define CONFIG_ADC2_DISABLE_DAC 1
-#define CONFIG_LOG_DEFAULT_LEVEL 3
-#define CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION 1
-#define CONFIG_TIMER_QUEUE_LENGTH 10
-#define CONFIG_MAKE_WARN_UNDEFINED_VARIABLES 1
-#define CONFIG_FATFS_TIMEOUT_MS 10000
-#define CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM 32
-#define CONFIG_MAX_STA_CONN 4
-#define CONFIG_MBEDTLS_CCM_C 1
-#define CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER 20
-#define CONFIG_ESP32_RTC_CLK_CAL_CYCLES 1024
-#define CONFIG_ESP32_WIFI_TX_BA_WIN 6
-#define CONFIG_ESP32_WIFI_NVS_ENABLED 1
-#define CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED 1
-#define CONFIG_LIBSODIUM_USE_MBEDTLS_SHA 1
-#define CONFIG_DMA_RX_BUF_NUM 10
-#define CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED 1
-#define CONFIG_TCP_SYNMAXRTX 6
-#define CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA 1
-#define CONFIG_ESP_WIFI_SSID "myssid"
-#define CONFIG_PYTHON "python"
-#define CONFIG_MBEDTLS_ECP_NIST_OPTIM 1
-#define CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1 1
-#define CONFIG_ESPTOOLPY_COMPRESSED 1
-#define CONFIG_PARTITION_TABLE_FILENAME "partitions_singleapp.csv"
-#define CONFIG_TCP_SND_BUF_DEFAULT 5744
-#define CONFIG_LWIP_DHCP_MAX_NTP_SERVERS 1
-#define CONFIG_TCP_MSL 60000
-#define CONFIG_MBEDTLS_SSL_PROTO_TLS1_1 1
-#define CONFIG_LWIP_SO_REUSE_RXTOALL 1
-#define CONFIG_PARTITION_TABLE_SINGLE_APP 1
-#define CONFIG_ESP32_WIFI_RX_BA_WIN 6
-#define CONFIG_MBEDTLS_X509_CSR_PARSE_C 1
-#define CONFIG_SPIFFS_USE_MTIME 1
-#define CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA 1
-#define CONFIG_LWIP_DHCP_DOES_ARP_CHECK 1
-#define CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE 2304
-#define CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V 1
-#define CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY 2000
-#define CONFIG_BROWNOUT_DET_LVL 0
-#define CONFIG_MBEDTLS_PEM_PARSE_C 1
-#define CONFIG_SPIFFS_GC_MAX_RUNS 10
-#define CONFIG_ESP_WIFI_PASSWORD "mypassword"
-#define CONFIG_ESP32_APPTRACE_DEST_NONE 1
-#define CONFIG_PARTITION_TABLE_CUSTOM_APP_BIN_OFFSET 0x10000
-#define CONFIG_MBEDTLS_SSL_PROTO_TLS1_2 1
-#define CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA 1
-#define CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM 32
-#define CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED 1
-#define CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED 1
-#define CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1 1
-#define CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ 160
-#define CONFIG_MBEDTLS_HARDWARE_AES 1
-#define CONFIG_FREERTOS_HZ 100
-#define CONFIG_LOG_COLORS 1
-#define CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE 1
-#define CONFIG_STACK_CHECK_NONE 1
-#define CONFIG_ADC_CAL_EFUSE_TP_ENABLE 1
-#define CONFIG_FREERTOS_ASSERT_FAIL_ABORT 1
-#define CONFIG_BROWNOUT_DET 1
-#define CONFIG_ESP32_XTAL_FREQ 40
-#define CONFIG_MONITOR_BAUD_115200B 1
-#define CONFIG_LOG_BOOTLOADER_LEVEL 3
-#define CONFIG_MBEDTLS_TLS_ENABLED 1
-#define CONFIG_LWIP_MAX_RAW_PCBS 16
-#define CONFIG_MBEDTLS_SSL_SESSION_TICKETS 1
-#define CONFIG_SPIFFS_MAX_PARTITIONS 3
-#define CONFIG_ESP_ERR_TO_NAME_LOOKUP 1
-#define CONFIG_MBEDTLS_SSL_RENEGOTIATION 1
-#define CONFIG_ESPTOOLPY_BEFORE_RESET 1
-#define CONFIG_ESPTOOLPY_BAUD_OTHER_VAL 115200
-#define CONFIG_SPIFFS_OBJ_NAME_LEN 32
-#define CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT 5
-#define CONFIG_PARTITION_TABLE_MD5 1
-#define CONFIG_TCPIP_RECVMBOX_SIZE 32
-#define CONFIG_TCP_MAXRTX 12
-#define CONFIG_ESPTOOLPY_AFTER "hard_reset"
-#define CONFIG_LWIP_SO_REUSE 1
-#define CONFIG_ESP32_XTAL_FREQ_40 1
-#define CONFIG_DMA_TX_BUF_NUM 10
-#define CONFIG_LWIP_MAX_LISTENING_TCP 16
-#define CONFIG_FREERTOS_INTERRUPT_BACKTRACE 1
-#define CONFIG_WL_SECTOR_SIZE 4096
-#define CONFIG_ESP32_DEBUG_OCDAWARE 1
-#define CONFIG_TIMER_TASK_PRIORITY 1
-#define CONFIG_MBEDTLS_TLS_CLIENT 1
-#define CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED 1
-#define CONFIG_MONITOR_BAUD 115200
-#define CONFIG_FREERTOS_CORETIMER_0 1
-#define CONFIG_PARTITION_TABLE_CUSTOM_FILENAME "partitions.csv"
-#define CONFIG_MBEDTLS_HAVE_TIME 1
-#define CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY 1
-#define CONFIG_TCP_QUEUE_OOSEQ 1
-#define CONFIG_ADC_CAL_EFUSE_VREF_ENABLE 1
-#define CONFIG_MBEDTLS_TLS_SERVER 1
-#define CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT 1
-#define CONFIG_FREERTOS_ISR_STACKSIZE 1536
-#define CONFIG_OPENSSL_ASSERT_DO_NOTHING 1
-#define CONFIG_WL_SECTOR_SIZE_4096 1
-#define CONFIG_OPTIMIZATION_LEVEL_DEBUG 1
-#define CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED 1
-#define CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED 1
-#define CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED 1
-#define CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA 1
-#define CONFIG_SYSTEM_EVENT_QUEUE_SIZE 32
-#define CONFIG_ESP32_WIFI_TX_BUFFER_TYPE 1
-#define CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED 1
-#define CONFIG_LWIP_LOOPBACK_MAX_PBUFS 8
-#define CONFIG_APP_OFFSET 0x10000
-#define CONFIG_SPI_FLASH_ROM_DRIVER_PATCH 1
-#define CONFIG_SPIFFS_PAGE_SIZE 256
-#define CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED 1
-#define CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0 1
-#define CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT 3072
-#define CONFIG_MONITOR_BAUD_OTHER_VAL 115200
-#define CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF 1
-#define CONFIG_ESPTOOLPY_PORT "/dev/ttyUSB0"
-#define CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS 1
-#define CONFIG_ESP_WIFI_IS_SOFTAP 1