Forgive me if this has already been mulled over.  With our recent
upgrade to the latest version of the ISC DHCP server (2.0b1pl18),
our NCD terminals stopped getting all the parameters they need.
It seems they are not sending the appropriate "vendor code" when
making requests.  I've temporarily fixed the problem by ripping
out the few lines of source in the server that check for this code
(it simply didn't check in previous releases), but I'd like to know
the correct solution.

I've included my patch to the server so it's clear what code I'm
talking about.

Thanks for any help ...

Andrew J. Korty, Director     http://www.physics.purdue.edu/~ajk/
Physics Computer Network            85 73 1F 04 63 D9 9D 65       
Purdue University                   65 2E 7A A8 81 8C 45 75
--- dhcp-2.0b1pl18/server/bootp.c.orig	Tue Mar 30 12:56:43 1999
+++ dhcp-2.0b1pl18/server/bootp.c	Tue Mar 30 12:57:25 1999
@@ -230,6 +230,7 @@
 	memset (&raw, 0, sizeof raw);
 	outgoing.raw = &raw;
 
+#if 0
 	/* If we didn't get a known vendor magic number on the way in,
 	   just copy the input options to the output. */
 	if (!packet -> options_valid) {
@@ -237,6 +238,7 @@
 			packet -> raw -> options, DHCP_OPTION_LEN);
 		outgoing.packet_length = BOOTP_MIN_LEN;
 	} else {
+#endif /* 0 */
 		/* Come up with a list of options that we want to send
 		   to this client.  Start with the per-subnet options,
 		   and then override those with client-specific
@@ -257,7 +259,9 @@
 			cons_options (packet, outgoing.raw, options, 0, 0, 1);
 		if (outgoing.packet_length < BOOTP_MIN_LEN)
 			outgoing.packet_length = BOOTP_MIN_LEN;
+#if 0
 	}
+#endif /* 0 */
 
 	/* Take the fields that we care about... */
 	raw.op = BOOTREPLY;

Reply via email to