Hi, Tried the 2.76rc2 this morning. Seems fine / OK for me. Have uploaded the binary here again (same place as before):
https://dl.bintray.com/dreamcat4/linux/dnsmasq/ On Sun, May 15, 2016 at 9:03 AM, Michael Kuron < michael-li...@physcip.uni-stuttgart.de> wrote: > Hi Simon, > > 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. > 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. > > Michael > > > --- a/src/rfc2131.c > +++ b/src/rfc2131.c > @@ -882,8 +882,13 @@ size_t dhcp_reply(struct dhcp_context *context, char > *iface_name, int int_index, > > clear_packet(mess, end); > > - /* Redirect the client to port 4011 */ > - mess->siaddr = tmp->local; > + /* Redirect EFI clients to port 4011 */ > + int redirect4011 = 0; > + if (pxearch >= 6) > + { > + redirect4011 = 1; > + mess->siaddr = tmp->local; > + } > /* Returns true if only one matching service is > available. On port 4011, > it also inserts the boot file and server name. */ > workaround = pxe_uefi_workaround(pxearch, tagif_netid, > mess, tmp->local, now, pxe); > @@ -906,7 +911,7 @@ size_t dhcp_reply(struct dhcp_context *context, char > *iface_name, int int_index, > option_put(mess, end, OPTION_SERVER_IDENTIFIER, > INADDRSZ, htonl(tmp->local.s_addr)); > pxe_misc(mess, end, uuid); > prune_vendor_opts(tagif_netid); > - if (pxe && !workaround) > + if ((pxe && !workaround) || !redirect4011) > do_encap_opts(pxe_opts(pxearch, tagif_netid, > tmp->local, now), OPTION_VENDOR_CLASS_OPT, DHOPT_VENDOR_MATCH, mess, end, > 0); > > log_packet("PXE", NULL, emac, emac_len, iface_name, > ignore ? "proxy-ignored" : "proxy", NULL, mess->xid); > > > _______________________________________________ > Dnsmasq-discuss mailing list > Dnsmasq-discuss@lists.thekelleys.org.uk > http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss >
_______________________________________________ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss