[PATCH v2] dhcp: Remove option 255 length byte
The option 255 (end of options) do not need the length byte, this change
remove that allowing to have one extra byte at other dynamic options.
Signed-off-by: Enrique Llorente
On Mon, Feb 17, 2025 at 10:28:14AM +0100, Enrique Llorente wrote:
The option 255 (end of options) do not need the length byte, this change remove that allowing to have one extra byte at other dynamic options.
Signed-off-by: Enrique Llorente
Reviewed-by: David Gibson
--- dhcp.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/dhcp.c b/dhcp.c index 401cb5b..4a209f1 100644 --- a/dhcp.c +++ b/dhcp.c @@ -64,9 +64,9 @@ static struct opt opts[255]; #define OPT_MIN 60 /* RFC 951 */
/* Total option size (excluding end option) is 576 (RFC 2131), minus - * offset of options (268), minus end option and its length (2). + * offset of options (268), minus end option (1). */ -#define OPT_MAX 306 +#define OPT_MAX 307
/** * dhcp_init() - Initialise DHCP options @@ -127,7 +127,7 @@ struct msg { uint8_t sname[64]; uint8_t file[128]; uint32_t magic; - uint8_t o[OPT_MAX + 2 /* End option and its length */ ]; + uint8_t o[OPT_MAX + 1 /* End option */ ]; } __attribute__((__packed__));
/** @@ -194,7 +194,6 @@ static int fill(struct msg *m) }
m->o[offset++] = 255; - m->o[offset++] = 0;
if (offset < OPT_MIN) { memset(&m->o[offset], 0, OPT_MIN - offset);
-- David Gibson (he or they) | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you, not the other way | around. http://www.ozlabs.org/~dgibson
participants (3)
-
David Gibson
-
Enrique Llorente
-
Stefano Brivio