Commit 2446514e authored by Chris Novakovic's avatar Chris Novakovic Committed by Simon Kelley

Fix logic of appending ".<layer>" to PXE basename

Commit f77700aa, which fixes a compiler warning, also breaks the
behaviour of prepending ".<layer>" to basenames in --pxe-service: in
situations where the basename contains a ".", the ".<layer>" suffix is
erroneously added, and in situations where the basename doesn't contain
a ".", the ".<layer>" suffix is erroneously omitted.

A patch against the git HEAD is attached that inverts this logic and
restores the expected behaviour of --pxe-service.
parent 109d0e74
...@@ -836,10 +836,10 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index, ...@@ -836,10 +836,10 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
if (strchr(service->basename, '.')) if (strchr(service->basename, '.'))
snprintf((char *)mess->file, sizeof(mess->file), snprintf((char *)mess->file, sizeof(mess->file),
"%s.%d", service->basename, layer); "%s", service->basename);
else else
snprintf((char *)mess->file, sizeof(mess->file), snprintf((char *)mess->file, sizeof(mess->file),
"%s", service->basename); "%s.%d", service->basename, layer);
option_put(mess, end, OPTION_MESSAGE_TYPE, 1, DHCPACK); option_put(mess, end, OPTION_MESSAGE_TYPE, 1, DHCPACK);
option_put(mess, end, OPTION_SERVER_IDENTIFIER, INADDRSZ, htonl(context->local.s_addr)); option_put(mess, end, OPTION_SERVER_IDENTIFIER, INADDRSZ, htonl(context->local.s_addr));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment