summaryrefslogtreecommitdiffhomepage
path: root/networking/udhcp/dhcpc.c
diff options
context:
space:
mode:
Diffstat (limited to 'networking/udhcp/dhcpc.c')
-rw-r--r--networking/udhcp/dhcpc.c33
1 files changed, 17 insertions, 16 deletions
diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c
index 4565d7fd2..2c7608048 100644
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -49,10 +49,10 @@ static const uint8_t len_of_option_as_string[] = {
#if ENABLE_FEATURE_UDHCP_RFC3397
[OPTION_STR1035] = 1,
#endif
- [OPTION_BOOLEAN] = sizeof("yes "),
+// [OPTION_BOOLEAN] = sizeof("yes "),
[OPTION_U8] = sizeof("255 "),
[OPTION_U16] = sizeof("65535 "),
- [OPTION_S16] = sizeof("-32768 "),
+// [OPTION_S16] = sizeof("-32768 "),
[OPTION_U32] = sizeof("4294967295 "),
[OPTION_S32] = sizeof("-2147483684 "),
};
@@ -81,7 +81,6 @@ static NOINLINE char *xmalloc_optname_optval(uint8_t *option, const struct dhcp_
unsigned upper_length;
int len, type, optlen;
uint16_t val_u16;
- int16_t val_s16;
uint32_t val_u32;
int32_t val_s32;
char *dest, *ret;
@@ -108,9 +107,9 @@ static NOINLINE char *xmalloc_optname_optval(uint8_t *option, const struct dhcp_
// 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");
- break;
+// case OPTION_BOOLEAN:
+// dest += sprintf(dest, *option ? "yes" : "no");
+// break;
case OPTION_U8:
dest += sprintf(dest, "%u", *option);
break;
@@ -118,10 +117,12 @@ static NOINLINE char *xmalloc_optname_optval(uint8_t *option, const struct dhcp_
move_from_unaligned16(val_u16, option);
dest += sprintf(dest, "%u", ntohs(val_u16));
break;
- case OPTION_S16:
- move_from_unaligned16(val_s16, option);
- dest += sprintf(dest, "%d", ntohs(val_s16));
- break;
+// case OPTION_S16: {
+// int16_t val_s16;
+// move_from_unaligned16(val_s16, option);
+// dest += sprintf(dest, "%d", ntohs(val_s16));
+// break;
+// }
case OPTION_U32:
move_from_unaligned32(val_u32, option);
dest += sprintf(dest, "%lu", (unsigned long) ntohl(val_u32));
@@ -318,23 +319,23 @@ static void init_packet(struct dhcp_packet *packet, char type)
udhcp_init_header(packet, type);
memcpy(packet->chaddr, client_config.client_mac, 6);
if (client_config.clientid)
- udhcp_add_option_string(packet->options, client_config.clientid);
+ udhcp_add_binary_option(packet->options, client_config.clientid);
if (client_config.hostname)
- udhcp_add_option_string(packet->options, client_config.hostname);
+ udhcp_add_binary_option(packet->options, client_config.hostname);
if (client_config.fqdn)
- udhcp_add_option_string(packet->options, client_config.fqdn);
+ udhcp_add_binary_option(packet->options, client_config.fqdn);
if (type != DHCPDECLINE
&& type != DHCPRELEASE
&& client_config.vendorclass
) {
- udhcp_add_option_string(packet->options, client_config.vendorclass);
+ udhcp_add_binary_option(packet->options, client_config.vendorclass);
}
}
static void add_client_options(struct dhcp_packet *packet)
{
/* Add am "param req" option with the list of options we'd like to have
- * from stubborn DHCP servers. Pull the data from the struct in options.c.
+ * from stubborn DHCP servers. Pull the data from the struct in common.c.
* No bounds checking because it goes towards the head of the packet. */
uint8_t c;
int end = udhcp_end_option(packet->options);
@@ -360,7 +361,7 @@ static void add_client_options(struct dhcp_packet *packet)
{
struct option_set *curr = client_config.options;
while (curr) {
- udhcp_add_option_string(packet->options, curr->data);
+ udhcp_add_binary_option(packet->options, curr->data);
curr = curr->next;
}
// if (client_config.sname)