If the siaddr field in the DHCP header isn't set, fall back to the
server identity option. This seems to match the behaviour of the PXE
stacks, and some (braindead) DHCP servers don't allow the server
identity to be set.
* Handle capitalized F-key commands in the menu system.
* Fix padding error when loading multiple ramdisks.
* Workaround for VMware crashing when trying to print a
- message during early kernel boot.
+ message during early kernel boot (does not seem to work,
+ consider deleting.)
* chain.c32: add the ability to search for a specific MBR
signature at runtime.
+ * Fall back to the server identity option if the siaddr field
+ in the DHCP header isn't set. This seems to match the
+ behaviour of most PXE stacks.
Changes in 3.51:
* EXTLINUX: Fix failure to find the configuration file.
mov [OverLoad],bl
ret
+ dopt 54, server
+ mov eax,[si]
+ cmp dword [ServerIP],0
+ jne .skip ; Already have a next server IP
+ cmp al,224 ; Class D or higher
+ jae .skip
+ mov [ServerIP],eax
+.skip: ret
+
dopt 61, client_identifier
cmp ax,MAC_MAX ; Too long?
ja .skip