udhcp: remove support for some really old and odd options

function                                             old     new   delta
dhcp_options                                          72      68      -4
dhcp_option_strings                                  271     253     -18

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/networking/udhcp/clientpacket.c b/networking/udhcp/clientpacket.c
index 8ccdfcc..f091d80 100644
--- a/networking/udhcp/clientpacket.c
+++ b/networking/udhcp/clientpacket.c
@@ -62,8 +62,9 @@
 	int i, len = 0;
 
 	for (i = 0; (c = dhcp_options[i].code) != 0; i++) {
-		if (((dhcp_options[i].flags & OPTION_REQ)
-		     && !client_config.no_default_options)
+		if ((   (dhcp_options[i].flags & OPTION_REQ)
+		     && !client_config.no_default_options
+		    )
 		 || (client_config.opt_mask[c >> 3] & (1 << (c & 7)))
 		) {
 			packet->options[end + OPT_DATA + len] = c;
diff --git a/networking/udhcp/options.c b/networking/udhcp/options.c
index 10ec459..6ab5708 100644
--- a/networking/udhcp/options.c
+++ b/networking/udhcp/options.c
@@ -11,17 +11,17 @@
 #include "options.h"
 
 
-/* Supported options are easily added here */
+/* Supported options are easily added here. See RFC2132 */
 const struct dhcp_option dhcp_options[] = {
 	/* flags                                    code */
 	{ OPTION_IP                   | OPTION_REQ, 0x01 }, /* DHCP_SUBNET        */
 	{ OPTION_S32                              , 0x02 }, /* DHCP_TIME_OFFSET   */
 	{ OPTION_IP | OPTION_LIST     | OPTION_REQ, 0x03 }, /* DHCP_ROUTER        */
 	{ OPTION_IP | OPTION_LIST                 , 0x04 }, /* DHCP_TIME_SERVER   */
-	{ OPTION_IP | OPTION_LIST                 , 0x05 }, /* DHCP_NAME_SERVER   */
+//	{ OPTION_IP | OPTION_LIST                 , 0x05 }, /* DHCP_NAME_SERVER   */
 	{ OPTION_IP | OPTION_LIST     | OPTION_REQ, 0x06 }, /* DHCP_DNS_SERVER    */
 	{ OPTION_IP | OPTION_LIST                 , 0x07 }, /* DHCP_LOG_SERVER    */
-	{ OPTION_IP | OPTION_LIST                 , 0x08 }, /* DHCP_COOKIE_SERVER */
+//	{ OPTION_IP | OPTION_LIST                 , 0x08 }, /* DHCP_COOKIE_SERVER */
 	{ OPTION_IP | OPTION_LIST                 , 0x09 }, /* DHCP_LPR_SERVER    */
 	{ OPTION_STRING               | OPTION_REQ, 0x0c }, /* DHCP_HOST_NAME     */
 	{ OPTION_U16                              , 0x0d }, /* DHCP_BOOT_SIZE     */
@@ -37,7 +37,7 @@
 	{ OPTION_IP | OPTION_LIST                 , 0x2c }, /* DHCP_WINS_SERVER   */
 	{ OPTION_IP                               , 0x32 }, /* DHCP_REQUESTED_IP  */
 	{ OPTION_U32                              , 0x33 }, /* DHCP_LEASE_TIME    */
-	{ OPTION_U8                               , 0x35 }, /* dhcptype           */
+	{ OPTION_U8                               , 0x35 }, /* DHCP_MESSAGE_TYPE  */
 	{ OPTION_IP                               , 0x36 }, /* DHCP_SERVER_ID     */
 	{ OPTION_STRING                           , 0x38 }, /* DHCP_MESSAGE       */
 	{ OPTION_STRING                           , 0x3C }, /* DHCP_VENDOR        */
@@ -68,10 +68,10 @@
 	"timezone" "\0"    /* DHCP_TIME_OFFSET    */
 	"router" "\0"      /* DHCP_ROUTER         */
 	"timesrv" "\0"     /* DHCP_TIME_SERVER    */
-	"namesrv" "\0"     /* DHCP_NAME_SERVER    */
+//	"namesrv" "\0"     /* DHCP_NAME_SERVER    */
 	"dns" "\0"         /* DHCP_DNS_SERVER     */
 	"logsrv" "\0"      /* DHCP_LOG_SERVER     */
-	"cookiesrv" "\0"   /* DHCP_COOKIE_SERVER  */
+//	"cookiesrv" "\0"   /* DHCP_COOKIE_SERVER  */
 	"lprsrv" "\0"      /* DHCP_LPR_SERVER     */
 	"hostname" "\0"    /* DHCP_HOST_NAME      */
 	"bootsize" "\0"    /* DHCP_BOOT_SIZE      */
diff --git a/networking/udhcp/options.h b/networking/udhcp/options.h
index aeed369..8f6ab0f 100644
--- a/networking/udhcp/options.h
+++ b/networking/udhcp/options.h
@@ -41,10 +41,10 @@
 #define DHCP_TIME_OFFSET        0x02
 #define DHCP_ROUTER             0x03
 #define DHCP_TIME_SERVER        0x04
-#define DHCP_NAME_SERVER        0x05
+//#define DHCP_NAME_SERVER      0x05 /* _really_ ancient */
 #define DHCP_DNS_SERVER         0x06
 #define DHCP_LOG_SERVER         0x07
-#define DHCP_COOKIE_SERVER      0x08
+//#define DHCP_COOKIE_SERVER    0x08 /* "quote of the day" */
 #define DHCP_LPR_SERVER         0x09
 #define DHCP_HOST_NAME          0x0c
 #define DHCP_BOOT_SIZE          0x0d
@@ -64,8 +64,8 @@
 #define DHCP_PARAM_REQ          0x37
 #define DHCP_MESSAGE            0x38
 #define DHCP_MAX_SIZE           0x39
-#define DHCP_T1                 0x3a
-#define DHCP_T2                 0x3b
+//#define DHCP_T1               0x3a
+//#define DHCP_T2               0x3b
 #define DHCP_VENDOR             0x3c
 #define DHCP_CLIENT_ID          0x3d
 #define DHCP_FQDN               0x51
diff --git a/networking/udhcp/script.c b/networking/udhcp/script.c
index a74697c..dc658ad 100644
--- a/networking/udhcp/script.c
+++ b/networking/udhcp/script.c
@@ -78,8 +78,11 @@
 			*dest++ = '/';
 			option += 4;
 			optlen = 4;
-		case OPTION_IP:	/* Works regardless of host byte order. */
+		case OPTION_IP:
 			dest += sprint_nip(dest, "", option);
+// TODO: it can be a list only if (type_p->flags & OPTION_LIST).
+// Should we bail out/warn if we see multi-ip option which is
+// not allowed to be such? For example, DHCP_BROADCAST...
 			break;
 		case OPTION_BOOLEAN:
 			dest += sprintf(dest, *option ? "yes" : "no");