|
|
@@ -327,17 +327,6 @@ menu "LWIP"
|
|
|
|
|
|
menu "TCP"
|
|
|
|
|
|
- config LWIP_TCP_ISN_HOOK
|
|
|
- bool "Enable TCP ISN Hook"
|
|
|
- default y
|
|
|
- help
|
|
|
- Enables custom TCP ISN hook to randomize initial sequence
|
|
|
- number in TCP connection. This is recommended as default
|
|
|
- lwIP implementation (`tcp_next_iss`) is not very strong,
|
|
|
- as it does not take into consideration any platform
|
|
|
- specific entropy source.
|
|
|
-
|
|
|
-
|
|
|
config LWIP_MAX_ACTIVE_TCP
|
|
|
int "Maximum active TCP Connections"
|
|
|
range 1 1024
|
|
|
@@ -750,6 +739,74 @@ menu "LWIP"
|
|
|
Enable this option allows lwip to check assert.
|
|
|
It is recommended to keep it open, do not close it.
|
|
|
|
|
|
+ menu "Hooks"
|
|
|
+
|
|
|
+ choice LWIP_HOOK_TCP_ISN
|
|
|
+ prompt "TCP ISN Hook"
|
|
|
+ default LWIP_HOOK_TCP_ISN_DEFAULT
|
|
|
+ help
|
|
|
+ Enables to define a TCP ISN hook to randomize initial sequence
|
|
|
+ number in TCP connection.
|
|
|
+ The default TCP ISN algorithm used in IDF (standardized in RFC 6528)
|
|
|
+ produces ISN by combining an MD5 of the new TCP id and a stable
|
|
|
+ secret with the current time.
|
|
|
+ This is because the lwIP implementation (`tcp_next_iss`) is not
|
|
|
+ very strong, as it does not take into consideration any platform
|
|
|
+ specific entropy source.
|
|
|
+
|
|
|
+ Set to LWIP_HOOK_TCP_ISN_CUSTOM to provide custom implementation.
|
|
|
+ Set to LWIP_HOOK_TCP_ISN_NONE to use lwIP implementation.
|
|
|
+
|
|
|
+
|
|
|
+ config LWIP_HOOK_TCP_ISN_NONE
|
|
|
+ bool "No hook declared"
|
|
|
+ config LWIP_HOOK_TCP_ISN_DEFAULT
|
|
|
+ bool "Default implementation"
|
|
|
+ config LWIP_HOOK_TCP_ISN_CUSTOM
|
|
|
+ bool "Custom implementation"
|
|
|
+
|
|
|
+ endchoice
|
|
|
+
|
|
|
+ choice LWIP_HOOK_IP6_ROUTE
|
|
|
+ prompt "IPv6 route Hook"
|
|
|
+ default LWIP_HOOK_IP6_ROUTE_NONE
|
|
|
+ help
|
|
|
+ Enables custom IPv6 route hook.
|
|
|
+ Setting this to "default" provides weak implementation
|
|
|
+ stub that could be overwritten in application code.
|
|
|
+ Setting this to "custom" provides hook's declaration
|
|
|
+ only and expects the application to implement it.
|
|
|
+
|
|
|
+ config LWIP_HOOK_IP6_ROUTE_NONE
|
|
|
+ bool "No hook declared"
|
|
|
+ config LWIP_HOOK_IP6_ROUTE_DEFAULT
|
|
|
+ bool "Default (weak) implementation"
|
|
|
+ config LWIP_HOOK_IP6_ROUTE_CUSTOM
|
|
|
+ bool "Custom implementation"
|
|
|
+
|
|
|
+ endchoice
|
|
|
+
|
|
|
+ choice LWIP_HOOK_NETCONN_EXTERNAL_RESOLVE
|
|
|
+ prompt "Netconn external resolve Hook"
|
|
|
+ default LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE
|
|
|
+ help
|
|
|
+ Enables custom DNS resolve hook.
|
|
|
+ Setting this to "default" provides weak implementation
|
|
|
+ stub that could be overwritten in application code.
|
|
|
+ Setting this to "custom" provides hook's declaration
|
|
|
+ only and expects the application to implement it.
|
|
|
+
|
|
|
+ config LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE
|
|
|
+ bool "No hook declared"
|
|
|
+ config LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT
|
|
|
+ bool "Default (weak) implementation"
|
|
|
+ config LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM
|
|
|
+ bool "Custom implementation"
|
|
|
+
|
|
|
+ endchoice
|
|
|
+
|
|
|
+ endmenu # Hooks
|
|
|
+
|
|
|
menu "Debug"
|
|
|
|
|
|
config LWIP_NETIF_DEBUG
|