mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-05-05 20:56:12 +02:00
net: Enhancements for dhcp option 209
- Enable option 209 by default - Set pxelinux_configfile to NULL to avoid potential double free - change hardcoded 209 to a define Signed-off-by: Sean Edmond <seanedmond@microsoft.com>
This commit is contained in:
parent
4b3706607c
commit
c867045eef
@ -1898,6 +1898,7 @@ config BOOTP_PXE_CLIENTARCH
|
||||
|
||||
config BOOTP_PXE_DHCP_OPTION
|
||||
bool "Request & store 'pxe_configfile' from BOOTP/DHCP server"
|
||||
default y
|
||||
depends on BOOTP_PXE
|
||||
|
||||
config BOOTP_VCI_STRING
|
||||
|
||||
@ -65,6 +65,8 @@ static int pxe_dhcp_option_path(struct pxe_context *ctx, unsigned long pxefile_a
|
||||
int ret = get_pxe_file(ctx, pxelinux_configfile, pxefile_addr_r);
|
||||
|
||||
free(pxelinux_configfile);
|
||||
/* set to NULL to avoid double-free if DHCP is tried again */
|
||||
pxelinux_configfile = NULL;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -603,7 +603,7 @@ static int dhcp_extended(u8 *e, int message_type, struct in_addr server_ip,
|
||||
*cnt += 1;
|
||||
#endif
|
||||
if (IS_ENABLED(CONFIG_BOOTP_PXE_DHCP_OPTION)) {
|
||||
*e++ = 209; /* PXELINUX Config File */
|
||||
*e++ = DHCP_OPTION_PXE_CONFIG_FILE; /* PXELINUX Config File */
|
||||
*cnt += 1;
|
||||
}
|
||||
/* no options, so back up to avoid sending an empty request list */
|
||||
@ -922,7 +922,7 @@ static void dhcp_process_options(uchar *popt, uchar *end)
|
||||
net_boot_file_name[size] = 0;
|
||||
}
|
||||
break;
|
||||
case 209: /* PXELINUX Config File */
|
||||
case DHCP_OPTION_PXE_CONFIG_FILE: /* PXELINUX Config File */
|
||||
if (IS_ENABLED(CONFIG_BOOTP_PXE_DHCP_OPTION)) {
|
||||
/* In case it has already been allocated when get DHCP Offer packet,
|
||||
* free first to avoid memory leak.
|
||||
|
||||
@ -91,6 +91,8 @@ typedef enum { INIT,
|
||||
#define DHCP_NAK 6
|
||||
#define DHCP_RELEASE 7
|
||||
|
||||
#define DHCP_OPTION_PXE_CONFIG_FILE 209 /* "ConfigFile" option according to rfc5071 */
|
||||
|
||||
/**********************************************************************/
|
||||
|
||||
#endif /* __BOOTP_H__ */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user