lwip: Add config for DHCP client id; Fix DNS server idx assert issue

This commit brings two esp-lwip fixes to IDF:

1) Add configuration to disable DHCP client identification
2195f7416f
This config could be used to disable option 61 in DHCP packets, so that
clients will be identified by their  chaddr only.
(This is the lwip upstream original behaviour)

2) Fix server_idx increasing to DNS_MAX_SERVERS and trigger the LWIP_ASSERT
5a567d52f7
When lwip doesn't have DNS server and resolve a domain address, the server_idx
will increase to DNS_MAX_SERVERS, which will trigger the LWIP_ASSERT and make device crash.

Closes https://github.com/espressif/esp-idf/issues/6878
This commit is contained in:
David Cermak
2021-05-05 09:14:34 +02:00
committed by bot
parent b007024c62
commit c93298c31d
3 changed files with 14 additions and 1 deletions

View File

@ -230,6 +230,15 @@ menu "LWIP"
Enabling this option performs a check (via ARP request) if the offered IP address
is not already in use by another host on the network.
config LWIP_DHCP_DISABLE_CLIENT_ID
bool "DHCP: Disable Use of HW address as client identification"
default n
help
This option could be used to disable DHCP client identification with its MAC address.
(Client id is used by DHCP servers to uniquely identify clients and are included
in the DHCP packets as an option 61)
Set this option to "y" in order to exclude option 61 from DHCP packets.
config LWIP_DHCP_RESTORE_LAST_IP
bool "DHCP: Restore last IP obtained from DHCP server"
default n

View File

@ -249,6 +249,10 @@
*/
#define DHCP_DOES_ARP_CHECK CONFIG_LWIP_DHCP_DOES_ARP_CHECK
/**
* LWIP_DHCP_DISABLE_CLIENT_ID==1: Do not add option 61 (client-id) to DHCP packets
*/
#define ESP_DHCP_DISABLE_CLIENT_ID CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID
/**
* CONFIG_LWIP_DHCP_RESTORE_LAST_IP==1: Last valid IP address obtained from DHCP server