diff options
author | Michael Brown | 2009-02-03 03:44:15 +0100 |
---|---|---|
committer | Michael Brown | 2009-02-03 03:44:15 +0100 |
commit | 4b276b8df9de6909c3f3ac7034d6a97454d466d5 (patch) | |
tree | 0d37eedc31644a8ae4556366a50719ccabb0b74e /src/usr/pxemenu.c | |
parent | [iobuf] Add iob_disown() and use it where it simplifies code (diff) | |
download | ipxe-4b276b8df9de6909c3f3ac7034d6a97454d466d5.tar.gz ipxe-4b276b8df9de6909c3f3ac7034d6a97454d466d5.tar.xz ipxe-4b276b8df9de6909c3f3ac7034d6a97454d466d5.zip |
[pxe] Fall back to broadcast if no boot server multicast address exists
fetch_ipv4_setting() will zero its IPv4 address argument if no such
setting exists, rather than leaving it untouched.
Diffstat (limited to 'src/usr/pxemenu.c')
-rw-r--r-- | src/usr/pxemenu.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/usr/pxemenu.c b/src/usr/pxemenu.c index 3f5bfc88..ae971088 100644 --- a/src/usr/pxemenu.c +++ b/src/usr/pxemenu.c @@ -95,8 +95,9 @@ static int pxe_menu_parse ( struct pxe_menu **menu ) { /* Fetch relevant settings */ tmp_setting.tag = DHCP_PXE_BOOT_SERVER_MCAST; - server.s_addr = INADDR_BROADCAST; fetch_ipv4_setting ( NULL, &tmp_setting, &server ); + if ( ! server.s_addr ) + server.s_addr = INADDR_BROADCAST; tmp_setting.tag = DHCP_PXE_BOOT_MENU_PROMPT; fetch_setting ( NULL, &tmp_setting, &prompt, sizeof ( prompt ) ); tmp_setting.tag = DHCP_PXE_BOOT_MENU; |