Merge branch 'bugfix/fix_wpa2_vulnerability_and_lwip_window_scale_v3.2' into 'release/v3.2'

esp32/lfix wpa2-enterprise vulnerability and support lwindow scale (backport v3.2)

See merge request idf/esp-idf!5411
This commit is contained in:
Jiang Jiang Jian 2019-07-02 14:26:48 +08:00
commit 476d4ba1b7
4 changed files with 35 additions and 4 deletions

View file

@ -1084,7 +1084,8 @@ config ESP32_WIFI_STATIC_RX_BUFFER_NUM
config ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM config ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM
int "Max number of WiFi dynamic RX buffers" int "Max number of WiFi dynamic RX buffers"
range 0 128 range 0 128 if !LWIP_WND_SCALE
range 0 1024 if LWIP_WND_SCALE
default 32 default 32
help help
Set the number of WiFi dynamic RX buffers, 0 means unlimited RX buffers will be allocated Set the number of WiFi dynamic RX buffers, 0 means unlimited RX buffers will be allocated

@ -1 +1 @@
Subproject commit 55b813f2a3d91843c4c6c8a2485b11406a72c5a0 Subproject commit e5e3b12c31e4fe143aa1aabd94c8ffac93d76b5d

View file

@ -148,7 +148,8 @@ config GARP_TMR_INTERVAL
config TCPIP_RECVMBOX_SIZE config TCPIP_RECVMBOX_SIZE
int "TCPIP task receive mail box size" int "TCPIP task receive mail box size"
default 32 default 32
range 6 64 range 6 64 if !LWIP_WND_SCALE
range 6 1024 if LWIP_WND_SCALE
help help
Set TCPIP task receive mail box size. Generally bigger value means higher throughput Set TCPIP task receive mail box size. Generally bigger value means higher throughput
but more memory. The value should be bigger than UDP/TCP mail box size. but more memory. The value should be bigger than UDP/TCP mail box size.
@ -339,7 +340,8 @@ config TCP_WND_DEFAULT
config TCP_RECVMBOX_SIZE config TCP_RECVMBOX_SIZE
int "Default TCP receive mail box size" int "Default TCP receive mail box size"
default 6 default 6
range 6 64 range 6 64 if !LWIP_WND_SCALE
range 6 1024 if LWIP_WND_SCALE
help help
Set TCP receive mail box size. Generally bigger value means higher throughput Set TCP receive mail box size. Generally bigger value means higher throughput
but more memory. The recommended value is: TCP_WND_DEFAULT/TCP_MSS + 2, e.g. if but more memory. The recommended value is: TCP_WND_DEFAULT/TCP_MSS + 2, e.g. if
@ -399,6 +401,21 @@ config TCP_OVERSIZE_DISABLE
endchoice endchoice
config LWIP_WND_SCALE
bool "Support TCP window scale"
depends on WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST
default n
help
Enable this feature to support TCP window scaling.
config TCP_RCV_SCALE
int "Set TCP receiving window scaling factor"
depends on LWIP_WND_SCALE
range 0 14
default 0
help
Enable this feature to support TCP window scaling.
endmenu # TCP endmenu # TCP
menu "UDP" menu "UDP"

View file

@ -363,6 +363,19 @@
#error "One of CONFIG_TCP_OVERSIZE_xxx options should be set by sdkconfig" #error "One of CONFIG_TCP_OVERSIZE_xxx options should be set by sdkconfig"
#endif #endif
/**
* LWIP_WND_SCALE and TCP_RCV_SCALE:
* Set LWIP_WND_SCALE to 1 to enable window scaling.
* Set TCP_RCV_SCALE to the desired scaling factor (shift count in the
* range of [0..14]).
* When LWIP_WND_SCALE is enabled but TCP_RCV_SCALE is 0, we can use a large
* send window while having a small receive window only.
*/
#ifdef CONFIG_LWIP_WND_SCALE
#define LWIP_WND_SCALE 1
#define TCP_RCV_SCALE CONFIG_TCP_RCV_SCALE
#endif
/* /*
---------------------------------- ----------------------------------
---------- Pbuf options ---------- ---------- Pbuf options ----------