Nicolas Cavallari and Denys Vlasenko
e5aba88712
ifupdown: allow duplicate interface definitions
...
This patch allow to have multiple interface definitions, much like
Debian's ifupdown. More specifically, it removes the check for a
duplicate definition, so the impact on binary size should be fairly
minimal.
This configuration:
iface eth0 inet static
address 192.168.0.15
netmask 255.255.0.0
gateway 192.168.0.1
iface eth0 inet static
address 10.0.0.1
netmask 255.255.255.0
Will add two addresses to eth0 if ip is used. If ifconfig is used,
the standards methods will likely not stack, but the administrator may
still use the manual method. The DHCP method may work depending on the
DHCP client in use.
This is a fairly advanced feature for power users who knows what they
are doing. There are not many other network configuration systems that
allows multiple addresses on an interface.
Signed-off-by: Nicolas Cavallari <nicolas.cavallari@green-communications.fr >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2016-03-01 18:59:08 +01:00
Denys Vlasenko
352f79acbd
udhcpc: fix OPTION_6RD parsing (could overflow its malloced buffer)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2016-02-26 15:54:56 +01:00
Denys Vlasenko
5bec08cebd
udhcp: trivial shrink
...
function old new delta
dname_dec 337 332 -5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2016-02-26 14:56:18 +01:00
Denys Vlasenko
03718bb274
ntpd: print packet delay in clock update message
...
function old new delta
update_local_clock 820 826 +6
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2016-02-24 01:22:45 +01:00
Denys Vlasenko
8efcc9589b
networking: allow dot at the end of the domain name in dhcp response
...
Patch based on Balaji Punnuru <balaji.punnuru@gmail.com > work.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2016-02-11 17:44:44 +01:00
Denys Vlasenko
383201e725
ntpd: shorter message
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2016-02-10 07:06:31 +01:00
Denys Vlasenko
fc47fcefb6
ntpd: step when |offset| > 1 sec, not 0.125 sec
...
update_local_clock 769 820 +51
recv_and_process_peer_pkt 838 862 +24
reset_peer_stats 137 133 -4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 75/-4) Total: 71 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2016-02-10 06:55:07 +01:00
Felix Fietkau and Denys Vlasenko
f2c043acfc
busybox: fix uninitialized memory when displaying IPv6 addresses
...
After commit 8e74adab01
("libbb: make INET[6]_rresolve use sockaddr2{host,dotted}_noport")
INET_sprint6 uses more than just sin6_addr, it also tries to display the
scope id, which is uninitialized when called from ife_print6.
Signed-off-by: Felix Fietkau <nbd@openwrt.org >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2016-02-01 02:20:25 +01:00
Denys Vlasenko
ce4bc1ed04
iproute: support "scope". Closes 8561
...
function old new delta
iproute_modify 1051 1120 +69
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-12-30 17:32:51 +01:00
Natanael Copa and Denys Vlasenko
1062391365
ifupdown: use -x hostname:NAME with udhcpc
...
The -H NAME is deprecated in udhcpc. See commit
2017d48c0d
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-31 14:19:06 +01:00
Timo Teräs and Denys Vlasenko
028524317d
ifupdown: pass interface device name for ipv6 route commands
...
IPv6 routes need the device argument for link-local routes, or they
cannot be used at all. E.g. "gateway fe80::def" seems to be used in
some places, but kernel refuses to insert the route unless device
name is explicitly specified in the route addition.
Signed-off-by: Timo Teräs <timo.teras@iki.fi >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-26 17:06:12 +01:00
Denys Vlasenko
0269789537
inetd: make FEATURE_INETD_RPC off by default
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-25 20:10:46 +01:00
Ron Yorston and Denys Vlasenko
8814431aca
libiproute: use if_nametoindex
...
Saves 87 bytes. Assuming, of course, all platforms have it.
Signed-off-by: Ron Yorston <rmy@pobox.com >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-24 22:04:36 +02:00
Denys Vlasenko
f98705a00c
dumpleases: string reuse
...
text data bss dec hex filename
926254 906 17160 944320 e68c0 busybox_old
926242 906 17160 944308 e68b4 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-24 20:45:10 +02:00
Isaac Dunham and Denys Vlasenko
d320a1e7a5
dumpleases: new option -d to show time in seconds
...
function old new delta
dumpleases_main 493 534 +41
static.dumpleases_longopts 31 41 +10
packed_usage 30777 30752 -25
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 51/-25) Total: 26 bytes
Signed-off-by: Isaac Dunham <ibid.ag@gmail.com >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-24 20:28:04 +02:00
Denys Vlasenko
334e12ac6a
zcip: ...ad suppress the warning
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-24 19:15:44 +02:00
Denys Vlasenko
49d51598ac
zcip: do not query current time if we won't use the result
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-24 19:14:04 +02:00
Denys Vlasenko
9a51217668
dumpleases: make host names sanitized to shell-friendly condition
...
function old new delta
add_lease 271 298 +27
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-24 04:45:22 +02:00
Denys Vlasenko
59f8475924
httpd: fix heap buffer overflow. Closes 8426
...
function old new delta
send_headers 654 677 +23
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-23 11:49:04 +02:00
Denys Vlasenko
92e1b0826d
wget: make Bartosz's "wget --passive-ftp -nd -t 3" work
...
function old new delta
static.wget_longopts 166 234 +68
wget_main 2608 2610 +2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-20 21:51:52 +02:00
Denys Vlasenko
926d801fa5
libiproute: make rt_addr_n2a() and format_host() return auto strings
...
function old new delta
rt_addr_n2a 56 53 -3
print_addrinfo 1227 1178 -49
print_neigh 933 881 -52
print_rule 689 617 -72
print_tunnel 640 560 -80
print_route 1727 1588 -139
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/6 up/down: 0/-395) Total: -395 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-14 13:56:42 +02:00
Denys Vlasenko
0f296a3a56
libiproute: rename invarg(a,b) to invarg_1_to_2(a,b)
...
invarg(a,b) - "invalid argument", but how a and b enter the message?
invarg_1_to_2(a,b) is somewhat easier to read: "invalid argument 'a' to 'b'"
Audit of usage revealed a number of bad uses, with too long messages.
text data bss dec hex filename
938848 932 17448 957228 e9b2c busybox_old
938788 932 17448 957168 e9af0 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-14 13:21:01 +02:00
Curt Brune and Denys Vlasenko
69934701fd
networking: add 'ip neigh' command
...
This patch ports the 'ip neigh' command, originally written by Alexey
Kuznetsov, <kuznet@ms2.inr.ac.ru >, to busybox.
The base of the port is the version of iproute that shipped with
Debian Squeeze, taken from:
http://http.debian.net/debian/pool/main/i/iproute/iproute_20100519.orig.tar.gz
This patch has actively been used by the Open Network Install
Environment (ONIE) project for over 3 years without incident.
function old new delta
print_neigh - 933 +933
ipneigh_list_or_flush - 742 +742
get_hz - 109 +109
do_ipneigh - 62 +62
do_iproute 2112 2153 +41
packed_usage 30647 30667 +20
ipneigh_main - 14 +14
static.ip_neigh_commands - 12 +12
static.nuds - 9 +9
static.ip_func_ptrs 32 36 +4
print_route 1858 1727 -131
------------------------------------------------------------------------------
(add/remove: 8/0 grow/shrink: 3/1 up/down: 1946/-131) Total: 1815 bytes
Signed-off-by: Curt Brune <curt@cumulusnetworks.com >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-14 12:53:47 +02:00
Denys Vlasenko
7b85ec30b5
*: more BUILD_BUG_ON conversions
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-13 17:17:34 +02:00
Ron Yorston and Denys Vlasenko
4d0c1ea478
wget: shrink code if https isn't supported
...
If FEATURE_WGET_OPENSSL and FEATURE_WGET_SSL_HELPER are both disabled
there's no point in checking for https URLs.
function old new delta
P_HTTPS 6 - -6
.rodata 155501 155469 -32
parse_url 476 423 -53
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/2 up/down: 0/-91) Total: -91 bytes
Signed-off-by: Ron Yorston <rmy@pobox.com >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-13 14:56:22 +02:00
Denys Vlasenko
ab3964db4e
libbb: introduce kernel-style BUILD_BUG_ON()
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-13 14:50:20 +02:00
Denys Vlasenko
f7ad927c20
ftpd: make DIR parameter work for non-root too: chdir to it instead of chroot
...
Unfortunately, chroot() works only for root user, because of attacks
on setuid binaries (make DIR/lib/ld-linux.so a shell, hardlink to
a setuid binary, chroot to DIR, execute it and get root shell).
function old new delta
ftpd_main 2160 2180 +20
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-13 13:49:53 +02:00
Denys Vlasenko
6390a3a4e5
whitespace fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-13 01:51:37 +02:00
Denys Vlasenko
02859aaeb2
use auto_string() where appropriate to kill a few statics
...
Custom linker script 'busybox_ldscript' found, using it
function old new delta
static.str 4 - -4
static.passwd 4 0 -4
bb_ask 322 311 -11
ether_print 63 47 -16
UNSPEC_print 82 66 -16
INET_sprint 59 38 -21
INET6_sprint 54 30 -24
make_human_readable_str 292 235 -57
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/7 up/down: 0/-153) Total: -153 bytes
text data bss dec hex filename
939880 992 17480 958352 e9f90 busybox_old
939736 992 17456 958184 e9ee8 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-09 18:16:40 +02:00
Denys Vlasenko
e52da5570e
libbb: auto_string() for efficient handling of temporary malloced stirngs
...
Use it in libiproute: get rid of one static string buffer.
function old new delta
auto_string - 51 +51
ll_index_to_name 10 49 +39
buffer_fill_and_print 169 178 +9
scan_recursive 378 380 +2
decode_one_format 732 734 +2
cmdputs 334 332 -2
static.cur_saved 4 1 -3
static.nbuf 16 - -16
printable_string 94 57 -37
ll_idx_n2a 53 - -53
------------------------------------------------------------------------------
(add/remove: 2/2 grow/shrink: 4/3 up/down: 103/-111) Total: -8 bytes
text data bss dec hex filename
939880 992 17496 958368 e9fa0 busybox_old
939880 992 17480 958352 e9f90 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-09 17:59:56 +02:00
Denys Vlasenko
f2bf20f5d5
udhcpc: fix for some Android toolchain breakage
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-08 18:13:57 +02:00
Denys Vlasenko
8403b01217
iproute: more string reuse
...
text data bss dec hex filename
936892 932 17676 955500 e946c busybox_old
936843 932 17676 955451 e943b busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-08 17:15:08 +02:00
Christoph J. Thompson and Denys Vlasenko
d1eea8db92
iproute: don't hardcode the path to config files
...
Allows using an alternate path for config files.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
Signed-off-by: Christoph J. Thompson <cjsthompson@gmail.com >
Signed-off-by: Michael Bestas <mikeioannina@gmail.com >
2015-10-08 17:06:06 +02:00
Denys Vlasenko
413feca279
ip: increased max ID for /etc/iproute2/rt_tables to 1023
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-08 15:10:10 +02:00
Denys Vlasenko
3d8d5e8ad4
libiproute: use itoa() where appropriate
...
function old new delta
rtnl_rtprot_a2n 31 88 +57
print_tunnel 647 640 -7
print_route 1865 1858 -7
print_linkinfo 820 812 -8
print_addrinfo 1241 1227 -14
rtnl_rttable_n2a 53 38 -15
rtnl_rtscope_n2a 53 38 -15
rtnl_rtrealm_n2a 53 38 -15
rtnl_dsfield_n2a 61 38 -23
rtnl_rtntype_n2a 118 89 -29
print_rule 724 689 -35
ipaddr_list_or_flush 1293 1253 -40
rtnl_rtprot_n2a 53 - -53
rtnl_rtprot_initialize 63 - -63
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 1/11 up/down: 57/-324) Total: -267 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-08 13:02:28 +02:00
Denys Vlasenko
7f3a2a2256
join some common strings, -400 bytes
...
function old new delta
print_intel_cstates 499 511 +12
file_insert 355 364 +9
dpkg_main 2944 2940 -4
ifenslave_main 645 640 -5
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/2 up/down: 21/-9) Total: 12 bytes
text data bss dec hex filename
937564 932 17676 956172 e970c busybox_old
937164 932 17676 955772 e957c busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-08 11:24:44 +02:00
Denys Vlasenko
d60752f8c9
build system: -fno-builtin-printf
...
Benefits are: drops reference to out-of-line putchar(), fixes a few cases
of failed string merge.
function old new delta
i2cdump_main 1488 1502 +14
sha256_process_block64 423 433 +10
sendmail_main 1183 1185 +2
list_table 1114 1116 +2
i2cdetect_main 1235 1237 +2
fdisk_main 2852 2854 +2
builtin_type 119 121 +2
unicode_conv_to_printable2 325 324 -1
scan_recursive 380 378 -2
mkfs_minix_main 2687 2684 -3
buffer_fill_and_print 178 169 -9
putchar 152 - -152
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 7/4 up/down: 34/-167) Total: -133 bytes
text data bss dec hex filename
937788 932 17676 956396 e97ec busybox_old
937564 932 17676 956172 e970c busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-07 22:42:45 +02:00
Denys Vlasenko
2007ef5c3c
wget: make it possible to have both SSL helpers configured
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-07 02:40:53 +02:00
Denys Vlasenko
4271698fea
ifplugd: discovered why it needed net/ethernet.h: just for ETH_ALEN
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-07 02:02:56 +02:00
Denys Vlasenko
78fb6ea63a
ssl_helper: tweaks discovered while building 32-bit version
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-07 02:00:11 +02:00
Denys Vlasenko
1c6c670ed4
wget: make openssl/ssl_helper choice configurable
...
I got sick of not being able to wget a https file...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-07 01:39:40 +02:00
Denys Vlasenko
5fa6d1a632
Aboriginal linux/musl build fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-10-05 11:15:43 +02:00
Denys Vlasenko
5b865deb3f
ping: fix recently introduced build breakage for non-optimizing builds
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-08-25 16:26:31 +02:00
Alex Dowad and Denys Vlasenko
65c501a093
ifupdown: 'prio' should have been 'metric' in static_up and static_up6
...
When a static interface with explicit gateway and metric in /etc/network/interfaces
is enabled using 'ifup', and further, the BusyBox 'ip' applet is enabled, the
following error message appears at the console (and no default route is added):
ip: either "to" is duplicate, or "prio" is garbage
Tracing ifup reveals that it is attempting to run the following shell command:
ip route add default via <GW> dev <DEVICE> prio <METRIC>
'ip' does not understand the 'prio' argument, causing this error. With 'metric',
it works fine.
Signed-off-by: Alex Dowad <alexinbeijing@gmail.com >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-08-24 20:18:36 +02:00
Denys Vlasenko
c52cbea2bb
libbb: add setsockopt_foo helpers
...
function old new delta
setsockopt_int - 23 +23
do_load 918 934 +16
setsockopt_SOL_SOCKET_int - 14 +14
setsockopt_keepalive - 10 +10
setsockopt_SOL_SOCKET_1 - 10 +10
buffer_fill_and_print 169 178 +9
setsockopt_1 - 8 +8
nfsmount 3560 3566 +6
redirect 1277 1282 +5
tcpudpsvd_main 1782 1786 +4
d6_send_kernel_packet 272 275 +3
i2cget_main 380 382 +2
ed_main 2544 2545 +1
scan_recursive 380 378 -2
nbdclient_main 492 490 -2
hash_find 235 233 -2
cmdputs 334 332 -2
parse_command 1443 1440 -3
static.two 4 - -4
ntpd_main 1039 1035 -4
const_int_1 4 - -4
const_IPTOS_LOWDELAY 4 - -4
RCVBUF 4 - -4
ntp_init 474 469 -5
change_listen_mode 316 310 -6
uevent_main 416 409 -7
arping_main 1697 1690 -7
telnet_main 1612 1603 -9
socket_want_pktinfo 42 33 -9
setsockopt_reuseaddr 21 10 -11
setsockopt_broadcast 21 10 -11
httpd_main 772 757 -15
get_remote_transfer_fd 109 94 -15
make_new_session 503 487 -16
ftpd_main 2177 2160 -17
read_bunzip 1896 1866 -30
common_traceroute_main 4099 4058 -41
common_ping_main 1836 1783 -53
------------------------------------------------------------------------------
(add/remove: 5/4 grow/shrink: 8/21 up/down: 111/-283) Total: -172 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-08-24 20:00:17 +02:00
Denys Vlasenko
2db782bc7b
Merge setsockopt error messages
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-08-24 20:00:17 +02:00
Denys Vlasenko
729b70646c
traceroute: fix help text
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-08-24 20:00:17 +02:00
Denys Vlasenko
fb52769f4a
arping: make help text clearer
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-08-16 19:56:16 +02:00
Ron Yorston and Denys Vlasenko
72dcbe4df7
ipcalc: fix trivial usage message
...
Signed-off-by: Ron Yorston <rmy@frippery.org >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-08-15 21:15:27 +02:00
Denys Vlasenko
a83e3ae172
zcip: tweak comments and make unsigned division more obvious
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2015-08-04 15:06:38 +02:00