From 2446514e716075cfe2be35e2a9b9de4eacdbac99 Mon Sep 17 00:00:00 2001 From: Chris Novakovic Date: Tue, 6 Jun 2017 23:02:59 +0100 Subject: [PATCH] Fix logic of appending "." to PXE basename Commit f77700aa, which fixes a compiler warning, also breaks the behaviour of prepending "." to basenames in --pxe-service: in situations where the basename contains a ".", the "." suffix is erroneously added, and in situations where the basename doesn't contain a ".", the "." suffix is erroneously omitted. A patch against the git HEAD is attached that inverts this logic and restores the expected behaviour of --pxe-service. --- src/rfc2131.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rfc2131.c b/src/rfc2131.c index a679470..1c850e5 100644 --- a/src/rfc2131.c +++ b/src/rfc2131.c @@ -836,10 +836,10 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index, if (strchr(service->basename, '.')) snprintf((char *)mess->file, sizeof(mess->file), - "%s.%d", service->basename, layer); + "%s", service->basename); else 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_SERVER_IDENTIFIER, INADDRSZ, htonl(context->local.s_addr));