changeset 388:38dad94e75ce

Min BOOTP/vendor size. Fix typo in FIS/DELETE.
author gthomas
date Thu, 24 Oct 2002 18:32:24 +0000
parents 44d2cbd109ee
children 256ebfbc615b
files packages/redboot/current/ChangeLog packages/redboot/current/include/net/bootp.h packages/redboot/current/src/flash.c packages/redboot/current/src/net/bootp.c
diffstat 4 files changed, 13 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/packages/redboot/current/ChangeLog
+++ b/packages/redboot/current/ChangeLog
@@ -1,3 +1,12 @@
+2002-10-24  Gary Thomas  <gthomas@ecoscentric.com> (inspired by)
+2002-10-24  Jay Foster <jay@systech.com>	
+
+	* include/net/bootp.h (BP_MIN_VEND_SIZE): 
+	* src/net/bootp.c (__bootp_find_local_ip): Require a minimum vendor
+	area to always be sent (to keep some servers happy).
+
+	* src/flash.c: Fix typo for "FIS DELETE"
+
 2002-09-16  Mark Salter  <msalter@redhat.com>
 
 	* src/main.c (set_console_baud_rate): Handle CYGPKG_REDBOOT_ANY_CONSOLE.
--- a/packages/redboot/current/include/net/bootp.h
+++ b/packages/redboot/current/include/net/bootp.h
@@ -91,6 +91,7 @@ SOFTWARE.
 #define BP_FILE_LEN	128
 #define BP_VEND_LEN	312
 #define BP_MINPKTSZ	300	/* to check sizeof(struct bootp) */
+#define BP_MIN_VEND_SIZE 64     /* minimum actual vendor area */
 
 typedef struct bootp {
     unsigned char    bp_op;			/* packet opcode type */
--- a/packages/redboot/current/src/flash.c
+++ b/packages/redboot/current/src/flash.c
@@ -107,7 +107,7 @@ local_cmd_entry("free",
                 FIS_cmds
     );
 local_cmd_entry("delete",
-                "Display an image from FLASH Image System [FIS]",
+                "Delete an image from FLASH Image System [FIS]",
                 "name",
                 fis_delete,
                 FIS_cmds
--- a/packages/redboot/current/src/net/bootp.c
+++ b/packages/redboot/current/src/net/bootp.c
@@ -172,6 +172,8 @@ int
     AddOption(p,dhcpRequestOption);
     AddOption(p,dhcpEndOption);
 
+    // Some servers insist on a minimum amount of "vendor" data
+    if (p < &b.bp_vend[BP_MIN_VEND_SIZE]) p = &b.bp_vend[BP_MIN_VEND_SIZE];
     txSize = p - (unsigned char*)&b;
 #else
     txSize = sizeof(b);