summaryrefslogtreecommitdiff
path: root/networking/udhcp/d6_dhcpc.c
diff options
context:
space:
mode:
authorDenys Vlasenko2012-07-27 13:25:07 +0200
committerDenys Vlasenko2012-07-27 13:25:07 +0200
commit293c94564ccee60c8e954bb6347fd36034cb7590 (patch)
tree0d715c33a883762b22b010fa4cb13d8d74ea7b11 /networking/udhcp/d6_dhcpc.c
parent0e941d542736dc5eb69add1d3377a4601536eb97 (diff)
downloadbusybox-293c94564ccee60c8e954bb6347fd36034cb7590.zip
busybox-293c94564ccee60c8e954bb6347fd36034cb7590.tar.gz
udhcpc: make -O <numeric_opt> work. Closes 5402
function old new delta udhcpc_main 2642 2685 +43 udhcp_recv_raw_packet 414 415 +1 d6_recv_raw_packet 248 249 +1 udhcpc6_main 2430 2413 -17 add_client_options 239 213 -26 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/2 up/down: 45/-43) Total: 2 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'networking/udhcp/d6_dhcpc.c')
-rw-r--r--networking/udhcp/d6_dhcpc.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/networking/udhcp/d6_dhcpc.c b/networking/udhcp/d6_dhcpc.c
index d9d8b9b..dda4a91 100644
--- a/networking/udhcp/d6_dhcpc.c
+++ b/networking/udhcp/d6_dhcpc.c
@@ -965,8 +965,6 @@ int udhcpc6_main(int argc UNUSED_PARAM, char **argv)
SERVER_PORT = CLIENT_PORT - 1;
}
#endif
- if (opt & OPT_o)
- client_config.no_default_options = 1;
while (list_O) {
char *optstr = llist_pop(&list_O);
unsigned n = bb_strtou(optstr, NULL, 0);
@@ -976,6 +974,16 @@ int udhcpc6_main(int argc UNUSED_PARAM, char **argv)
}
client_config.opt_mask[n >> 3] |= 1 << (n & 7);
}
+ if (!(opt & OPT_o)) {
+ /*
+ unsigned i, n;
+ for (i = 0; (n = dhcp_optflags[i].code) != 0; i++) {
+ if (dhcp_optflags[i].flags & OPTION_REQ) {
+ client_config.opt_mask[n >> 3] |= 1 << (n & 7);
+ }
+ }
+ */
+ }
while (list_x) {
char *optstr = llist_pop(&list_x);
char *colon = strchr(optstr, ':');