Fix error in PXE arch names and add ARM32 and ARM64.
diff --git a/CHANGELOG b/CHANGELOG
index f3220d8..7012918 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -74,7 +74,15 @@
To avoid filling logs in configurations which define
many upstream nameservers, don't log more that 30 servers.
The number to be logged can be changed as SERVERS_LOGGED
- in src/config.h.
+ in src/config.h.
+
+ Swap the values if BC_EFI and x86-64_EFI in --pxe-service.
+ These were previously wrong due to an error in RFC 4578.
+ If you're using BC_EFI to boot 64-bit EFI machines, you
+ will need to update your config.
+
+ Add ARM32_EFI and ARM64_EFI as valid architectures in
+ --pxe-service.
version 2.75
diff --git a/man/dnsmasq.8 b/man/dnsmasq.8
index dacd9ce..68d77a2 100644
--- a/man/dnsmasq.8
+++ b/man/dnsmasq.8
@@ -1358,7 +1358,7 @@
This specifies a boot option which may appear in a PXE boot menu. <CSA> is
client system type, only services of the correct type will appear in a
menu. The known types are x86PC, PC98, IA64_EFI, Alpha, Arc_x86,
-Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI; an
+Intel_Lean_Client, IA32_EFI, X86-64_EFI, Xscale_EFI, BC_EFI, ARM32_EFI and ARM64_EFI; an
integer may be used for other types. The
parameter after the menu text may be a file name, in which case dnsmasq acts as a
boot server and directs the PXE client to download the file by TFTP,
diff --git a/src/option.c b/src/option.c
index 0b35500..d8c57d6 100644
--- a/src/option.c
+++ b/src/option.c
@@ -3298,7 +3298,8 @@
{
struct pxe_service *new = opt_malloc(sizeof(struct pxe_service));
char *CSA[] = { "x86PC", "PC98", "IA64_EFI", "Alpha", "Arc_x86", "Intel_Lean_Client",
- "IA32_EFI", "BC_EFI", "Xscale_EFI", "x86-64_EFI", NULL };
+ "IA32_EFI", "x86-64_EFI", "Xscale_EFI", "BC_EFI",
+ "ARM32_EFI", "ARM64_EFI", NULL };
static int boottype = 32768;
new->netid = NULL;