* [U-Boot] [PATCH] Fix potential empty Parameter Request List
@ 2010-10-15 14:53 Gray Remlin
0 siblings, 0 replies; only message in thread
From: Gray Remlin @ 2010-10-15 14:53 UTC (permalink / raw)
To: u-boot
Signed-off-by: Gray Remlin <g_remlin@rocketmail.com>
---
net/bootp.c | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletions(-)
diff --git a/net/bootp.c b/net/bootp.c
index e679f8b..1289e3b 100644
--- a/net/bootp.c
+++ b/net/bootp.c
@@ -417,8 +417,21 @@ static int DhcpExtended (u8 * e, int message_type,
IPaddr_t ServerID, IPaddr_t R
return x - start;
#endif
+/*
+ * RFC2132: An empty Parameter Request List is not legitimate,
+ * it must have at minimum one request.
+ */
+#if defined(CONFIG_BOOTP_SUBNETMASK) || \
+ defined(CONFIG_BOOTP_TIMEOFFSET) || \
+ defined(CONFIG_BOOTP_GATEWAY) || \
+ defined(CONFIG_BOOTP_DNS) || \
+ defined(CONFIG_BOOTP_HOSTNAME) || \
+ defined(CONFIG_BOOTP_BOOTFILESIZE) || \
+ defined(CONFIG_BOOTP_BOOTPATH) || \
+ defined(CONFIG_BOOTP_NISDOMAIN) || \
+ defined(CONFIG_BOOTP_NTPSERVER)
*e++ = 55; /* Parameter Request List */
- cnt = e++; /* Pointer to count of requested items */
+ cnt = e++; /* Pointer to count of requested items */
*cnt = 0;
#if defined(CONFIG_BOOTP_SUBNETMASK)
*e++ = 1; /* Subnet Mask */
@@ -456,6 +469,7 @@ static int DhcpExtended (u8 * e, int message_type,
IPaddr_t ServerID, IPaddr_t R
*e++ = 42;
*cnt += 1;
#endif
+#endif
*e++ = 255; /* End of the list */
/* Pad to minimal length */
--
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2010-10-15 14:53 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-15 14:53 [U-Boot] [PATCH] Fix potential empty Parameter Request List Gray Remlin
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.