<div dir="ltr"><div>Hi,<br>Tried the 2.76rc2 this morning. Seems fine / OK for me.<br><br></div>Have uploaded the binary here again (same place as before):<br><br><a href="https://dl.bintray.com/dreamcat4/linux/dnsmasq/">https://dl.bintray.com/dreamcat4/linux/dnsmasq/</a><br><br><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, May 15, 2016 at 9:03 AM, Michael Kuron <span dir="ltr"><<a href="mailto:michael-lists@physcip.uni-stuttgart.de" target="_blank">michael-lists@physcip.uni-stuttgart.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Simon,<br>
<br>
thanks, it’s working fine for me now. Before releasing 2.76, it would be good if more people could test this on actual hardware.<br>
Also, there’s one more item that needs to go into the release notes: we now redirect all clients to port 4011, including the BIOS clients. This is a change in behavior over the previous release, where the option 43 menu was sent on port 68. This could potentially break things for some very old and broken PXE implementations. It’s unlikely, since the port 4011 stuff has always been part of the PXE spec, but possible. I don’t think it’s really necessary, but I have included a patch below that restricts the port 4011 redirect to CSA >= 6. With that patch, the PXE behavior for BIOS clients is exactly what it was in older releases.<br>
<span class=""><br>
Michael<br>
<br>
<br>
--- a/src/rfc2131.c<br>
+++ b/src/rfc2131.c<br>
</span>@@ -882,8 +882,13 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,<br>
<br>
                  clear_packet(mess, end);<br>
<br>
-                 /* Redirect the client to port 4011 */<br>
<span class="">-                 mess->siaddr = tmp->local;<br>
</span>+                 /* Redirect EFI clients to port 4011 */<br>
+                 int redirect4011 = 0;<br>
+                 if (pxearch >= 6)<br>
+                 {<br>
+                     redirect4011 = 1;<br>
<span class="">+                     mess->siaddr = tmp->local;<br>
+                 }<br>
                  /* Returns true if only one matching service is available. On port 4011,<br>
                     it also inserts the boot file and server name. */<br>
</span><span class="">                  workaround = pxe_uefi_workaround(pxearch, tagif_netid, mess, tmp->local, now, pxe);<br>
</span>@@ -906,7 +911,7 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,<br>
<span class="">                  option_put(mess, end, OPTION_SERVER_IDENTIFIER, INADDRSZ, htonl(tmp->local.s_addr));<br>
                  pxe_misc(mess, end, uuid);<br>
                  prune_vendor_opts(tagif_netid);<br>
</span>-                 if (pxe && !workaround)<br>
+                 if ((pxe && !workaround) || !redirect4011)<br>
<span class="im HOEnZb">                    do_encap_opts(pxe_opts(pxearch, tagif_netid, tmp->local, now), OPTION_VENDOR_CLASS_OPT, DHOPT_VENDOR_MATCH, mess, end, 0);<br>
<br>
                  log_packet("PXE", NULL, emac, emac_len, iface_name, ignore ? "proxy-ignored" : "proxy", NULL, mess->xid);<br>
<br>
<br>
</span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
Dnsmasq-discuss mailing list<br>
<a href="mailto:Dnsmasq-discuss@lists.thekelleys.org.uk">Dnsmasq-discuss@lists.thekelleys.org.uk</a><br>
<a href="http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss" rel="noreferrer" target="_blank">http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss</a><br>
</div></div></blockquote></div><br></div>