--- libexec/bootpd/dovend.c.orig Sat Aug 28 02:09:17 1999 +++ libexec/bootpd/dovend.c Thu Sep 27 03:34:41 2001 @@ -137,14 +138,17 @@ /* * Check for room for domain_name. Add 2 to account for * TAG_DOMAIN_NAME and length. + * Add one more for a 'PAD' option to make + * the string zero-terminated for Win95 to work. */ len = strlen(hp->domain_name->string); - NEED((len + 2), "dn"); + NEED((len + 3), "dn"); *vp++ = TAG_DOMAIN_NAME; *vp++ = (byte) (len & 0xFF); bcopy(hp->domain_name->string, vp, len); vp += len; - bytesleft -= len + 2; + bytesleft -= len + 3; + *vp++ = '\0'; /* Courtesy to M$ */ } /* * NIS (YP) server and domain @@ -153,7 +157,7 @@ if (insert_ip(TAG_NIS_SERVER, hp->nis_server, &vp, &bytesleft)) - NEED(8, "ds"); + NEED(8, "ys"); } if (hp->flags.nis_domain) { /* @@ -161,7 +165,7 @@ * TAG_NIS_DOMAIN and length. */ len = strlen(hp->nis_domain->string); - NEED((len + 2), "dn"); + NEED((len + 2), "yn"); *vp++ = TAG_NIS_DOMAIN; *vp++ = (byte) (len & 0xFF); bcopy(hp->nis_domain->string, vp, len); @@ -193,7 +197,7 @@ if (insert_ip(TAG_NTP_SERVER, hp->ntp_server, &vp, &bytesleft)) - NEED(8, "ts"); + NEED(8, "nt"); } /* * I wonder: If the hostname were "promoted" into the BOOTP