Denys Vlasenko
7280d2017d
udhcpc: sanitize hostnames in incoming packets. Closes 3979.
...
The following options are replaced with string "bad" if they
contain malformed hostname:
HOST_NAME, DOMAIN_NAME, NIS_DOMAIN, TFTP_SERVER_NAME
function old new delta
xmalloc_optname_optval 850 888 +38
attach_option 440 443 +3
len_of_option_as_string 13 14 +1
dhcp_option_lengths 13 14 +1
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/0 up/down: 43/0) Total: 43 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-12-08 16:41:05 +01:00
Denys Vlasenko
860491c525
udhcpc: shrink code by setting xid more economically
...
function old new delta
send_decline 90 82 -8
udhcpc_main 2649 2640 -9
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-11-18 02:09:13 +01:00
Denys Vlasenko
a092a89d8f
udhcpc6: rudimentary code to export data to script; fix IAADDR parsing
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-11-16 20:17:12 +01:00
Denys Vlasenko
7e21f0491c
udhcpc[6]: tweak help text, remove -B from udhcpc6 and "--version" from both
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-11-08 11:39:41 +01:00
Denys Vlasenko
2b6a6b90cc
udhcpc6: set hop limit to 1 in emitted raw packets
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-11-07 18:22:06 +01:00
Denys Vlasenko
68c5b28156
udhcpc6: fix endianness
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-11-07 16:21:24 +01:00
Denys Vlasenko
9ba75048c0
udhcpc6: new applet. Not yet functional.
...
It builds. It sends Solicit packets. Not sure these packets are well-formed.
I have no server to test it against.
function old new delta
udhcpc6_main - 2426 +2426
d6_send_raw_packet - 428 +428
d6_send_kernel_packet - 274 +274
d6_recv_raw_packet - 248 +248
send_d6_discover - 177 +177
packed_usage 28795 28966 +171
d6_run_script - 156 +156
send_d6_renew - 140 +140
send_d6_release - 126 +126
d6_recv_kernel_packet - 116 +116
send_d6_select - 95 +95
perform_d6_release - 78 +78
d6_find_option - 74 +74
init_d6_packet - 54 +54
d6_copy_option - 48 +48
d6_mcast_from_client_config_ifindex - 42 +42
d6_dump_packet - 24 +24
static.FF02__1_2 - 16 +16
d6_store_blob - 13 +13
applet_names 2432 2440 +8
applet_main 1412 1416 +4
applet_nameofs 706 708 +2
add_d6_client_options - 1 +1
------------------------------------------------------------------------------
(add/remove: 21/0 grow/shrink: 4/0 up/down: 4721/0) Total: 4721 bytes
text data bss dec hex filename
879080 493 7584 887157 d8975 busybox_old
884585 497 7584 892666 d9efa busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-11-07 15:55:39 +01:00
Denys Vlasenko
50089fc61c
udhcpc: trim help text, rename badly-named variable
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-11-07 15:44:46 +01:00
Denys Vlasenko
0fd4347ced
udhcpc: code shrink
...
function old new delta
udhcpc_main 2646 2649 +3
udhcp_run_script 816 802 -14
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-11-07 00:54:27 +01:00
Denys Vlasenko
3b46fcb95d
udhcpc: remove workaround for bugs in Win98 dhcp server ("MSFT 98" vendor string)
...
Stats for last three commits:
function old new delta
udhcpc_main 2635 2646 +11
udhcp_recv_raw_packet 425 414 -11
udhcp_recv_kernel_packet 210 134 -76
packed_usage 28940 28857 -83
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/3 up/down: 11/-170) Total: -159 bytes
text data bss dec hex filename
879524 493 7584 887601 d8b31 busybox_old
879340 493 7584 887417 d8a79 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-11-05 01:26:18 +01:00
Denys Vlasenko
d38ca03946
udhcpc: reuse string constant; remove unneeded memset(0)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-11-05 01:25:03 +01:00
Denys Vlasenko
2017d48c0d
udhcpc: deprecate --hostname NAME
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-11-05 01:24:14 +01:00
Denys Vlasenko
ee320c6d9c
getty: reset tty attrs on Ctrl-C and Ctrl-D too
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-10-23 18:05:58 +02:00
Denys Vlasenko
2af2acf9b5
udhcpc: add comment about server IP
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-10-20 14:47:41 +02:00
Denys Vlasenko
fbca0c68a7
udhcpc: in fill_envp, export BOOTP fields first
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-10-20 14:24:18 +02:00
Denys Vlasenko
cd4d78f525
dhcpc: fix the case where we might add extra space at the end of envvar.
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-10-20 13:21:55 +02:00
Denys Vlasenko
1dff672335
udhcpc: fix 6rd option formatting (was using 4 more bytes than there is)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-10-20 12:29:18 +02:00
Denys Vlasenko
42816c204d
udhcpc: remove unused argument in sprint_nip6
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-10-20 10:52:07 +02:00
Denys Vlasenko
7981d79ef0
udhcpc: small code shrink
...
function old new delta
udhcp_recv_raw_packet 430 425 -5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-10-20 10:34:05 +02:00
Denys Vlasenko
f461385521
typo fix in comment
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-10-20 08:54:16 +02:00
Denys Vlasenko
1f56e51ca1
udhcpc: add support for DHCP option 212 (RFC 5969)
...
The patch is from OpenWRT people.
function old new delta
xmalloc_optname_optval 637 874 +237
dhcp_option_strings 237 243 +6
dhcp_optflags 68 70 +2
len_of_option_as_string 12 13 +1
dhcp_option_lengths 12 13 +1
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/0 up/down: 247/0) Total: 247 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-10-19 22:40:35 +02:00
Vladislav Grishenko
6464f15ddb
udhcpc: on SIGUSR1, limit renew attempts time to 20 seconds; then do total reconfig
...
Scenario:
1. udhcpc gets lease for 86400 secs and sleeps for 43200 before renew attempt
2. PC gets physically disconnected and connected to another network
3. some phy control software sends SIGUSR1 to renew the lease, SIGUSR2 isn't
used because newly connected network could be the same as before
4. udhcpc sends unicast renew requests until lease timeout fall to 60 sec.
They are ignored by new network dhcp servers
5. udhcpc sends broadcast rebind requests for 60 seconds, which are NAKed
or ignored too
6. udhcpc deconfigs and starting from discover state, gets new lease for the
new network
So, pt.4+5 it could take up to 86400 secs without correct lease, which is
too long and not acceptable.
Second SIGUSR1 will immediately run into deconfig/discover state, which is
not preferable in case of the same subnet replugged.
This patch makes sure after SIGUSR1 timeout is no more than -A NUM
(usually 20 sec). It means that renew will be requested via broadcast,
and if no replies come back, full deconf/reconf cycle will be initiated
in 20 seconds.
Signed-off-by: Vladislav Grishenko <themiron@mail.ru>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-10-18 01:37:47 +02:00
Leonid Lisovskiy
6c9c0a1dc9
udhcp: IF_UDHCP_VERBOSE() macro - improve code readability
...
Signed-off-by: Leonid Lisovskiy <lly.dev@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-10-18 00:35:47 +02:00
Baruch Siach
289c47b049
udhcp: remove the declaration of non-existent udhcp_checksum
...
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-09-09 11:03:45 +02:00
Baruch Siach
e8f36330d9
networking: consolidate the IP checksum code. -129 bytes.
...
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-09-07 17:55:40 +02:00
Dan Fandrich
f533ec8767
*: simplify Ethernet header includes
...
Signed-off-by: Dan Fandrich <dan@coneharvesters.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-06-10 05:17:59 +02:00
Denys Vlasenko
66426760be
*: remove "Options:" string from help texts
...
function old new delta
packed_usage 28706 28623 -83
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-06-05 03:58:28 +02:00
Denys Vlasenko
5d3aaceb79
udhcpc: allow -O OPT take numeric params
...
function old new delta
udhcpc_main 2623 2654 +31
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-06-04 05:07:16 +02:00
Denys Vlasenko
7945808c87
udhcp: fix some default values from "" to NULL
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-05-03 16:46:47 +02:00
Nigel Hathaway
fb6b173ff7
udhcp: add FEATURE_UDHCP_8021Q option
...
function old new delta
dhcp_option_strings 217 237 +20
dhcp_optflags 64 68 +4
Signed-off-by: Nigel Hathaway <Nigel.Hathaway@ubiquisys.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-04-26 02:50:00 +02:00
Nigel Hathaway
c37d4c67e8
dhcpc: export unrecognized options in "optNN=XXXXXXXXX" form
...
function old new delta
udhcp_run_script 609 818 +209
Signed-off-by: Nigel Hathaway <Nigel.Hathaway@ubiquisys.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-04-26 02:38:29 +02:00
Pere Orga
5bc8c005a8
move remaining help text from include/usage.src.h
...
Signed-off-by: Pere Orga <gotrunks@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-04-11 03:29:49 +02:00
Denys Vlasenko
9ac5596a51
udhcpc: emit "correct" secs field
...
In theory, sending secs set to constant zero should be ok too.
But some bleeping servers can actually be configured to answer ONLY
if secs is bigger than a preset value (!!)
http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man8/bootpd.8.html
grep for "reply_threshold_seconds"
function old new delta
udhcpc_main 2573 2623 +50
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-03-12 05:37:54 +01:00
Keith Young
e6bb8d339f
udhcpc: add -B option
...
function old new delta
udhcpc_longopts - 262 +262
add_client_options 218 239 +21
packed_usage 28149 28163 +14
static.udhcpc_longopts 250 - -250
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 2/0 up/down: 297/-250) Total: 47 bytes
Signed-off-by: Keith Young <stripydog7@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-03-07 03:19:42 +01:00
Denys Vlasenko
e3b1a1fd28
Replace "depends on PLATFORM_LINUX" with "select PLATFORM_LINUX"
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-02-26 22:24:08 +01:00
Vladislav Grishenko
5827167338
udhcpd: optional IP selection based on MAC hash
...
function old new delta
find_free_or_expired_nip 153 225 +72
Signed-off-by: Vladislav Grishenko <themiron@mail.ru>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-02-16 13:31:30 +01:00
Vladislav Grishenko
713e6d78e1
udhcpc: use more correct, and more importantly, more understandable BPF code
...
Signed-off-by: Vladislav Grishenko <themiron@mail.ru>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-02-14 04:50:30 +01:00
Denys Vlasenko
fbea220560
udhcpc: fix a problem with binary-encoded options
...
function old new delta
attach_option 395 413 +18
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-02-06 18:00:58 +01:00
Denys Vlasenko
dd169e8468
eliminate aliasing warnings in traceroute.c and udhcp/socket.c
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-01-20 12:13:23 +01:00
Denys Vlasenko
df1689138e
remove a few aliasing warnings
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-01-16 01:25:34 +01:00
Denys Vlasenko
dc7e5c46b0
libbb unicode: comment out usused function and unused parameter
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2011-01-11 13:08:28 +01:00
Denys Vlasenko
8993c3f260
udhcpc: document SIGUSRn effect in help text
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-12-25 06:21:54 +01:00
Denys Vlasenko
713d241852
dhcpd: reply with NAK to clients in INIT-REBOOT state w/o existing lease
...
We were not responding to them at all.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-11-28 21:51:44 +01:00
Denys Vlasenko
fa5e295600
dhcpd: smaller code: do not look for REQUESTED_IP twice
...
text data bss dec hex filename
883235 936 17192 901363 dc0f3 busybox_old
883219 936 17192 901347 dc0e3 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-11-28 01:10:51 +01:00
Denys Vlasenko
e4dcba1c10
*: whitespace fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-28 18:57:19 +02:00
Denys Vlasenko
0bb35e19a7
udhcpd: reduce stack usage by ~700 bytes. +28 bytes code size
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-10-21 12:33:10 +02:00
Denys Vlasenko
5d374e9b14
udhcpc: exit if iface disappeared; use correct MAC if it changes
...
function old new delta
udhcpc_main 2560 2618 +58
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-20 22:26:38 +02:00
Denys Vlasenko
c72c1d7b31
udhcpc: reduce stack usage by de-inlining routines with on-stack pkt buf
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-20 22:08:16 +02:00
Denys Vlasenko
a5048fa386
udhcpc: periodically reread our ifindex and mac
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-20 21:38:29 +02:00
Denys Vlasenko
b3af65b95d
udhcpc: emit maxsize option in all non-NAK type packets
...
Before, we were sending them only in DISCOVER packets.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-20 21:37:23 +02:00